当前位置 : 主页 > 手机开发 > android >

Android XML 绘图

来源:互联网 收集:自由互联 发布时间:2021-06-11
Thu 06 October 2016 简介 Android 的 XML 绘图主要涉及到三个元素:shape, layer-list, selector shape是基本的元素,shape描述了基本图形,如rectangle, oval, line, ring,以及相关的属性. layer-list 是shape的组合
Thu 06 October 2016

简介

Android 的 XML 绘图主要涉及到三个元素:shape, layer-list, selector

  • shape是基本的元素,shape描述了基本图形,如rectangle, oval, line, ring,以及相关的属性.
  • layer-list 是shape的组合,可以将多个 shape 叠加起来,组成更加复杂的图形。
  • selector 则用来按照空间的状态,如button 是否被press,是否获得focus等,选择不同的图片或者形状元素。

shape

shape 有四种:

  • rectangle: 矩形,可以通过设置conner得到圆角
  • oval:可以画椭圆,圆形
  • line:虚线,实线
  • ring:圆环

shape所支持的参数:

  • size:制定大小
  • solid:填充颜色
  • stroke:边框的属性,宽度,颜色,类型等
  • conners:conner的半径,配合rectangle使用,可以获得圆角矩形
  • gradient:颜色渐变
  • padding:

下面列举具体有哪些属性:

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    //默认为rectangle
    android:shape=["rectangle"|"oval"|"line"|"ring"]>
    <corners //当shape="rectangle"时使用
        //半径,会被后面的单个半径属性覆盖
        android:radius="integer"
        android:topLeftRadius="integer"
        android:topRightRadius="integer"
        android:bottomLegtRadius="integer"
        android:bottomRightRadius="integer"/>
    <gradient   //渐变
        android:angle="integer"
        android:centerX="integer"
        android:centerY="integer"
        android:centerColor="color"
        android:endColor="color"
        android:gradientRadius="integer"
        android:startColor="color"
        android:type=["linear"|"radial"|"sweep"]
        android:useCenter=["true"|"false"]/>
    <padding //上下左右的间距
        android:left="integer" 
        android:top="integer"
        android:right="integer"
        android:bottom="integer"/>
    <size
        android:width="integer"
        android:height="integer"/>
    <solid  //填充颜色
        android:color="color"< 大专栏  Android XML 绘图/span>/>
    <stroke //指定边框
        android:width="integer"
        android:color="color"
        //虚线宽度
        android:dashWidth="integer"
        //虚线间隔宽度,如果需要实线,则不设置此项和上面一项
        android:dashGap="integer"/>
</shape>

layer-list

layer-list 可以将多个shape组合在一起,形成更加复杂的图形,比如可以形成阴影等。 用例子说话:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item//距离上下左右的距离
        android:top="4dp"
        android:left="4dp">
        <shape android:shape="oval">
            <solid android:color="#FF333333" />
        </shape>
    </item>

    <item>
        <shape android:shape="oval">
            <solid android:color="@color/annotation_color_blue" />
            <stroke
                android:width="1dp"
                android:color="#FFF"
                android:dashGap="0dp" />
            <size
                android:width="48dp"
                android:height="48dp" />
        </shape>
    </item>
</layer-list>

以上xml绘制的图形如下所示:

分享图片

selector

selector 的元素可以是xml绘制的推行,也可以是颜色,图片等等 仍然用例子说话:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@mipmap/bg_input_p" />
    <item android:drawable="@mipmap/bg_input_n" />
</selector>

Category: 工具 Tagged: android

网友评论