将触摸事件传递到父视图
|
我有一个自定义“ 0”,在其中实现了触摸事件,所以我
能够使用触摸屏在屏幕上滚动。
我的布局层次结构如下所示:
<ViewSwitcher>
<LinearLayout>
<ListView />
</LinearLayout>
<LinearLayout>
<ListView />
</LinearLayout>
</ViewSwitcher>
现在的问题是触摸事件正在被
ListViews
,无法切换视图。当我工作正常
没有ListViews
。我需要能够滚动浏览
查看并滚动ListView
。
我该如何解决?
编辑:我还需要ListView
项目才能单击。
提前致谢!
没有找到相关结果
已邀请:
9 个回复
坛沤疲撑拆
通过覆盖ѭ10,我可以拦截活动中的触摸事件。然后我在
中调用了
来处理
的切换。最后,通过返回
,确保
不会消耗事件。
bab
茶鬼失形
拟僚疽刊剔
处理函数,并决定(取决于touch事件)是要处理它(并返回true)还是将其传递给父级View。 问题还在于,一旦视图处理了触摸事件,它将获取所有剩余的触摸事件。 从Android文档: onTouch()-这将返回一个布尔值 指明您的听众 消耗此事件。重要的 事情是这个事件可以有 跟随每个动作 其他。因此,如果您在以下情况下返回false 收到向下动作事件,您 表示您还没有消耗 该事件,也没有兴趣 在此事件的后续操作中。 因此,您不会被要求任何 事件中的其他动作,例如 作为手指手势,或者最终 向上动作事件 因此,例如,如果您希望垂直移动以滚动列表并在同一触摸事件期间(不松开手指),则希望水平移动来切换视图,这将是非常具有挑战性的。 但是,如果您可以使用手势作为示例,或者在自定义视图中处理所有事情,并根据MotionEvent的不同,将命令发送到ViewSwitcher。
耐钨徒
抹持奠糙驰
功飘
苛肠倒俱
中插入一个呼叫以处理
,但是在这种情况下,您还必须覆盖
以返回true,否则将仅传递手势的第一个
DOWN。 这是可触摸的包装容器:
和班级:
这是“ 25”参考:
这
:
使用此工具加载可触摸容器片段和包含的片段:
席陋临拈