shape基本用法及全部属性定义
来源:互联网 发布:linux怎么看文件大小 编辑:程序博客网 时间:2024/05/28 15:18
如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。
我们就以目前系统的Button的selector为例说下:
对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,endColor为渐变结束的颜色,下面的 angle是角度。接下来是stroke可以理解为边缘,corners为拐角这里radius属性为半径,最后是相对位置属性padding。
对于一个Button完整的定义可以为
注意Android123提示大家,以上几个item的区别主要是体现在state_pressed按下或state_focused获得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。
附shape全部属性定义:
我们就以目前系统的Button的selector为例说下:
- <shape>
- <gradient
- android:startColor="#ff8c00"
- android:endColor="#FFFFFF"
- android:angle="270" />
- <stroke
- android:width="2dp"
- android:color="#dcdcdc" />
- <solid android:color="#ff9d77"/>
- <corners
- android:radius="2dp" />
- <padding
- android:left="10dp"
- android:top="10dp"
- android:right="10dp"
- android:bottom="10dp" />
- </shape>
对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,endColor为渐变结束的颜色,下面的 angle是角度。接下来是stroke可以理解为边缘,corners为拐角这里radius属性为半径,最后是相对位置属性padding。
对于一个Button完整的定义可以为
- <?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="#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>
- </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>
- <gradient
- android:startColor="#ff9d77"
- android:endColor="#ff9d77"
- android:angle="270" />
- <stroke
- android:width="2dp"
- android:color="#fad3cf" />
- <corners
- android:radius="2dp" />
- <padding
- android:left="10dp"
- android:top="10dp"
- android:right="10dp"
- android:bottom="10dp" />
- </shape>
- </item>
- </selector>
注意Android123提示大家,以上几个item的区别主要是体现在state_pressed按下或state_focused获得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。
附shape全部属性定义:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape=["rectangle" | "oval" | "line" | "ring"] >
- <gradient
- android:angle="integer"
- android:centerX="integer"
- android:centerY="integer"
- android:centerColor="integer"
- android:endColor="color"
- android:gradientRadius="integer"
- android:startColor="color"
- android:type=["linear" | "radial" | "sweep"]
- android:usesLevel=["true" | "false"] />
- <solid
- android:color="color" />
- <stroke
- android:width="integer"
- android:color="color"
- android:dashWidth="integer" <!--点划线-->
- android:dashGap="integer" />
- <padding
- android:left="integer"
- android:top="integer"
- android:right="integer"
- android:bottom="integer" />
- <corners
- android:radius="integer"
- android:topLeftRadius="integer"
- android:topRightRadius="integer"
- android:bottomLeftRadius="integer"
- android:bottomRightRadius="integer" />
- </shape>
- shape基本用法及全部属性定义
- shape基本用法及全部属性定义
- shape基本用法及全部属性定义
- UIButton基本属性及定义
- Android: Selector 与 Shape 属性的一些基本用法
- shape的基本用法
- android shape 属性详细用法
- android shape属性及使用说明
- Kotlin学习系列----定义变量及基本属性
- Android DrawableShape资源的用法,Shape属性,Shape开发
- Android shape 的属性 和 用法
- Android学习之shape属性与用法
- 宏定义基本用法
- Android Selector 与 Shape 基本用法
- Android Selector 与 Shape 基本用法
- Android Selector 与 Shape 基本用法
- Selector与Shape的基本用法
- Android Selector 与 Shape 基本用法
- 二值图像的膨胀操作(vc实现)
- csdn和c114广告过滤规则
- 如果你想看到一本Node.js的书籍,你希望得到哪些知识
- 我个人的大数相乘模板
- Unix环境高级编程学习笔记(七) 多线程
- shape基本用法及全部属性定义
- C# 怎样判断 datagridview 中的checkbox列是否被选中
- 深浅拷贝
- 灰度图像的膨胀操作(vc实现)
- cmd\批处理命令实现搜索后缀为aop的文件生成同名tif文件
- DirectUI与QQ界面
- USB 3.0 故障分析一例!驱动很重要!!
- 如何选择VC界面库产品?(一)– 选择界面库产品需考虑的因素
- jdk中解析BMP图片的过程