tags:

views:

62

answers:

2

Hello, I am trying to make a custom control for the BlackBerry Storm using SDK v5.0. This control needs to disable scrolling while the user is dragging elements within a field. The problem is that even if I my control consumes every single touch event send to it, when the user lifts their finger off the screen it still flings up or down as if its finishing a scroll action.

Does anyone know of a way to prevent this from happening or what I might be doing wrong ?

Thank you.

A: 

I have had problem with moving the finger off the screen and I can't say I found a solution for that. On the other hand, have you tried changing the scrolling property of the manager or the screen (or the screen itself) with NO_SCROLL?

ADB
A: 

I guess I should have posted this earlier.

There seems to be a bug in the MainScreen class which prevents setScrollingInertial(false) from having any effect. To get around this issue and solve the problem I did the folloing:

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);
}
Some guy with a headache