说明
在我们开发项目的过程中,有时候会遇到RelativeLayout或者LinearLayout父布局点击没反应,原因就是 RelativeLayout或者LinearLayout 里边包裹的子控件比较多,比如有 TextView、ImageView、Button、CheckBox等控件,在你点击父布局时如果没反应, 绝大部分远景就是这些子控件响应了点击事件,所以就会导致RelativeLayout或者LinearLayout父布局点击没反应,解决方式其实很简单,就是给RelativeLayout或LinearLayout及其所有子控件全部设置点击事件,这样的话,无论用户点击的是父布局还是父布局中的子控件,都是可以响应点击事件的,常见解决方式有2种,【这个只是自己总结的,或许还有更多。】-
解决方式
方法一:
给所有子控件的布局设置android:focusable="false" 和 android:clickable="false",不让子控件获取事件,然后给父布局设置android:focusableInTouchMode="true" 或者 android:clickable="false" ;如下图所示
图片.png
如果方法一不起作用的话,可以尝试方法二
方法二
图片.png