加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用xml来绘制简单的图像

发布时间:2020-12-16 05:54:25 所属栏目:百科 来源:网络整理
导读:android可以使用xml来绘制一些简单的图形,如渐变色、单色背景等。 1 使用xml绘制的好处 一般如果可以用xnl实现尽量不用图片资源实现。这样做的好处有几点: 1.1 使用灵活,想改就改 使用xml绘制的图片是使用代码实现的。所以要修改个颜色、修改个圆角什么的

android可以使用xml来绘制一些简单的图形,如渐变色、单色背景等。

1 使用xml绘制的好处

一般如果可以用xnl实现尽量不用图片资源实现。这样做的好处有几点:

1.1 使用灵活,想改就改

使用xml绘制的图片是使用代码实现的。所以要修改个颜色、修改个圆角什么的简单快捷。相反的,图片资源的修改必须找美工一遍遍的改。

1.2 节省资源空间

xml代码占用的空间要比图片小的多的多的多了,这是一个很好的优化android内存资源的方法。


2 xml的使用

2.1 使用layer-list实现带阴影的按钮背景

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 阴影 -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#33000000" />
        </shape>
    </item>

    <!-- 背景 -->
    <item android:bottom="3px">
        <shape android:shape="rectangle">
            <solid android:color="#FF13A4E0" />
        </shape>
    </item>

</layer-list>

2.2 selection实现按钮点击效果

下面是使用shapre直接实现的按钮点击效果。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="false">
        <shape android:shape="rectangle">
            <corners android:radius="3dp" />
            <solid android:color="#FFF3676A" />
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="3dp" />
            <solid android:color="#FFEB373A" />
        </shape>
    </item>

</selector>


2.3 shape的使用

下面介绍下shape的各属性具体用法:

填充

设置填充的颜色

间隔

设置四个方向上的间隔

大小

设置大小

圆角

(同时设置五个属性,则Radius属性无效)

android:Radius="20dp" 设置四个角的半径

android:topLeftRadius="20dp" 设置左上角的半径

android:topRightRadius="20dp" 设置右上角的半径

android:bottomLeftRadius="20dp" 设置右下角的半径

android:bottomRightRadius="20dp" 设置左下角的半径

描边

(dashWidth和dashGap两个属性中只要其中一个设置为0dp或者不设置,则边框为实现边框)

android:width="20dp" 设置边边的宽度

android:color="@android:color/black" 设置边边的颜色

android:dashWidth="2dp" 设置虚线长度

android:dashGap="20dp" 设置虚线间隔长度


<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <!-- 图片圆角 -->
    <corners
        android:radius="9dp"
        android:topLeftRadius="2dp"
        android:topRightRadius="2dp"
        android:bottomLeftRadius="2dp"
        android:bottomRightRadius="2dp"/>

    <!-- 背景渐变 -->
    <gradient
        android:startColor="@android:color/white"
        android:centerColor="@android:color/black"
        android:endColor="@android:color/black"
        android:useLevel="true"
        android:angle="45"
        android:type="radial"
        android:centerX="0"
        android:centerY="0"
        android:gradientRadius="90"/>

    <!-- 间隔 -->
    <padding
        android:left="2dp"
        android:top="2dp"
        android:right="2dp"
        android:bottom="2dp"/><!-- 各方向的间隔 -->

    <!-- 大小 -->
    <size
        android:width="50dp"
        android:height="50dp"/><!-- 宽度和高度 -->

    <!-- 填充 -->
    <solid
        android:color="@android:color/white"/><!-- 填充的颜色 -->

    <!-- 描边 -->
    <stroke
        android:width="2dp"
        android:color="@android:color/black"
        android:dashWidth="1dp"
        android:dashGap="2dp"/>

</shape>
  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读