2010-05-04 7 views
1

SDK v5.0을 사용하여 BlackBerry Storm에 대한 사용자 지정 컨트롤을 만들려고합니다. 이 컨트롤은 사용자가 필드 내에서 요소를 드래그하는 동안 스크롤을 비활성화해야합니다. 문제는 비록 내 컨트롤이 모든 단일 터치 이벤트를 소비하더라도 사용자가 화면에서 손가락을 들어 올렸을 때 스크롤 동작을 마친 것처럼 위로 또는 아래로 튀어 오르는 것입니다.검은 딸기 폭풍에 대한 스크롤을 막지 않는 모든 touchEvents 사용

누구나 이런 일이 발생하지 않도록하거나 내가 잘못하고있는 것을 방지 할 방법을 알고 있습니까?

감사합니다.

답변

0

화면에서 손가락을 움직이는 데 문제가있어 해결책을 찾았다 고 말할 수 없습니다. 반면에 NO_SCROLL을 사용하여 관리자 나 화면 (또는 화면 자체)의 스크롤 속성을 변경해 보았습니까?

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); 
} 
관련 문제