selector -- 主体
--android:state_selected选中
--android:state_focused获得焦点
--android:state_pressed点击
--android:state_enabled设置是否响应事件,指所有事件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#45c01a" android:state_pressed="true"/>
<item android:color="#9a9a9a"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/play_press" />
<item android:state_focused="true" android:drawable="@drawable/play_press" />
<item android:drawable="@drawable/play" />
</selector>
点击效果可以设置图片与颜色;
shop--样式
gradient 主体渐变
--startColor开始颜色
--endColor结束颜色
--angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)
stroke 边框
--width 边框宽度
--color 边框颜色
corners 圆角
--radius 半径
padding text值的相对位置
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient android:startColor="#0d76e1" android:endColor="#0d76e1"
android:angle="270" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="2dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true">
<shape>
<gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7"
android:angle="270" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="2dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient android:startColor="#000000" android:endColor="#ffffff"
android:angle="180" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="5dip" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>
</selector>
渐变样式gradient
xml写渐变
shape
--android:shape 设置图样式(圆 oval,矩形 rectangle,直线 ring ,根据padding可以将圆设置为椭圆)
gradient -- 渐变
--android:angle 旋转角度
--android:centerColor 起始颜色
--android:endColor 终止颜色
--android:type 渐变样式(线性LinearGradient(linear)、镜像RadialGradient(radial)、角度SweepGradient(sweep));
--android:centerX 渐变中心X轴位置(0~1)
--android:centerY 渐变中心Y轴位置
--android:useLevel(使用LevelListDrawable时就要设置为true。设为false时才有渐变效果 )
--android:gradientRadius 渐变半径
<shape android:shape="line">
<gradient android:startColor="#000000" android:endColor="#ffffff"
android:angle="45"
android:type="radial"
android:gradientRadius="50"
android:centerX="0.2"
android:centerY="0.5"
/>
/>