相关疑难解决方法(0)

VectorDrawable:无效的可绘制标记渐变

我一直在使用Android Asset Studio从Zeplin导出的SVG文件生成矢量drawables一段时间,除了几次,它工作正常.但是今天我尝试使用生成的矢量drawable时遇到了这个异常.

android.view.InflateException: Binary XML file line #0: Error inflating class <unknown>
Run Code Online (Sandbox Code Playgroud)

并在相同的堆栈跟踪中:

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #0: invalid drawable tag gradient
Run Code Online (Sandbox Code Playgroud)

我对Android中的Vector drawables和SVG知之甚少.Vector drawables中是否不支持渐变?是否有解决此问题的方法,还是需要使用PNG?

我使用支持库版本:

com.android.support:support-v4:26.1.0

我在用

Android Studio 3.0

以下是Android Asset Studio生成的VectorDrawable文件:

<vector 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:aapt="http://schemas.android.com/aapt"
    android:width="360dp"
    android:height="110dp"
    android:viewportWidth="360.0"
    android:viewportHeight="110.0">
    <path
        android:pathData="M82,46H0v64h360V46h-81.88v-0.3h-26.21c-14.25,0 -38.69,-6.2 -46.95,-25.93C200.99,10.25 193.27,0.52 180,0.47c-13.27,-0.05 -20.04,9.24 -24.75,19.3 -8.22,17.55 -24.66,26.19 -49.34,25.93H82V46z"
        android:fillType="evenOdd">
        <aapt:attr name="android:fillColor">
            <gradient 
                android:startY="0.41999998688697815" 
                android:startX="0.0" 
                android:endY="110.0" 
                android:type="linear" 
                android:endX="360.0">
                <item android:offset="0.0" android:color="#FFCB09FF" />
                <item android:offset="1.0" android:color="#FF8A06FF" />
            </gradient>
        </aapt:attr></path>
</vector>
Run Code Online (Sandbox Code Playgroud)

链接到原始SVG文件:https://drive.google.com/file/d/1Lj62xJv5IpYR5Lle7w1kMsFXh6y5PijK/view? …

android android-layout android-vectordrawable

15
推荐指数
6
解决办法
5892
查看次数