参考:点击打开链接 测试了下发现在xml文件和java代码中设置共享父类状态产生的效果不同。。
只有当view 为no clickable时,例如textview,linearlayout 点击父控件时,view会使用父控件的状态。
1.子View LinearLayout, android:state_pressed="true" 颜色变为红色。
2.点击父控件,该view背景变为红色。
3监听该view的onClickListner事件
监听父控件,背景不会变为红色,因为此时该view已经变为clickable.所以不能使用父控件的状态。
要想让其使用父控件状态,在xml中
android:duplicateParentState="true"
但在代码中设置却不起效果。疑问??????
发现点:
1.clickable的view 默认不能共享使用父view的状态,若要使其共享,xml中添加上述代码。
2.no clickable的控件默认就能共享父view的状态。若要使其不共享,使其变为clickable,例如setOnClickListener或android:clickable="true"