android shape总结 和控制的风格定制
1:shape总结
一共同拥有四种:rectangle。oval,line,ring。
android:radiuse位圆角的半径。
当然也能够单独为每一个圆角进行设置。
angle必须保证是45的倍数。
android:centerColor。原因是当我没有设置android:centerColor属性时,随意的改变这两个属性的值都不会改变控件的显示效果。这两个属性是渐变的中间位置。大小都是再0.0--1.0。
渐变的半径大小。仅当渐变类型位radial的时候才有作用。
渐变的类型。有三种情况:linear,radial,sweep。
控件的颜色填充。
除非你dashWidth设置的值非常大。那么看起来还是一条完整的线条。
仅仅在设置了dashWidth属性的情况下才会有效果。能够觉得是虚线之间的宽度。
2:控件样式定制
此时就能够用到上面的shape
drawable了。详细用法例如以下:
有一个默认button样式和一个button按下之后的样式。
<?xml version="1.0" encoding="utf-8"? >
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="5dp"></corners>
<solid android:color="#ff0000"/>
<stroke
android:width="1dp"
android:color="#00ff00"
android:dashWidth="2dp"
android:dashGap="2dp"/> </shape>
button_pressed.xml
<? xml version="1.0" encoding="utf-8"? >
<shape xmlns:android="http://schemas.android.com/apk/res/android"
>
<corners
android:radius="10dp"
></corners> <!-- <solid
android:color="#ffffff"
></solid> --> <padding android:left="20dp"
android:top="1dp"
></padding> <gradient
android:startColor="#ffffff"
android:endColor="#000000"
android:angle="0"
android:centerX="0.1"
android:centerY="0.2"
/> <stroke
android:width="1dp"
android:color="#00ff00"
android:dashWidth="1000dp"
android:dashGap="3dp"
>
</stroke> </shape>
眼下已经写好了两种样式文件了。
那么怎么推断是按下了的状态呢? 这里引入stateDrawable文件了。
它也是採用xml方式来定义的。在控件的不同状态能够用不同的样式来显示同一个控件。
比方:button有非常多种状态,按下状态,有焦点状态。和正常状态。
<? 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/button_pressed"></item>
<item android:drawable="@drawable/button_normal"></item> </selector>
这个文件会从上到下一直匹配下来。直到找到了一个item满足控件眼下的状态。android:state_pressed 是button被按下状态。
以下一个item是默认样式,能够匹配不论什么一种状态。所以要放在最以下。否则其它全部的定义都不起作用。
<Button
android:text="@string/button_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_style"
android shape总结 和控制的风格定制的更多相关文章
- [转]Android Shape渲染的使用(经典,学习研究不后悔)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 ...
- android shape使用总结
今天使用到shape,这个里面有很多属性,在这里我记录一下各个属性的使用的情况以及所代表的意思 <?xml version="1.0" encoding="utf- ...
- android:shape
android:shape=["rectangle" | "oval" | "line" | "ring"] shape ...
- Android shape的使用(圆角矩形)
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...
- android shape详解
shape--> shape属性: rectangle: 矩形,默认的形状,可以画出直角矩形.圆角矩形.弧形等 solid: 设置形状填充的颜色,只有android:color一个属性 andr ...
- android shape(如自定义Button)
Shape 前言:有时候会去自己去画一些Button的样式来展现在UI当中,其中主要用到的就是Shape 先来看一段代码: <?xml version="1.0" encod ...
- android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)
shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. 首先简单了解一下shape中常见的属性.(详细介绍参看 api文档 ) 转载请注明:Rflyee_大飞: http://blog.cs ...
- Android Shape画圆,矩形
画圆环代码如下: 画圆环,外边的边界宽度大一点即可: <?xml version="1.0" encoding="utf-8"?> <shap ...
- ANDROID SHAPE画圆形背景_ANDROID实现角标布局
ANDROID SHAPE画圆形背景_ANDROID实现角标布局 <?xml version="1.0" encoding="UTF-8"?> &l ...
随机推荐
- NSIS:卸载加密码示例
原文 NSIS:卸载加密码示例 最近有几个同学问我关于卸载时加密码的问题,其实很简单,懂点基础就可以根据安装加密码那篇文章http://www.flighty.cn/html/bushu/201009 ...
- opencv在arm和x86在移植
一个.开发环境 操作系统:fedora14 Opencv版本号:2.0 Qt版本号:4.7 arm:mini6410 交叉编译工具:arm-linux-gcc-4.5.1 二.安装与配置 Linux系 ...
- .NET开发者必备的11款免费工具
原文:.NET开发者必备的11款免费工具 如今,HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担.本文为开发者介绍了 ...
- poj3417 Network 树形Dp+LCA
题意:给定一棵n个节点的树,然后在给定m条边,去掉m条边中的一条和原树中的一条边,使得树至少分为两部分,问有多少种方案. 神题,一点也想不到做法, 首先要分析出加入一条边之后会形成环,形成环的话,如果 ...
- C语言的这些事情有关内存
C语言的程序内存布局,从高到低依次为:栈区.堆区.未初始化数据区.初始化数据区.代码区. 一.栈区 由编译器自己主动管理,无需程序猿手工控制.存放函数的參数值.局部变量的值等.栈区内容从高地址到低地址 ...
- Linux了解进程的地址空间
供Linux了解虚拟内存,非常好的引导了.原文链接:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26683523&i ...
- cocos2d-x 3.0rc1 创建project
1.进入bin文件夹 2.打开CMD命令行窗口中输入命令,然后按Enter(-p 包名 -l 语言 -d 新project存储路径)
- hdu 1814 Peaceful Commission (2-sat 输出字典序最小的路径)
Peaceful Commission Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- HDU 5281 Senior's Gun (贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5281 贪心题目,但是看看我的博客里边相关贪心的题解实在是少的可怜,这里就写出来供大家一起探讨. 题意还 ...
- js中位运算的运用
原文:js中位运算的运用 我们可能很少在编程中用位运算,如果没深入学习,可能也很难理解.平时的数值运算,其实是要先转换成二进制再进行运算的,而位运算就是直接进行二进制运算,所以位运算的执行效率肯定是更 ...