Android shape和selector完全总结

shape和selector嵌套版
<?xml version="1.0" encoding="utf-8"?><selectorxmlns: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"?><shapexmlns: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"/>            <gradientandroid: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 虚线边框空白宽度--><strokeandroid:width="1dp"android:color="#fa46a6"android:dashWidth="30dp"android:dashGap="3dp" /><!-- 圆角            可以设置单个角度的圆角--><cornersandroid:radius="20dp" /><!--设置边距--><paddingandroid: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> 
时间: 2025-01-14 08:56:48

Android shape和selector完全总结的相关文章

android shape和selector共用按钮样式

项目中要使按钮点击和默认有不同效果,又要使listview的按钮有圆角效果,需要同时在drawable文件夹里面使用shape和selector属性,样式如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawab

android shape和selector

1.shape 用法示例: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:angle="270" /> <!-- 描边 -->

Android开发:shape和selector和layer-list的(详细说明)

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和selector在美化控件中的作用是至关重要的. 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法: Java代码中:R.drawable.文件的名称 XML中:Android:background="@drawable/文件的名称&

【Android进阶学习】shape和selector的结合使用(转)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/732310 shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和selector在美化控件中的作用是至关重要的. 1.Shape 简介 作用:XML中定义的几何形

android使用shape做selector按钮按下和弹起的动画

平时效果: 按下效果: selector代码: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"><shape> <solid andro

Android开发教程:shape和selector的结合使用

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和selector在美化控件中的作用是至关重要的. 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法: Java代码中:R.drawable.文件的名称 XML中:Android:background="@drawable/文件的名称&

【转】Android开发:shape和selector和layer-list的(详细说明)

<shape>和<selector>在Android UI设计中经常用到.比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到<shape>和<selector>.可以这样说,<shape>和<selector>在美化控件中的作用是至关重要. 在看这篇文章之前,可以看下这个小例子:镂空按钮的实现 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法

android 开发:shape和selector和layer-list的(详细说明)

目录(?)[+] Shape 简介 使用的方法 属性 Selector 简介 使用的方法 layer-list 简介 例子 最后 <shape>和<selector>在Android UI设计中经常用到.比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到<shape>和<selector>. 可以这样说,<shape>和<selector>在美化控件中的作用是至关重要. 在看这篇文章之前,可以看下这个小例子

[Android UI] shape和selector的结合使用

shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和selector在美化控件中的作用是至关重要的. 1.Shape 简介作用:XML中定义的几何形状位置:res/drawable/文件的名称.xml使用的方法: Java代码中:R.drawable.文件的名称XML中:Android:background="@drawable/文件的名称"