This topic created in 5531 days ago, the information mentioned may be changed or developed.
android有两种手势识别方式:一类是触摸屏手势识别,另一类是输入法手势识别。两种方式我都可以分别实现,但是我想在一个应用中同时实现就不行了。
触摸屏方式我所实现的是左右滑动切换activity,是在一个listview上监听的,数据的显示也在listview上
输入法手势识别需要一个GestureOverlayView,在这个控件上绘制图形。由用户自定义手势功能
也不能用以个FrameLayout,将两种控件重叠显示。
问:该怎么样使两种手势识别方法同时有效,又不影响我应用程序数据的显示和操作。
3 replies • 1970-01-01 08:00:00 +08:00
 |
|
1
obiwong May 9, 2011
同一时刻android只能有一个view能接受输入,但你要的是将输入「同时」分发到两个view:一个GestureOverlayView,另一个ListView。换一种理解是GestureOverlayView收到输入事件处理完后不丢弃,继续将事件传递给Listview。按照这个思路,设置GestureOverlayView的OnTouchListener, 让它再调用Listview的onTouch方法并返回false就行了。
Layout大概是:
<FrameLayout xmlns:android=... layout_w="fill_p" layout_h="fill_p"> <ListView layout_w="fill_p" layout_h="fill_p"/> <android.gesture.GestureOverlayView layout_w="f_p" layout_h="f_p"/> </FrameLayout>
Activity.onCreate代码大概是:
GestureOverlayView gov; gov.setOnTouchListener(new OnTouchListener() { onTouch(MotionEvent me) { list.onTouchEvent(me); return false; }}
|