Определите позиции касания экрана для BlackBerry - PullRequest
1 голос
/ 01 февраля 2011

Я занимаюсь разработкой приложения для электронных книг. У меня есть несколько растровых изображений для перехода слева направо и справа налево. Я не добавляю никаких полей на экран. Как позволить пользователю определять щелчки на экране, используя TouchEvent для растровых переходов. Мне нужно разделить экран на 3 части, чтобы каждая из них имела ширину 120 пикселей для нажатия растровых изображений.

Я не могу реализовать FieldChangeListener, так как он не поддерживает требования приложения.

Я хочу использовать следующий код для разделения экрана. Это правильный код?

protected boolean touchEvent(TouchEvent message) {
        if (message.getEvent() == TouchEvent.CLICK) {
            int x = message.getX(1);
            int y = message.getY(1);
            XYRect myArea = new XYRect();
            getExtent(myArea);
            myArea.setLocation(0, 0);
            if (myArea.contains(x, y)) {
                Dialog.alert("Click successful!");
            }
        }
        return super.touchEvent(message);

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

Ну, в таком случае, Коушик, у меня есть другое решение вашей проблемы.

Вы можете создать на экране добавление HorizontalFieldManager, к которому добавлен HORIZONTAL_SCROLL в аргументах

, а затемпродолжайте добавлять свои изображения в этот HorizontalFieldManager.Изображения будут добавляться непосредственно одно за другим, и вы можете менять местами каждое изображение с помощью простых событий касания. На самом деле вам не нужно писать какой-либо конкретный код для навигации

Пусть изображения будут BitmapFields

ДляВыглядит лучше и чувствуется, что вы можете сделать сфокусированное BitmapField для увеличения.

Вы также можете добавить к этому больше, например, позволить каждому изображению занимать большую часть экрана, а другим изображениям, которые видны незначительно, чтобы помочь пользователю определить, что там.есть изображения рядом с ним Чтобы занять весь экран, вам нужно установить макет в методе sublayout () объекта HorizontalFieldManager

Надеюсь, это решит вашу проблему.Спасибо.

0 голосов
/ 29 марта 2011

Я думаю, что приведенный выше код не сможет удовлетворить ваши требования

Если вы пытаетесь пролистывать изображения с помощью сенсорных событий, вы можете использовать PictureScrollField, но, сомневаюсь, что он работает в шторм

Он должен хорошо работать в storm2, так как он использует ОС версии 6.0

Используя это, вы фактически можете пролистывать изображения слева направо, и каждое изображение будет занимать весь экран

Если предположить, что PictureScrollFieldне совместим с вашим устройством, тогда вы можете использовать поле, создав собственный класс и добавив в него поле

Пожалуйста, дайте мне знать, если проблема решена

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