<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" > <bitmap android:src="@drawable/back" /> </item> <item android:state_pressed="true"> <bitmap android:src="@drawable/back_preessed"/> </item> </selector>
1.当按钮被按下的状态时候:
一般按钮被按下,我们都是这样设置高亮的:
对selector的选项简单了解下:
android:state_selected是选中(用于RaidoButton的)
android:state_focused是获得焦点
android:state_pressed是点击
android:state_enabled是设置是否响应事件,指所有事件
关于每个<item>里面能放置什么?常用的有这几种:
<shape ></shape>
<color></color/>
<bitamp><bitmap>
我们根据各种组件来说:
1.Button组件的话:一般的高亮展示为:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false"> <shape android:shape="rectangle"> <corners android:radius="5dp"> </corners> <gradient android:startColor="@color/orange_define" android:endColor="@color/orange_define" android:angle="90"/> </shape> </item> <item android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:radius="5dp"/> <gradient android:startColor="#b0ff4208" android:endColor="#b0ff4208" /> </shape> </item> </selector>
button点击,一般常用的高亮展示就是:shape
填充:设置填充的颜色
<solid android:color="@android:color/white"/><!-- 填充的颜色 -->
圆角:同时设置五个属性,则Radius属性无效
<corners android:radius="9dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp"/><!-- 设置圆角半径 -->
描边:stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth="5dp"
ndroid:dashGap="3dp"
其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。
渐变:当设置填充颜色后,无渐变效果。angle的值必须是45的倍数(包括0),仅在type="linear"有效,不然会报错。android:useLevel 这个属性不知道有什么用。
一般按钮都是按下有个透明度:(在六位的颜色码前面加入两位)默认是FF,如果半透明:7F,其实就是0-255,数值越大,透明度越小。
更多详情可以看这篇博客:http://blog.csdn.net/by317966834/article/details/8773518
2.TextView被点击如何高亮:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:color="@color/green_define" ></item> <item android:state_pressed="true" android:color="@color/green_define_half" ></item> </selector>一般我们看到新浪微博那种,是如何高亮的:就是这样高亮的:
但是请注意,一定要对TextView进行按下的监听注册,XML文件才有效果。
3.ImgaeView,ImageBtton的高亮:
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" > <bitmap android:src="@drawable/back" /> </item> <item android:state_pressed="true"> <bitmap android:src="@drawable/back_preessed"/> </item> </selector>ImageView 或者ImageButton也是一样的,设置了监听器才能高亮。