我有一个 VerticalFieldManager 的自定义扩展,它会自动滚动自身以向用户显示数据。在 VFM 的上方和下方,还有用户可以与之交互的其他组件。在 OS5 上,这完全符合我的预期。在 OS6 上,通过内置的“平滑滚动”功能,当用户尝试从 VFM 上方的字段滚动到下方的字段时,VFM 会根据用户的输入进行滚动,然后再将焦点转移到 VFM 下方的字段。
有什么方法可以覆盖此行为并告诉操作系统不要管我的 VFM 吗?在 OS5 中,这很简单,只要让 VFM 不可聚焦即可。
我曾尝试摆弄 VFM 上的垂直调整和垂直量化,但没有成功。 VFM 从未真正获得焦点,操作系统只是滚动它。我假设操作系统认为它有帮助,但事实并非如此! :)
最佳答案
您可能会在父管理器中使用 nextFocus()
来跳过中间的 VFM。也许还覆盖 onFocus()
中间的 on 只是转到下一个。我知道它应该通过将其设置为不可聚焦来执行此操作,但可能会重写 isFocusable()
以返回 false。
关于blackberry - 如何覆盖 OS 6 中的默认滚动行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027859/