我在黑莓应用程序上进行垂直滚动时遇到问题。 它在触摸屏上运行得很好,但是当使用触控板滚动时,它会从顶部位置跳到底部位置。
有人有过类似的问题吗?知道我能尝试什么吗?
以下是我的代码中的代码段。我有一个静态背景图像,字段在其上滚动:
vertical_main = new VerticalFieldManager(USE_ALL_WIDTH |NO_VERTICAL_SCROLL |USE_ALL_HEIGHT);
vertical_AllTags=new VerticalFieldManager(USE_ALL_WIDTH | VERTICAL_SCROLL);
// i then add all the fields to vertical_AllTags
vertical_main.add(vertical_AllTags);
vertical_main.invalidate();
add(vertical_main);
提前感谢您的帮助
编辑: 给每个领域重点的建议是正确的。唯一需要做的其他部分是当你为一个字段覆盖onFocus方法时,你需要调用super()函数,以便仍然调用onFocus方法的所有其他正常部分:
protected void onFocus(int direction) {
text_select=true;
invalidate();
super.onFocus(direction);
}
protected void onUnfocus() {
text_select=false;
invalidate();
super.onUnfocus();
}
非常感谢你。
答案 0 :(得分:1)
这种情况发生在TrackWheel Scrolling中,它会向上滚动到下一个聚焦字段。我认为你不会在 vertical_AllTags 之间给予任何关注。
您可以使用 NullField()类解决此问题。像...
add(new NullField(Field.FOCUSABLE))
当您添加添加(新NullField(Field.FOCUSABLE)); 时,您将获得您不知道的空焦点。您可以浏览触摸屏等所有字段。
答案 1 :(得分:1)
这是初学者非接触式设计的常见问题。 如果你想逐字段滚动,有两种方法
1)你需要把焦点放在所有领域,然后它将来到现场 现场焦点下载
另一种方式意味着你不需要专注于每一个领域
2)只需在每个字段后添加NullField,并将焦点放在所有字段上 NullFields然后你的轨迹球将按字段显示你的屏幕
答案 2 :(得分:0)
您可以通过添加两个垂直字段管理器来解决该问题。请查看此post
中的代码