我想使用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); }