如何从Android矢量路径中删除形状并自定义手电筒关闭图标?
解决方案
可行性结论
该需求完全可以实现,仅需修改原矢量XML的pathData参数即可完成,无需引入外部资源。
原矢量图的路径由4段独立图形组成,用分号分隔:
- 第一段:手电筒主体+握柄
- 后三段:分别对应顶部中间竖条高亮、左侧斜向高亮、右侧斜向高亮,也就是你需要删除的三个形状
具体操作步骤
- 删除多余高亮路径
直接移除pathData中后三段路径内容,保留第一段主体路径即可。 - 拉高握柄高度覆盖空白
原主体路径的顶部边界为V9(即Y轴坐标到9的位置),将其修改为V2,即可把原来高亮占有的顶部区域全部填充为手电筒主体,覆盖空白。
修改后完整手电筒关闭图标代码
<?xml version="1.0" encoding="utf-8"?> <vector android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> <path android:fillColor="@android:color/white" android:pathData="M6,14l3,3v5h6v-5l3,-3V2H6V14z"/> </vector>
替代方案
如果不想手动修改路径,可选用以下方案:
- 在Android Studio矢量素材库搜索
flashlight_off,这是系统自带的标准手电筒关闭图标,风格和系统素材统一 - 使用Android Studio自带的矢量可视化编辑器、Inkscape等工具打开原图标,可视化删除多余形状、拉伸主体高度后直接导出XML即可
内容的提问来源于stack exchange,提问作者Son of Stackoverflow
相关产品推荐
相关产品推荐

