码迷,mamicode.com
首页 > 移动开发 > 详细

Android shape和selector完全总结

时间:2015-12-28 23:19:26      阅读:345      评论:0      收藏:0      [点我收藏+]

标签:

shape和selector嵌套版
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic_red" />
<shape>
<!-- 渐变
type的三种类型
sweep点击后显示圆锥渐变
linear显示线性渐变
radial圆形渐变

gradientRadius渐变扩散度
android:centerX="50%"设置x轴中心偏移
android:centerY="50%"设置y轴中心偏移
centerColor 中心颜色

angle 渐变旋转角度(只能旋转45度的倍数,且不能用type中的radial渐变)
solid 实心填充,有渐变就会被覆盖
size 调整大小,似乎没什么效果
-->
<solid android:color="#0f0" />
<size android:height="100dp" android:width="100dp"/>
<gradient
android:centerX="50%"
android:centerY="50%"
android:centerColor="#ff39a9"
android:angle="-45"
android:startColor="#ff8c00"
android:endColor="#0ad9d5"
android:type="linear"
android:gradientRadius="500" />
<!-- 描边
dashwidth 虚线边框线宽
dashgap 虚线边框空白宽度
-->
<stroke
android:width="1dp"
android:color="#fa46a6"
android:dashWidth="30dp"
android:dashGap="3dp" />
<!-- 圆角
可以设置单个角度的圆角
-->
<corners
android:radius="20dp" />
<!--设置边距-->
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:startColor="#ffc2b7"
android:endColor="#ffc2b7"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="#ff9d77"/>
<stroke
android:width="2dp"
android:color="#fad3cf" />
<corners
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:topLeftRadius="0dp"
android:bottomRightRadius="0dp"
/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
shape单独使用
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 渐变
type的三种类型
sweep点击后显示圆锥渐变
linear显示线性渐变
radial圆形渐变

gradientRadius渐变扩散度
android:centerX="50%"设置x轴中心偏移
android:centerY="50%"设置y轴中心偏移
centerColor 中心颜色

angle 渐变旋转角度(只能旋转45度的倍数,且不能用type中的radial渐变)
solid 实心填充,有渐变就会被覆盖
size 调整大小,似乎没什么效果

-->
<solid android:color="#0f0" />
<size android:height="100dp" android:width="100dp"/>
<gradient
android:centerX="50%"
android:centerY="50%"
android:centerColor="#ff39a9"
android:angle="-45"
android:startColor="#ff8c00"
android:endColor="#0ad9d5"
android:type="linear"
android:gradientRadius="500" />
<!-- 描边
dashwidth 虚线边框线宽
dashgap 虚线边框空白宽度
-->
<stroke
android:width="1dp"
android:color="#fa46a6"
android:dashWidth="30dp"
android:dashGap="3dp" />
<!-- 圆角
可以设置单个角度的圆角
-->
<corners
android:radius="20dp" />
<!--设置边距-->
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape>
<!-- 这是单独使用selector-->
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->
<item android:drawable="@drawable/pic1" />

<!-- 没有焦点时的背景图片 -->
<item
android:state_window_focused="false"
android:drawable="@drawable/pic_blue"
/>

<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable= "@drawable/pic_red"
/>

<!-- 触摸模式下单击时的背景图片-->
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/pic_pink"
/>

<!--选中时的图片背景-->
<item
android:state_selected="true"
android:drawable="@drawable/pic_orange"
/>

<!--获得焦点时的图片背景-->
<item
android:state_focused="true"
android:drawable="@drawable/pic_green"
/>
</selector>

Android shape和selector完全总结

标签:

原文地址:http://www.cnblogs.com/chenxuyuan/p/5084316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!