簡體   English   中英

android.content.res.Resources$NotFoundException File res/drawable/$my_app_img__0.xml 來自顏色狀態列表資源 ID #0x7f07000a

[英]android.content.res.Resources$NotFoundException File res/drawable/$my_app_img__0.xml from color state list resource ID #0x7f07000a

ImageViewapp:srcCompat="@drawable/my_app_img"

我得到:

android.content.res.Resources$NotFoundException File res/drawable/$my_app_img__0.xml 來自顏色狀態列表資源 ID #0x7f07000a

在 Android 6 上,不要在 8 及更高版本上使用它。

這是my_app_img.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    xmlns:tools="http://schemas.android.com/tools"
    android:width="73dp"
    android:height="103dp"
    android:viewportWidth="73"
    android:viewportHeight="103">
    <path
        android:fillAlpha="0"
        android:fillColor="#000000"
        android:pathData="M0,0l72.299,0l0,103l-72.299,0z" />
    <path android:pathData="M70.379,96.761L40.602,56.464L25.724,77.276C22.268,82.111 22.324,88.62 25.864,93.394L28.417,96.839C31.291,100.714 35.832,103 40.659,103H67.227C70.442,103 72.288,99.345 70.379,96.761Z">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endColor="#FF094EC2"
                android:endX="31.7222"
                android:endY="68.3161"
                android:startColor="#FF005AF4"
                android:startX="57.4428"
                android:startY="104.487"
                android:type="linear"
                tools:targetApi="n" />
        </aapt:attr>
    </path>
    <path android:pathData="M68.592,0H38.75C36.254,0 33.907,1.188 32.431,3.199L2.949,43.369C-0.919,48.64 -0.988,55.79 2.778,61.134L19.001,84.156C19.001,80.833 20.044,77.594 21.984,74.895L71.598,5.853C73.355,3.407 71.606,0 68.592,0Z">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endColor="#FF29EEFD"
                android:endX="32.6558"
                android:endY="31.6712"
                android:startColor="#FF2EB3ED"
                android:startX="6.53102"
                android:startY="64.8591"
                android:type="linear" />
        </aapt:attr>
    </path>
</vector>

我也使用:

vectorDrawables.useSupportLibrary = true

我認為這個問題與矢量 drawable 中存在的梯度有關。 您在那里設置了帶有漸變的<aapt:attr name="android:fillColor">參數,通過查看文檔,似乎只有 SDK 24+ 才支持漸變

Android 矢量可繪制

android:fillColor

指定用於填充路徑的顏色。 可能是一種顏色,或者,對於 SDK 24+,顏色狀態列表或漸變顏色

您可以嘗試不使用漸變,看看它是否有效。

我有同樣的問題。 我發現它的原因似乎是android等級插件版本的問題。

您的矢量圖像僅支持 API 24 或更高版本。 在 3.2.x 或以下版本,我在 API 24 下從設備更改為 PNG 文件。但是,從 3.3.x 開始,該部分出現崩潰。

您使用的是3.3.x嗎?

如果是這樣,您可以使用 Are you using 3.2.x or below Or it works well with AndroidX

或者,您可以僅在 API 版本 24 或更高版本中使用 Vector,或在較低版本中使用 PNG 文件。

我還沒有找到更好的方法。

我希望這有幫助。

我正在使用ImageView並用AppCompatImageView替換它並修復它以便它可以兼容 < 24

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM