Android 通过Vector Drawable绘制心形

Posted 路 宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 通过Vector Drawable绘制心形相关的知识,希望对你有一定的参考价值。

效果图如图所示:
在这里插入图片描述
在res/drawable目录下创建heart.xml,使用vector标签定义:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="256dp"
    android:height="256dp"
    android:viewportWidth="32"
    android:viewportHeight="32">
    <path
        android:fillColor="#8f00"
        android:pathData="M20.5,9.5
                          c-1.955,0,-3.83,1.268,-4.5,3
                          c-0.67,-1.732,-2.547,-3,-4.5,-3
                          C8.957,9.5,7,11.3432,7,14
                          c0,3.53,3.793,6.257,9,11.5
                          c5.207,-5.242,9,-7.97,9,-11.5
                          C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

属性分析:

  1. android:width=“256dp” 指定Drawable的宽度

  2. android:height=“256dp” 指定Drawable的高度

  3. android:viewportWidth=“32” 将绘制向量路径的虚拟画布的宽度

  4. android:viewportHeight=“32” 定义将绘制向量路径的虚拟画布的高度

  5. path:使用path标签定义形状

  6. android:fillColor="#8f00" 形状的颜色

  7. android:pathData:使用与SVG路径元素相同的语法来定义任意形状或线条

最后在布局页面调用即可:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/heart"
        />
</LinearLayout>

以上是关于Android 通过Vector Drawable绘制心形的主要内容,如果未能解决你的问题,请参考以下文章

Android5.0以下drawable tag vector错误的解决办法

Android Animated Vector Drawable 无法在 xml 中循环

Vector Drawable(矢量图形)和黑夜白昼主题的设置

在 Vector Drawable 中翻转 Drawable 图像

Android之华为手机打开app奔溃提示java.io.FileNotFoundException: res/drawable/abc_vector_test.xml

Android之华为手机打开app奔溃提示java.io.FileNotFoundException: res/drawable/abc_vector_test.xml