在Android矢量图绘制中,path元素的strokeLineCap属性用于定义线条端点、线段连接处的样式,当我们需要让绘制的线条两端呈现圆润效果时,就需要将该属性设置为round。这个属性属于矢量图路径的基础样式配置,直接影响线条的视觉效果。

strokeLineCap属性基础说明
strokeLineCap是Android矢量图<path>标签的可选属性,取值有三种:
- butt:默认值,线条端点为方形,没有延伸部分
- round:线条端点为圆形,会在线条原有长度基础上向外延伸半个线宽度的圆形区域
- square:线条端点为方形,会在线条原有长度基础上向外延伸半个线宽度的方形区域
设置round圆头样式的完整步骤
1. 创建矢量图资源文件
首先在res/drawable目录下新建一个XML文件,根节点为<vector>,内部添加<path>元素用于定义绘制的线条。
2. 配置path的stroke相关属性
要让线条显示描边效果,必须设置android:strokeColor(描边颜色)和android:strokeWidth(描边宽度),否则strokeLineCap不会生效。之后添加android:strokeLineCap属性并赋值为round即可。
3. 完整示例代码
下面是一个绘制圆头线条的完整矢量图XML示例:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200dp"
android:height="200dp"
android:viewportWidth="200"
android:viewportHeight="200">
<!-- 绘制一条从(50,100)到(150,100)的水平线条,线宽10dp,红色描边,端点为圆头 -->
<path
android:pathData="M50,100 L150,100"
android:strokeColor="#FF0000"
android:strokeWidth="10"
android:strokeLineCap="round" />
</vector>
注意事项
- strokeLineCap仅对线条的端点生效,如果路径是闭合图形(比如矩形、圆形),该属性不会影响图形的边角样式,闭合图形的边角样式由strokeLineJoin属性控制
- 如果线条没有设置strokeColor或者strokeWidth为0,那么strokeLineCap的配置不会显示任何效果
- round值的延伸长度是线宽的一半,如果需要精确控制线条的总长度,需要把这个延伸部分考虑进去
效果对比
我们可以通过修改strokeLineCap的取值来对比不同效果:
| strokeLineCap取值 | 线条端点效果 |
|---|---|
| butt | 方形端点,长度与pathData定义的长度一致 |
| round | 圆形端点,总长度比定义长度多一个线宽 |
| square | 方形端点,总长度比定义长度多一个线宽 |
通过上述配置,就可以快速实现Android矢量图线条的圆头样式效果,满足不同的UI设计需求。
Androidvector_pathstrokeLineCaproundXML修改时间:2026-06-21 22:18:22