android:duplicateParentState="true"在代码和XML设置效果的差异

参考:点击打开链接 测试了下发现在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" 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值