You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否仅用XML代码在Android平台绘制该弧形图形?

Android XML绘制弧形/弓形

弧形/弓形图形

这不是半圆,而是一段弧形/弓形。

问题:能否仅使用XML代码在Android系统中绘制上述图形?

可以,你可以通过Android的ShapeDrawable结合<arc>标签,或者使用矢量图<vector>来实现这类弧形/弓形的绘制,以下是具体实现示例:


1. 绘制仅描边的弧形

创建drawable/arc_stroke.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="arc">
    <!-- 设置弧形的起始角度与扫过角度,按需调整 -->
    <solid android:color="@android:color/transparent" />
    <stroke
        android:width="4dp"
        android:color="#FF0000" />
    <size
        android:width="200dp"
        android:height="100dp" />
    <!-- startAngle为起始角度,sweepAngle为弧的角度范围 -->
    <corners
        android:radius="0dp"
        android:startAngle="0"
        android:sweepAngle="180" />
</shape>

2. 绘制填充颜色的弓形

如果需要带填充的弓形,推荐使用矢量图<vector>,创建drawable/arc_filled.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="200dp"
    android:height="100dp"
    android:viewportWidth="200"
    android:viewportHeight="100">
    <!-- pathData中A命令绘制椭圆弧,参数依次为:x半径、y半径、旋转角度、大弧标志、扫掠方向、终点x、终点y,最后闭合路径 -->
    <path
        android:fillColor="#FF0000"
        android:pathData="M0,100 A100,100 0 0,1 200,100 L200,100 L0,100 Z" />
</vector>

你可以根据目标图形的样式,调整角度、半径、颜色、尺寸等参数来匹配需求。

内容的提问来源于stack exchange,提问作者Turok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 22:35:32