Android shape drawable XML 可绘制图形的创建与使用

本文链接: http://blog.csdn.net/xietansheng/article/details/54599454

1. 各属性的配置语法

在项目 res/drawable 文件夹中创建一个以 shape 为根节点的 XML 文件,基本语法如下:


   // 通常为 false, 否则可能图形不显示
    
    
    <size
        android:width="integer"
        android:height="integer" />
    
    
    <solid
        android:color="color" />
    
     
            // 如果形状用作 LevelListDrawable, 则此值为 true; 一般为false
    
    
    
    
    
       // 右下角 角度半径
    
    
    <padding
        android:left="integer"
        android:top="integer"
        android:right="integer"
        android:bottom="integer" />
        
shape>

PS: 以上元素或属性不需要全部使用,某些元素和属性之间存在冲突或被替换或无效,根据具体选择的形状配置使用。

2. 配置形状的引用

1、在项目 res/drawable 文件夹下创建文件 my_shape.xml :


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    
    <stroke
        android:color="#00FF00"
        android:width="5dp"/>

    
    <solid
        android:color="#FF0000"/>

shape>

PS: 如果需要空心的形状,则必须指明 solid 颜色为透明色,否则某些机器系统中可能会出现黑底。

2、在项目 res/layout 布局文件中引用:

<ImageView
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:src="@drawable/my_shape"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/my_shape"/>

3. 具体形状的配置

1、矩形 ( rectangle )


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    
    <stroke
        android:color="#00FF00"
        android:width="3dp"/>

    
    <gradient
        android:startColor="#FF0000"
        android:centerColor="#FFFF00"
        android:endColor="#0000FF"
        android:angle="90"/>

    
    <corners
        android:bottomLeftRadius="20dp"
        android:topRightRadius="20dp"/>

shape>

Android shape drawable XML 可绘制图形的创建与使用_第1张图片


2、椭圆 ( oval )


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    
    <size
        android:width="200dp"
        android:height="130dp"/>

    
    <stroke
        android:color="#00FFFF"
        android:width="1dp"/>

    
    <gradient
        android:startColor="#FF0000"
        android:centerColor="#FF00FF"
        android:endColor="#FFFF00"
        android:type="sweep"/>

shape>

Android shape drawable XML 可绘制图形的创建与使用_第2张图片


3、线段( line )


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">

    
    <size
        android:width="200dp"
        android:height="100dp"/>

    
    <stroke
        android:color="#000000"
        android:width="5dp"/>

shape>

线段


4、圆环 ( ring )


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadius="90dp"
    android:thickness="5dp"
    android:useLevel="false">

    
    <solid
        android:color="#FF0000"/>

shape>

PS: 通过配置空心椭圆也可以达到圆环的效果

Android shape drawable XML 可绘制图形的创建与使用_第3张图片


你可能感兴趣的:(Android)