VectorDrawable 中用android:fillcolor加gradient导致的崩溃

今天在友盟发现一个崩溃次数特别的的bug. 就是下面这个。

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #8: invalid color state list tag gradient
    at android.content.res.ColorStateList.createFromXmlInner(ColorStateList.java:217)
    at android.content.res.ColorStateList.createFromXml(ColorStateList.java:201)
    at android.content.res.Resources.loadColorStateListForCookie(Resources.java:2802)
    ... 47 more

 

这是VectorDrawable源文件文件。 原因是用android:fillcolor加gradient,对path的作用要到android7.0以后。所以下面的文件只能放在文件夹drawable-v24里面。另外,再建一个没有gradient的xml文件,也就是没有渐变颜色的。放在drawable文件夹下面。问题就解决了。

<vector android:height="24dp" android:viewportHeight="49.599"
    android:viewportWidth="55.09" android:width="24dp"
    xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#fff" android:pathData="M27.323,43.274a4.413,4.413 0,0 1,0 -8.826,4.413 4.413,0 0,1 0,8.826ZM29.623,32.722h-4.6A1.144,1.144 0,0 1,23.888 31.634L23.185,18.588A1.149,1.149 0,0 1,23.5 17.728,1.12 1.12,0 0,1 24.32,17.374L30.325,17.374a1.12,1.12 0,0 1,0.82 0.354,1.149 1.149,0 0,1 0.315,0.86l-0.7,13.046A1.144,1.144 0,0 1,29.622 32.722Z"/>
    <path
        android:pathData="M50.038,49.1L5.051,49.1A4.447,4.447 0,0 1,1.175 46.853a4.558,4.558 0,0 1,-0.022 -4.588L23.645,2.777a4.474,4.474 0,0 1,7.8 0L53.936,42.266a4.549,4.549 0,0 1,-0.022 4.585A4.45,4.45 0,0 1,50.038 49.1ZM27.545,34.1a4.367,4.367 0,1 0,4.313 4.367A4.345,4.345 0,0 0,27.545 34.1ZM24.573,17.2a1.107,1.107 0,0 0,-0.81 0.35,1.138 1.138,0 0,0 -0.313,0.851l0.695,12.91a1.134,1.134 0,0 0,1.125 1.076h4.551A1.133,1.133 0,0 0,30.945 31.316l0.695,-12.91a1.138,1.138 0,0 0,-0.313 -0.851,1.107 1.107,0 0,0 -0.81,-0.35Z"
        android:strokeColor="#fdb03b" android:strokeWidth="1">
        <aapt:attr name="android:fillColor">
            <gradient android:endX="27.544771" android:endY="49.102"
                android:startX="27.544771" android:startY="0.40360656" android:type="linear">
                <item android:color="#FFFDCB4E" android:offset="0"/>
                <item android:color="#FFEF9B1E" android:offset="1"/>
            </gradient>
        </aapt:attr>
    </path>
</vector>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值