
android: 自定义一个ViewGroup实现多个view之间的水平拖动切换, 但是如果view里面放了一个ListView的话
android:自定义一个ViewGroup实现多个view之间的水平拖动切换,但是如果view里面放了一个ListView的话,在ListView水平拖动就无效了.原因...
android : 自定义一个ViewGroup实现多个view之间的水平拖动切换, 但是如果view里面放了一个ListView的话, 在ListView水平拖动就无效了 . 原因是listView把onTouch给消费掉了,然后我自定义一个ListView的子类, 重写它的onTouchEvent()方法,返回false,将事件向父view传递. 这样的话 我的view就可以水平拖动了, 但是listView的上下拖动又不行了.. 请问下,怎么样能实现. 既有listView的上下水平拖动,也有View水平拖动的功能?
展开
3个回答
展开全部
过了这么久,不知道你解决这个问题没。今天我也遇到了同样的问题,不过算是找到了解决方法。你可以重写ViewGroup的onInterceptTouchEvent方法,像这样子:
public boolean onInterceptTouchEvent(MotionEvent ev) {
this.onTouchEvent(ev);
return super.onInterceptTouchEvent(ev);
}
这个函数会截获事件并传递。在传递之前先执行onTouchEvent事件。
然后再在onTouchEvent写逻辑,注意onTouchEvent要返回true。
public boolean onInterceptTouchEvent(MotionEvent ev) {
this.onTouchEvent(ev);
return super.onInterceptTouchEvent(ev);
}
这个函数会截获事件并传递。在传递之前先执行onTouchEvent事件。
然后再在onTouchEvent写逻辑,注意onTouchEvent要返回true。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
展开全部
你在listview的ontouch里面做一下识别,如果是水平手势的话,就返回false,上下手势则进行listview本身的touch
追问
这方法试过了。 不顶用!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能不能重写disptchTouchEvent试试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询