Android-无法将SVG添加到导航抽屉图标

时间:2020-08-24 17:47:54

标签: android svg

我在玩Android创建新项目时提供的Navigation Drawer Activity模板。我正在尝试使用Vector Asset导入器更改SVG文件的默认图标。不幸的是,我一直随机地遇到三个错误,有时Android Studio会抛出一个错误并且不进行编译,有时可以毫无问题地进行编译: (path/to/picture.svg) Error: The file name must end with .xml or .png
或有时:
Can't determine type for tag '<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon '
当我删除该行时:
Can't determine type for tag '<g><g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"> <path d="M5587.5,..."/></g></g>'

我将SVG从drawable移到了一个名为icons的文件夹中,有时会有帮助,有时却没有帮助。我已经尝试了所有方法(解决方案除外),但无济于事。

这是整个SVG文件:

<?xml version="1.0" encoding="utf-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve">
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>
<g><g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"><path d="M5587.5,4894.5c-146-401.3-510.8-1463.3-507-1467.1c3.8-3.8,130.6,188.2,282.3,426.3c151.7,238.1,282.3,435.9,290,441.7c7.7,3.8,80.6-151.7,163.2-347.6c82.6-195.9,155.5-355.3,161.3-355.3s213.2,142.1,460.9,314.9s455.1,311.1,457,307.2c3.8-1.9-28.8-182.4-73-401.3c-44.2-217-76.8-401.3-71.1-405.2c5.8-5.8,261.2,26.9,568.4,73c307.3,46.1,558.8,80.6,558.8,74.9s-172.8-176.7-386-382.1c-211.2-205.5-378.3-380.2-368.7-387.9c7.7-9.6,201.6-90.3,428.2-182.4c226.6-92.2,416.7-170.9,420.6-172.8c3.8-3.8-205.5-113.3-466.6-243.9c-259.2-128.7-472.4-240-470.5-245.8c0-5.8,182.4-169,403.3-364.9c222.8-194,393.7-357.2,380.2-362.9c-11.5-3.8-299.6-74.9-639.5-157.5c-338-80.6-603-149.8-587.6-149.8c44.2-3.8,1837.7,111.4,1954.9,124.8l101.8,11.5l-601,403.3c-330.3,222.7-608.7,410.9-616.4,418.6c-9.6,7.7,330.3,128.7,752.8,270.8c422.5,142.1,762.3,263.1,754.7,268.8c-7.7,7.7-295.7,111.4-641.4,230.4c-345.7,121-629.9,222.8-629.9,228.5c0,5.8,247.7,303.4,547.3,660.6c301.5,357.2,543.4,654.8,539.6,658.7c-3.8,3.8-389.8-96-856.4-224.7c-466.6-128.7-854.5-230.4-862.2-226.6c-7.7,3.8,30.7,174.7,88.3,380.2c178.6,654.8,213.1,787.3,207.4,787.3c-3.8,0-276.5-213.2-606.8-472.4c-585.7-459-601.1-470.5-622.2-426.3c-13.4,25-117.1,261.2-230.4,524.2c-113.3,265-213.1,487.7-220.8,495.4C5643.2,5027,5614.4,4971.3,5587.5,4894.5z"/><path d="M1061.4,4754.3c0-5.8,218.9-270.8,485.8-589.5c664.4-798.8,1323.1-1599.6,1607.3-1954.9c259.2-326.5,336-464.7,410.9-747c63.4-234.3,71.1-313,76.8-760.4c5.8-453.2,25-531.9,155.5-675.9c163.2-184.4,458.9-261.2,710.5-188.2c149.8,42.2,499.3,218.9,700.9,351.4c290,192,641.4,570.3,965.9,1040.8c149.8,218.9,194,324.5,224.7,533.8c28.8,192,3.8,368.7-76.8,537.7c-115.2,245.8-301.5,361-685.6,424.4c-528.1,88.3-637.5,174.7-1885.7,1515.1L3264,4763.9H2161.7C1556.8,4763.9,1061.4,4760.1,1061.4,4754.3z"/><path d="M6434.4,493.2c-161.3-57.6-311.1-147.9-604.9-368.7c-280.4-211.2-618.3-389.8-985.1-516.6c-142.1-49.9-307.2-115.2-364.9-144c-339.9-170.9-539.6-435.9-512.7-675.9c32.7-268.8,305.3-537.7,833.4-816.1c314.9-167.1,405.2-282.3,457-583.8c51.8-305.3,111.4-1081.1,136.3-1799.3L5407-4780h825.7h823.8l-11.5,274.6c-7.7,149.8-15.4,783.5-15.4,1405.7c0,1342.3-15.4,1215.5,257.3,2208.3c30.7,115.2,36.5,178.6,28.8,432.1c-5.8,195.9-21.1,336.1-42.3,412.9C7137.2,439.4,6833.8,633.3,6434.4,493.2z"/><path d="M3953.4-1851.6c-128.7-126.7-119.1-234.3,55.7-604.9c65.3-142.1,130.6-305.3,142.1-361c13.4-65.3,21.1-428.2,21.1-1031.2V-4780h172.8h172.8l-1.9,265c-1.9,144-7.7,457-15.4,695.1c-5.8,238.1-5.8,579.9,1.9,760.4l15.4,328.4l105.6,218.9c57.6,121,105.6,232.3,105.6,249.6c0,21.1-73,74.9-197.8,147.8c-109.5,63.4-259.2,163.2-332.2,222.8c-73,59.5-142.1,107.5-155.5,107.5C4030.2-1784.3,3989.9-1815.1,3953.4-1851.6z"/></g></g>
</svg>

2 个答案:

答案 0 :(得分:0)

在(Android Studio)中转到文件->新建->矢量资产 提供.svg android studio的路径会将您的.svg转换为矢量

答案 1 :(得分:0)

Android Vector资产仅支持SVG的一部分。如果不是很复杂,则可以尝试手动编辑SVG,以删除不兼容的部分(在您的情况下,可能是元数据和转换)。无论如何,翻译和缩放都可以其他方式执行。尝试仅将path标记保留在svg标记内。