【Android -- Res资源】shape

262 阅读1分钟

一、概念

Shape图形又称形状图形,它用来描述常见的几何形状,包括矩形、圆角矩形、圆形、椭圆。

根节点下定义了 6 个节点,分别是:size(尺寸)、stroke(描边)、corners(圆角)、solid(填充)、padding(间隔)、gradient(渐变)

二、shape(形状)

使用 shape 可以自定义形状,可以定义下面四种类型的形状,通过android:shape属性指定:

  • rectangle : 矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等
  • oval : 椭圆形,用得比较多的是画正圆
  • line : 线形,可以画实线和虚线
  • ring : 环形,可以画环形进度条

2.1 rectangle

rectangle是默认的形状,也是用得最多的形状,一些文字背景、按钮背景、控件或布局背景等,以下是一些简单的效果:

1.3.3 矩形边框的Drawable
<?xmlversion="1.0"encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
  <!--设置一个黑色边框-->
  <strokeandroid:width="2px"android:color="#000000"/>
  <!--渐变-->
  <gradient
    android:angle="270"
    android:endColor="#C0C0C0"
    android:startColor="#FCD209"/>  
    
    <!--设置一下边距,让空间大一点-->
  <padding
    android:left="5dp"
    android:top="5dp"
    android:right="5dp"
    android:bottom="5dp"/>
</shape>
1.3.4 圆角矩形边框的Drawable
<?xmlversion="1.0"encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android">
  <!--设置透明背景色-->
  <solidandroid:color="#87CEEB"/>
  <!--设置一个黑色边框-->
  <stroke
    android:width="2px"
    android:color="#000000"/>
  <!--设置四个圆角的半径-->
  <corners
    android:bottomLeftRadius="10px"
    android:bottomRightRadius="10px"
    android:topLeftRadius="10px"
    android:topRightRadius="10px"/>
  <!--设置一下边距,让空间大一点-->
  <padding
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp"/> 
</shape>