android shape和selector

1.shape 用法示例:

 <shape>
            <!-- 实心 -->
            <solid android:color="#ff9d77"/>
            <!-- 渐变 -->
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                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>
  • solid:实心,就是填充的意思
  • gradient:渐变

android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。

  • stroke:描边

android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth="5dp" 
android:dashGap="3dp"
其中android:dashWidth表示‘-‘这样一个横线的宽度,android:dashGap表示之间隔开的距离。

  • corners:圆角

android:radius为角的弧度,值越大角越圆。

2.selector 用法示例:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
          android:drawable="@drawable/enabled_on_pressed" />
    <item  android:state_pressed="true"
          android:drawable="@drawable/enabled_on_pressed" />
    <item
          android:drawable="@drawable/disabled_off" />
</selector>

drawable的item中可以有以下属性: 
android:drawable="@[package:]drawable/drawable_resource"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_active=["true" | "false"]
android:state_checkable=["true" | "false"] 
android:state_checked=["true" | "false"] 
android:state_enabled=["true" | "false"] 
android:state_window_focused=["true" | "false"]

Item顺序是有讲究的,条件限定越细致,则应该放到前面。

时间: 2024-10-28 20:07:31

android shape和selector的相关文章

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" androi

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和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/文件的名称"