从Photoshop制作的PSD文件生成Android矢量资源出现空白的问题咨询
核心问题
你操作失败的根本原因是:当前psd文件内的图层本质是位图资源(基于png制作,无对应矢量路径数据),而Android系统的矢量资源(VectorDrawable)仅支持解析矢量路径数据,无法识别嵌入的位图内容,因此转换后会出现空白。
PSD文件保存注意事项
- 导出前需要先将psd内的png位图转换为矢量路径:在Photoshop中可使用「对象>图像描摹>建立并扩展」功能,把位图转成可编辑的矢量路径,确认所有元素都是路径、无嵌入位图图层后再保存psd
- 不要使用PSD内的蒙版、剪切路径、图层混合模式等Android矢量转换工具不支持的效果,所有特殊效果都要转成实体路径后再导出
- 如果要导出svg格式中转,Photoshop导出时选择「导出>导出为>svg」,导出选项里勾选「最小化」「将图层导出为单独的svg」,不要勾选「嵌入栅格元素」,避免将位图打包进svg文件
- 若位图细节复杂,Photoshop描摹效果不佳,可将文件导入Adobe Illustrator中做路径转换,得到的路径精度更高
Android端导入操作注意事项
- 优先使用Android Studio自带的Vector Asset Studio导入:操作路径为
File > New > Vector Asset,选择本地的svg/psd文件导入,不要手动将svg直接放入资源目录 - 导入前可先打开svg文件检查代码,如果其中包含
<image>标签说明文件仍包含位图资源,需要回到设计软件中重新转换路径,直到所有内容都以<path>标签呈现才能被正常识别 - 若原资源的效果很难转成纯矢量路径,可直接将原png文件放到
drawable-xxhdpi这类位图资源目录使用,无需强行转矢量资源,强行转换反而会出现显示异常
内容的提问来源于stack exchange,提问作者nirkov
相关产品推荐
相关产品推荐

