首页 > 解决方案 > 底部带有缩略图的轮播

问题描述

在 Codenameone 应用程序中,我正在尝试开发一个底部带有缩略图列表的轮播。我使用 Tabs 控件在表单中心以轮播样式显示文件(图像、视频、文本、按钮等差异类型),并使用另一个 Tabs 控件在底部显示缩略图(第一个轮播文件)的形式。当用户在底部轮播中选择缩略图时,相应的组件应显示在第一个轮播中。

hi.add(BorderLayout.CENTER, mainCarousel);
hi.add(BorderLayout.SOUTH, bottom_tab);

bottom_tab.addSelectionListener((i1, i2) -> {            
       // bottom_tab.getTabComponentAt(i2).addPointerPressedListener((i) -> {
            mainCarousel.getTabComponentAt(i2).setVisible(true);
            mainCarousel.getTabComponentAt(i2).repaint();
       // });            
    });

但是该组件没有显示在中央轮播中。此外,我尝试捕获事件 addPointerPressedListener,但是当我选择缩略图图像时它没有被触发。

在此处输入图像描述

标签: codenameone

解决方案


您不能将选项卡组件设置为可见/不可见以显示/隐藏它们。那是行不通的。我猜您想要的是底部 UI 的水平列表,类似于此处的答案。

我建议使用总是释放的指针。请注意,这只会传递给可聚焦的组件或表单。为了确保您获得事件,您可以在表单上注册一个指针释放侦听器。


推荐阅读