(转)Android LinearLayout依据状态切换图片(模拟按钮的效果)

(转)Android LinearLayout根据状态切换图片(模拟按钮的效果)

 

在Android中Button可以根据选中,点击等状态切换图片,我想用LinearLayout实现类似的功能,

但是默认情况下pressed状态“容器类”(继承于ViewGroup的类)是接收不到的,

所以LinearLayout的按下就没有效果,后来分析代码,可以通过设置setAddStatesFromChildren

方法获得内部View的状态,就可以取得pressed状态。

linearLayout.setAddStatesFromChildren(true);

 

还有一个相反的方法setDuplicateParentStateEnabled,内部类获得外部容器类的状态,

这个方法和setAddStatesFromChildren不能同时设置,同时设置会产生异常。