关于shape和selector
在android界面布局中,很多需要自定义样式的地方,经常会使用到shape和selector的,可以用简单的代码写出我们想要的样式。下面分别进行详细说明
shape的使用
从字义上就可以知道它是用来定义形状的,具体操作如下:
-
在res/drawable文件下新建drawable resource文件
-
新建为shape类型:
-
生成的shape文件之后,可以看到它提供的设置参数
总共有六个标签,分别解释对应的意思:
(1)solid: 设置形状内部的填充色。它只有一个属性,
(2) stroke: 设置形状外部的边框。
(3) corners: 设置边框圆角。
(4) size: 设置形状的大小。
(5)padding: 设置缩进
(6)gradient: 设置颜色的渐变。
结果:
-
shape自带的属性
shape可以选择4种形状;
oval:椭圆、圆。画圆的时候需要size标签的宽高一样。
line:线条
rectangle:长方形、正方形。这是shape的默认图形。画正方形需要size标签的宽高一样。
ring:圆环。使用圆环的时候需要配合shap的其他属性
selector的使用
- 简介: selector选择器,通常用来根据控件的状态切换控件的显示背景,比如点击按钮,切换按钮的背景图。主要通过android:state 和android:drawable 进行控制切换。可以配合shape使用,shape文件本身是drawable资源。
- res/drawable文件下新建Drawable Resource文件,选择seletor作为根标签:
- 设置state和drawable
上面的state并不是每个都要写,根据不同的控件设置相对应的state。默认状态一定要设置一个
结语
到此整个shape文件涉及到的属性基本讲完,通过不同的参数设置就可以实现各种各样我们想要的图形,很方便,也减少了对UI图片的依赖。selector可以在一定程度上实现简单的控件切换背景操作、文字的颜色等等。