Android中LinearLayout的点击事件如何包含内部的控件?
天蓬老师
天蓬老师 2017-04-17 17:20:20
[Android讨论组]

一个LinearLayout里面有一个ImageView和一个TextView,想在点击这个Layout的时候执行一个事件,于是给LinearLayout设置了onClickListener,但发现只有在点击ImageView之外部分、LinearLayout之内的部分时,才会响应点击操作,是不是ImageView把LinearLayout盖住的部分就不响应父控件LinearLayout的点击事件了呢。

如何才能让点击ImageView的时候也响应这个LinearLayout的点击事件呢,只能再给ImageView绑定相同的监听器吗?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
怪我咯

LinearLayout中添加android:descendantFocusability=”blocksDescendants”

怪我咯

你这问的,在imagview的onclick方法里调用linearlayout.performclick()就好了。

阿神

继承一下LinearLayout,比如MyLinearLayout,然后覆写onInterceptTouchEvent,返回值依然用false,表示事件不会被截断(截断就是说事件依然会传给ViewGourponTouchEvent方法)

然后你就可以在onInterceptTouchEvent干你想干的事情,不管你点这个LinearLayout里面的哪个地方,都会先调用这个方法。

参考:
https://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号