我想绘制一个圆弧作为 Android XML 对象。我需要它是一个 xml,而不是一个 Drawable,我可以通过编程方式编码(这太简单了!),因为我需要它作为通知图标。
我知道如何对圆和环进行编码,并且我可以在矩形上使用半径来获得四分之一/半圆。但是,我不知道如何在 xml 中编写任何弧线(例如 30 度)。可以吗?
XML
仍然是Drawable
资源,而SVG
在那里被称为vector
和path
。您可以使用任何工具来创建矢量路径,然后将其用作pathData
。此类文件的正确位置是 src/main/res/drawable-nodpi
,这是一个示例 path
(可以将其中几个放入这样的 vector
):
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:viewportWidth="500.0"
android:viewportHeight="500.0"
android:width="50dp"
android:height="50dp">
<path
android:fillColor="@color/colorAccent"
android:pathData="M 250 250 A 100 100 0 0 0 450 250 Z"/>
</vector>
实际知道“如何画圆弧”(用上面路径的值):
同时 Android Studio 甚至有一个“预览”选项卡:
对我来说,解决方案非常简单。我必须使用 Figma 来创建 Arc。
注意:您之前是否有使用 Figma 或任何相关设计工具的经验并不重要。这是一个非常简单直接的过程,只需不到 5 分钟即可完成。
现在,让我们进入精彩的部分......
第一步是下载 Figma 桌面应用程序并绘制弧线。 这个短视频几乎总结了如何绘制弧线。
第二步是将弧导出为 SVG 文件。同样,这是一个简单的过程,这个 51 秒的视频总结了这个过程。
最后一步是将 SVG 文件添加到 Android studio。为此,请转到 File > New >Vector Asset,然后在弹出的菜单中选择 Local File。总而言之,您应该会看到如下所示的菜单。请注意,我的 SVG 本地文件的名称是 arc.svg。
弧就像四分之一圆。因此,您需要绘制矩形以形成圆弧。 下面的代码是使用矩形绘制圆弧:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="15dp" android:width="15dp"/>
<solid android:color="@color/darkGray"/>
<corners android:topRightRadius="0dp" android:bottomRightRadius="15dp"/>
</shape>