Android基础之shape使用

Android中的shape标签用于描述形状,可以在布局文件layout和选择器selector中使用,它有6个子标签,具体如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 设置圆角效果 -->
<corners
android:radius="5dp"/>
<!-- 设置背景渐变色 -->
<gradient
android:startColor="@color/red"
android:endColor="@color/black"
android:centerColor="@color/white"
android:angle="-90"
android:gradientRadius="90"/>
<!-- 边距间隔 -->
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
<!-- 大小 -->
<size
android:width="20dp"
android:height="20dp"/>
<!-- 背景填充色 -->
<solid
android:color="@color/red"/>
<!--边框线 -->
<stroke
android:color="@color/black"
android:width="2dp"/>
</shape>
  1. shape:根节点 有一个shape属性,可以设置不同的形状
    1. android:shape="line":设置shape为线形(包括实线、虚线)
    2. android:shape="rectangle":设置shape为矩形
    3. android:shape="oval":设置shape为椭圆形
    4. android:shape="ring":设置shape为环形
  2. corners子节点:设置圆角效果
    1. android:radius:圆角的半径
  3. gradient子节点:背景渐变色
    1. android:startColor:渐变起始色
    2. android:endColor:渐变结束色
    3. android:centerColor:渐变过程中中间的颜色
    4. android:angle:渐变的角度朝向(45的倍数),默认朝向为从左至右,每增加45度,则逆时针转动45度开始渐变
    5. android:gradientRadius:这个属性还不知道是什么意思
  4. padding子节点:边距,该标签的几个属性就比较常用比较简单了,就不描述了
  5. size子节点:大小,这个标签的属性也比较简单
  6. solid子节点:背景填充色
    1. android:color:背景颜色,设置该标签属性之后,gradient标签将不会起作用
  7. stroke子节点:线(可以设置控件的边框,也可以设置一条实线或虚线)
    1. android:color:线的颜色
    2. android:width:线的宽度
    3. android:dashGap:虚线间的间距
    4. android:dashWidth:每个虚线段的长度(当设置为虚线的时候,最好不要设置android:width属性)

一般比较常用的是边线,填充色,背景色这三个标签

如果要为某个控件设置背景边框、渐变色、填充色或者是通过View设置控件间的分割线,都可以使用shape配合selector来进行实现


原创文章,本文采用知识共享署名 2.5(中国大陆许可协议)进行许可,欢迎转载,但转载请注明来自ittiger.cn,并保证转载后文章内容的完整性。本人(laohu)保留所有版权相关权利。



评论