代号一 具有大型列表对象的表单内容不断反弹回表单顶部



我正在尝试使用 BoxLayout 创建一个具有相当大的项目数量(> 20 或超过屏幕高度的数字)的容器作为可滚动列表,它可以工作(即您可以看到内容在滑动时上下移动),但尝试查看列表底部的项目总是导致内容指针回到列表顶部。 期望向下滚动列表会将视图锁定到滚动操作结束的位置。 我也尝试使用TableLayout,但结果是一样的。 有什么想法吗?下面的主窗体也有 setScrollableY() 集。

int rows = 30;
Form hi = new Form("Test",new BoxLayout(BoxLayout.Y_AXIS));
hi.setScrollableY(true);
Container contents = new Container(new BoxLayout(BoxLayout.Y_AXIS));
contents.setScrollableY(true);
hi.add(contents);
for (int i = 0 ; i < rows;i++)
{
Label type = new Label("ROW+"+i);
type.setName(i+"");
type.setTextPosition(Component.TOP);
contents.addComponent(type);
}
mainform.addComponent(hi);

删除此行:

contents.setScrollableY(true);

层次结构中只能有一个可滚动容器,并且您选择了Form。当您嵌套可滚动对象时,手势会被其中一个选择,这成为一个问题。与桌面不同,您可以在桌面上以精细的方式单击特定的滚动条,而在触摸设备中,您无法选择要滚动的特定容器。

最新更新