2012-04-19 1 views
0

Мой LWUIT приложение имеет 3 формы:Как реализовать перетаскивание в LWUIT?

1) FormA 2) FormB 3) FormC

Текущая форма отображается на экране FormB.

Случай 1:

Если пользователь пойло его пальцем влево на его сенсорном экране телефона, я хочу LWUIT, чтобы захватить этот событие и отображение FormC

Вариант 2:

Если пользователь пойло его палец ПРАВО на своем телефоне с сенсорным экраном, я хочу, чтобы LWUIT зафиксировал это событие . Форма и вид формы 0A

Как это сделать? Я думаю, что он должен что-то сделать с помощью события перетаскивания, но не уверен, как его реализовать.

Спасибо.

ответ

1
just need to override pointerDragged method in form and get/cal its X,Y positions and display another form. 


new Form() 
{ 

protected void pointerDragged(int x, int y) { 
if(x,y....) 
{ 
form3.show(); 

}else 
{ 
from1.show(); 
} 
super.pointerDragged(x,y); 

} 

}; 

here x,y can be calculated based on screen resolutions and components u have added to it. 
+0

Я реализовал метод pointerPressed() и pointerReleased(), вычислил разницу между координатами, а затем принял решение показать конкретную форму ... – Nikhil

+0

Эй, пожалуйста, скажите мне, как создать условие if здесь? Это не работает для меня. Существует только один x, y здесь. Как определить точки, где началось перетаскивание, и точки, где закончилось перетаскивание? Я хочу рассчитать разницу между этими двумя точками, а затем принять решение о том, чтобы показать форму слева или форму справа – Nikhil

0

Вместо трех форм использовать 3 контейнера в 1 форме и setScrollableX (true) и добавить все компоненты в соответствующие контейнеры.

+1

Это не то, что я хочу .. – Nikhil

+0

ОК, тогда вы пробовали с помощью метода PointerPressed/Pointerdragged.? Переопределите эти методы и получите X, Y pos (any) после запуска события просто вызовите другую форму .show() –

+0

ok ... мне нужно добавить какой-либо конкретный eventlistener в мою форму? Все, что мне нужно - это перетаскивание указателя и направление, в которое оно перетаскивается. Тогда я могу использовать FORMNAME.show(). можете ли вы сказать мне, как это сделать? – Nikhil

1

Используйте компонент Tabs с 3 контейнерами, он поддерживает Swipe. Вы можете сами настроить вкладки.