我想使用SDK v5.0为BlackBerry Storm定制控件。 当用户拖动字段内的元素时,此控件需要禁用滚动。问题在于,即使我的控件消耗了发送给它的每一次触摸事件,但当用户将手指从屏幕上抬起时,它仍然会闪烁起来,好像它完成了滚动操作一样。消费所有touchEvents不会阻止黑莓风暴滚动
有谁知道一种方法来防止这种情况发生,或者我可能做错了什么?
谢谢。
我想使用SDK v5.0为BlackBerry Storm定制控件。 当用户拖动字段内的元素时,此控件需要禁用滚动。问题在于,即使我的控件消耗了发送给它的每一次触摸事件,但当用户将手指从屏幕上抬起时,它仍然会闪烁起来,好像它完成了滚动操作一样。消费所有touchEvents不会阻止黑莓风暴滚动
有谁知道一种方法来防止这种情况发生,或者我可能做错了什么?
谢谢。
我有把手指从屏幕上移开的问题,我不能说我找到了解决方案。另一方面,你是否尝试用NO_SCROLL改变管理器或屏幕(或屏幕本身)的滚动属性?
我想我应该早些发布。
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); }