StateListDrawable 对象所显示的Drawable对象会随目标组件的状态而改变而自动切换, 定义StateListDrawable对象的XML文件的根元素为
android:color 或 android:drawable :指定颜色或Drawable对象
android:state_xxx : 指定一个特定的状态.
例如:
2. 状态值
| 属性值 | 含义 |
| android:state_pressed | 是否为按下状态 |
| android:state_focused | 是否为获取到焦点状态 |
| android:state_selected | 是否为选中状态 |
| android:state_checked | 是否为勾选状态 |
| android:state_hovered | 光标移动到了当前控件上的状态 |
| android:state_active | 是否为激活状态(view / drawable) |
| android:state_accelerated | drawable是否为硬件加速状态 |
| android:state_window_focused | 是否为窗口获取焦点状态 |
| android:state_checkable | 是否可以被勾选 |
| android:state_enabled | 是否可用 |
ShapeDrawable 用于定义一个基本的几何图形,如矩形,圆形,线条等,定义ShapeDrawable的XML文件的根元素是
android:shape =【“rectangle” | “oval” | "line" | "ring"】
//此属性是定义几何图形四个角的弧度 //定义使用渐变颜色填充 //定义几何图形的内边距 // 定义几何图形的大小 // 定义使用单种颜色填充 // 定义为几何形状绘制边框
一个矩形框.xml文件
具体定义:
1、shape标签
shape位于根标签,android:shape属性。它拥有四种形状。分别为:rectangle(默认,矩形)、oval(椭圆)、line(横线)、ring(圆环)
2、corners标签
作用于矩形的四周(仅适用于矩形),为四周设置角度。如上图所示,矩形四个角的弧度。利用这一个标签可以很方便的实现圆角矩形的效果。
3、stroke标签
表示描边(或添加边框)。如图中第一个矩形所示,外围的一圈灰色虚线效果。这里注意:android:dashWidth和android:dashGap任何一个不可以为0,否则虚线效果将不生效。当然,除了虚线,去除这两个属性即变为实线效果(如上图第二个矩形)。
4、solid标签
表示为shape填充(如上图矩形内部的填充颜色),很容易理解。
5、gradient标签
android:type属性,设置颜色渐变效果(如上图第二个矩形所示)。渐变模式有三种,分别为:linear(默认,线性渐变)、sweep(扫描渐变)、radial(径向渐变)
暑期编程PK赛 得CSDN机械键盘等精美礼品!


