0

0

Android Vector Drawable XML路径数据怎么写 pathData语法

星降

星降

发布时间:2026-01-09 08:03:31

|

239人浏览过

|

来源于php中文网

原创

pathdata是android vector drawable中定义图形路径的核心语法,类似svg的d属性,通过大小写区分绝对/相对坐标命令(如m/m、l/l、c/c等)描述线条、曲线和弧线,支持空格或逗号分隔参数,需注意坐标单位、可读性及视口适配。

android vector drawable xml路径数据怎么写 pathdata语法

Android 的 Vector Drawable 中 `pathData` 是定义图形路径的核心语法,它类似 SVG 的 `d` 属性,用一串命令和坐标描述线条、弧线、贝塞尔曲线等。写对 `pathData` 是画出正确图标的关键。

pathData 基本结构

格式为:命令字母 + 数值参数(空格或逗号分隔),命令区分大小写:

  • 小写字母:表示相对坐标(相对于上一个点)
  • 大写字母:表示绝对坐标(相对于画布原点 0,0)
  • 常见命令可连写,如 M10,20 L30,40 C50,60 70,80 90,100

常用命令详解

M / m —— 移动到(moveTo),设置新路径起点
例:M100,100 表示从 (100, 100) 开始绘图;m20,30 表示从上一点右移 20、下移 30 的位置开始

L / l —— 直线到(lineTo),画一条直线段
例:L200,100 从当前点画直线到 (200, 100)

H / h —— 水平线到(horizontal line)
只指定 x 坐标,y 不变;H150 表示水平画到 x=150

V / v —— 垂直线到(vertical line)
只指定 y 坐标,x 不变;v-20 表示垂直向上移动 20

SumiNote
SumiNote

一款服务留学生的AI学习神器

下载

C / c —— 三次贝塞尔曲线(cubic Bézier)
格式:C x1,y1 x2,y2 x,y,两个控制点 + 一个终点
例:C50,0 100,50 100,100 从当前点出发,经 (50,0) 和 (100,50) 控制,到达 (100,100)

Q / q —— 二次贝塞尔曲线(quadratic Bézier)
格式:Q x1,y1 x,y,一个控制点 + 一个终点

A / a —— 椭圆弧线(arc)
格式:A rx,ry x-axis-rotation large-arc-flag,sweep-flag x,y
如:A20,20 0 0,1 60,60 表示:x 半径 20、y 半径 20,不旋转,小弧(0),顺时针(1),终点 (60,60)

Z / z —— 闭合路径(closePath)
自动画线回到路径起点,不带参数

实用技巧与注意事项

  • 所有坐标单位是像素,但 vector drawable 会自动缩放适配,所以用整数+合理比例即可(如 24×24、48×48 基准)
  • 命令和数字之间**空格可省略**(如 M10,20L30,40 合法),但建议加空格提升可读性
  • 逗号只用于分隔同一组的 x,y(如 M10,20),不能代替空格分隔不同命令
  • Android Studio 的 Vector Asset Studio 可导入 SVG 自动生成 pathData,适合复杂图形
  • 避免负坐标过大或超出 `viewportWidth`/`viewportHeight`,否则可能被裁剪

简单例子:画一个带弧角的「返回」箭头

android:pathData="M20,12 L12,20 L13.4,21.4 L21.8,13 L18,13 L18,11 L22,11 L22,15 L20,15 Z" />

这个路径先画箭头主干(L),再折角、回退、收尾闭合——实际中建议用设计工具导出再微调

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1938

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2116

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1142

2024.11.28

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1938

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2116

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1142

2024.11.28

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

329

2023.08.14

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

1798

2023.08.22

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

48

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 19.7万人学习

Java 教程
Java 教程

共578课时 | 75.6万人学习

Uniapp从零开始实现新闻资讯应用
Uniapp从零开始实现新闻资讯应用

共64课时 | 6.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号