换言之,就像Android Button一样,基于布局文件,把LinearLayout做成一个可以在用户交互触摸点击时候背景颜色有所改变的控件。
具体方法:
(1)在LinearLayout属性中写:
android:background="@drawable/selector"
例如:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/selector" android:clickable="true" android:orientation="vertical" > </LinearLayout>
activity_main.xml中设置了background,在drawable下新建selector.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@color/red_transparent"/> <item android:state_pressed="true" android:drawable="@color/red_transparent" /> <item android:drawable="@color/red"/> </selector>
selector.xml中又引用了自定义颜色,那么就需要在values目录下建立color.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="red">#ff5654</color> <color name="red_transparent">#ddff5654</color> </resources>
Android LinearLayout使用selector改变交互时背景颜色
原文:http://blog.csdn.net/zhangphil/article/details/44671957