Использование всех событий touchEvents, не препятствующих прокрутке на шторме ежевики - PullRequest
1 голос
/ 04 мая 2010

Я пытаюсь создать пользовательский элемент управления для BlackBerry Storm, используя SDK v5.0. Этот элемент управления должен отключить прокрутку, когда пользователь перетаскивает элементы внутри поля. Проблема заключается в том, что даже если мой элемент управления использует каждое отправленное ему событие касания, когда пользователь отрывает палец от экрана, он все равно поднимается или опускается, как будто завершает действие прокрутки.

Кто-нибудь знает, как это предотвратить или что я могу делать неправильно?

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 мая 2010

Полагаю, я должен был опубликовать это раньше.

Кажется, в классе 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);
}
0 голосов
/ 05 мая 2010

У меня были проблемы с перемещением пальца за пределы экрана, и я не могу сказать, что нашел решение для этого. С другой стороны, вы пытались изменить свойство прокрутки менеджера или экрана (или самого экрана) с помощью NO_SCROLL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...