AndroidStudio 3.0 / Android Gradle plugin 3.0
<vector>
<path android:fillColor="@color/image_button_disabled"/>
</vector>
Saya mendapatkan kesalahan ini:
referensi ke sumber daya lain tidak didukung oleh generasi PNG waktu bangun
Apakah mungkin untuk menyelesaikannya atau apakah itu solusi usang?
android
resources
android-studio-3.0
langme
sumber
sumber
Jawaban:
Untuk mendukung API SDK <24 tambahkan baris berikut ke aplikasi Anda
build.gradle
:Jika minSdkVersion Anda 24 atau lebih tinggi, maka masalah Anda akan teratasi dengan sendirinya, karena VectorDrawables memiliki dukungan penuh dimulai dengan API ini.
Lihat Android Developers: Solusi Kompatibilitas Vektor Drawable Backward untuk detail.
sumber
Anda perlu menggunakan kode hex langsung tidak merujuk ke sumber daya.
sumber
vectorDrawables.useSupportLibrary = true
ke Andabuild.gradle
.Sedikit lebih banyak konteks untuk kesalahan ini:
Untuk pustaka dukungan, tambahkan pernyataan ke file build.gradle Anda:
sumber
fillType
adalahnonZero
tetapi hanya berbeda darievenOdd
dalam kasus-kasus tertentu: w3.org/TR/SVG/painting.html#FillRulePropertyJangan gunakan colorReference pada atribut fillColor di Vector drawable, cukup gunakan kode hexa
gunakan seperti ini
bukannya ini
sumber
Jika minSdkVersion Anda 21, Anda dapat menonaktifkan pembuatan PNG dengan menambahkan baris ini:
Menghapus garis ini masih akan menghasilkan PNG.
Sumber: http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html
sumber
Saya sudah bisa mengatasi ini dengan melakukan hal berikut:
Dengan cara ini kompiler akan bekerja
sumber
Saya pikir Anda menggunakan
android:fillColor="@color/image_button_disabled"
kode ini untuk menggambar vektor.Itu tidak didukung.
Ganti saja dengan
android:fillColor="#c4ca5e"
sumber
Untuk menambahkan hingga @ mwa91, jawab .
Jika Anda membutuhkan tema dinamis drawable, tetapi Anda tidak punya waktu untuk memperbarui layout Anda dan pergi dengan @ mwa91 jawab dan ubah semua
android:src="@drawable/..."
atributapp:srcCompat="@drawable/..."
, Anda selalu dapat menggunakan nilai warna hex dalam drawable dan kemudian mewarnai drawable di ImageView:sumber