我正在尝试使用SDK v5.0为BlackBerry Storm进行自定义控制。 当用户拖动字段中的元素时,此控件需要禁用滚动。问题是,即使我的控制器消耗了发送给它的每一个触摸事件,当用户将手指从屏幕上抬起时,它仍然向上或向下晃动,就好像它完成滚动动作一样。
有没有人知道如何防止这种情况发生或我可能做错了什么?
谢谢。
答案 0 :(得分:1)
我想我应该早点发布这个。
MainScreen类中似乎存在一个错误,它阻止setScrollingInertial(false)产生任何影响。为了解决这个问题并解决问题,我做了以下工作:
public static void main(String[] args) { MainScreen ms = new MainScreen(NO_HORIZONTAL_SCROLL | NO_VERTICAL_SCROLL); VerticalFieldManager vfm = VerticalFieldManager() { public VerticalFieldManager() { super(HORIZONTAL_SCROLL | VERTICAL_SCROLL); setScrollingInertial(true); } protected boolean touchEvent(TouchEvent message) { int code = message.getEvent(); boolean result = super.touchEvent(message); if(code == TouchEvent.DOWN) { setScrollingInertial(!result); } return result; } }; ms.add(vfm); }
答案 1 :(得分:0)
我有把手指从屏幕上移开的问题,我不能说我找到了解决方法。另一方面,您是否尝试使用NO_SCROLL更改管理器或屏幕(或屏幕本身)的滚动属性?