Android Studio menyertakan alat bernama Vector Asset Studio yang membantu Anda menambahkan ikon Material dan mengimpor file Scalable Vector Graphic (SVG) dan Adobe Photoshop Document (PSD) ke dalam project sebagai resource vektor drawable. Penggunaan vektor drawable sebagai ganti bitmap akan mengurangi ukuran APK karena file yang sama dapat diubah ukurannya untuk kepadatan layar yang berbeda tanpa mengurangi kualitas gambar. Untuk Android versi lama yang tidak mendukung vektor drawable, Vector Asset Studio dapat, selama proses build, mengubah vektor drawable menjadi beragam ukuran bitmap untuk setiap kepadatan layar.
Tentang Vector Asset Studio
Vector Asset Studio menambahkan grafik vektor ke project sebagai file XML yang menjelaskan gambar tersebut. Memelihara satu file XML lebih mudah daripada mengupdate beberapa grafis raster pada beragam resolusi.
Untuk menggunakan vektor drawable dengan Jetpack Compose, Anda harus menyetel level API minimum ke Android 5.0 (level API 21) dan yang lebih tinggi.
Android 4.4 (API level 20) dan yang lebih lama tidak mendukung vektor drawable. Jika API level minimum Anda disetel pada salah satu API level ini, Anda memiliki dua opsi saat menggunakan Vector Asset Studio: menghasilkan file Portable Network Graphic (PNG) (default) atau menggunakan teknik kompatibilitas mundur di AndroidX.
Untuk kompatibilitas dengan versi sebelumnya, Vector Asset Studio menghasilkan gambar raster dari
vector drawable. Vektor dan raster drawable dipaketkan bersama dalam
APK. Anda dapat merujuk ke vektor drawable sebagai Drawable dalam kode Kotlin atau
@drawable dalam kode XML; saat aplikasi Anda berjalan, gambar vektor
atau raster yang terkait akan otomatis ditampilkan, bergantung pada level API.
Jika ingin menggunakan vektor drawable saja, Anda dapat menggunakan AndroidX 1.0.0 atau yang lebih tinggi. Teknik ini mengharuskan perubahan pada file build.gradle sebelum Anda menjalankan Vector Asset Studio, seperti yang dijelaskan dalam AndroidX. Class
VectorDrawableCompat di AndroidX memungkinkan Anda mendukung
VectorDrawable di Android 2.1 (API level 7) dan yang lebih tinggi.
Jenis grafik vektor yang didukung
Spesifikasi Desain Material Google menyediakan ikon Material yang dapat Anda gunakan dalam aplikasi Android. Vector Asset Studio membantu Anda memilih, mengimpor, dan mengukur ikon Material, serta menentukan opasitas dan setelan pencerminan Right-to-Left (RTL).
Vector Asset Studio juga memungkinkan Anda mengimpor file SVG dan PSD milik sendiri. SVG adalah standar terbuka berbasis XML dari World Wide Web Consortium (W3C). Format file PSD mendukung fitur Adobe Photoshop. Vector Asset Studio mendukung standar penting, tetapi tidak semua fitur SVG dan PSD. Saat Anda menetapkan file SVG atau PSD, Vector Asset Studio akan memberikan masukan langsung tentang apakah kode grafis tersebut didukung atau tidak. Vector Asset Studio akan mengonversi file ini menjadi file XML yang berisi kode VectorDrawable. Jika menerima pesan error, sebaiknya Anda
memverifikasi apakah vektor drawable muncul sebagaimana yang diinginkan. Untuk informasi selengkapnya tentang fitur PSD yang diperbolehkan, lihat Dukungan dan pembatasan untuk file PSD.
Untuk Android 5.0 (API level 21) dan yang lebih tinggi, Anda dapat menggunakan class
AnimatedVectorDrawable untuk menganimasikan properti class
VectorDrawable. Dengan AndroidX, Anda dapat menggunakan class
AnimatedVectorDrawableCompat untuk menganimasikan class VectorDrawable
untuk Android 3.0 (API level 11) dan yang lebih tinggi. Untuk mengetahui informasi selengkapnya, lihat
Gambar vektor animasi di Compose.
Pertimbangan untuk file SVG dan PSD
Vektor drawable sesuai untuk ikon sederhana. Ikon Material memberikan contoh bagus untuk jenis gambar yang berfungsi dengan baik sebagai vektor drawable dalam aplikasi. Sebaliknya, banyak ikon peluncuran aplikasi yang berisi banyak detail, sehingga ikon aplikasi tersebut berfungsi lebih baik sebagai gambar raster.
Pemuatan awal vektor drawable dapat menggunakan lebih banyak siklus CPU daripada gambar raster yang sesuai. Selain itu, penggunaan dan performa memori keduanya akan serupa. Sebaiknya batasi gambar vektor hingga maksimum 200 x 200 dp; jika tidak, proses menggambar akan memerlukan waktu terlalu lama.
Meskipun vektor drawable mendukung satu atau beberapa warna, dalam banyak kasus, akan lebih baik jika warna ikon ditetapkan ke hitam (android:fillColor="#FF000000"). Dengan menggunakan pendekatan ini, Anda dapat menambahkan tint ke vektor drawable yang ditempatkan di tata letak, dan warna ikon akan berubah sesuai warna tint. Jika warna ikon
bukan hitam, warna ikon akan menyatu dengan warna tint.
Solusi kompatibilitas mundur vektor drawable
Tabel berikut merangkum dua teknik yang dapat Anda gunakan untuk kompatibilitas mundur:
| Teknik | Drawable di APK | Elemen XML VectorDrawable | Versi | Flag build | Kode aplikasi |
|---|---|---|---|---|---|
| Pembuatan PNG | Vektor dan raster | Mendukung subset | SVG: Android Plugin untuk Gradle 1.5.0 atau yang lebih tinggi PSD: Android Studio 2.2 atau yang lebih tinggi |
Default | Mendukung berbagai teknik coding |
| AndroidX 1.0 atau yang lebih tinggi | Vektor | Dukungan penuh | Plugin Android untuk Gradle 3.2 atau yang lebih tinggi | Diperlukan pernyataan Support Library | Mendukung subset teknik coding |
Penggunaan vektor drawable dapat menghasilkan ukuran APK yang lebih kecil, tetapi pemuatan awal vektor drawable dapat memerlukan waktu lebih lama.
Pembuatan PNG
Android 5.0 (API level 21) dan yang lebih lama menyediakan dukungan vektor drawable. Jika aplikasi Anda memiliki API level minimum yang lebih rendah, Vector Asset Studio akan menambahkan file vektor drawable ke project Anda; selain itu, pada waktu build, Gradle akan membuat gambar raster PNG dengan beragam resolusi. Gradle menghasilkan kepadatan PNG yang ditentukan oleh properti
generatedDensities Domain Specific Language (DSL)
dalam file build.gradle.
Untuk Android 5.0 (API level 21) dan yang lebih tinggi, Vector Asset Studio mendukung semua elemen VectorDrawable. Untuk kompatibilitas mundur dengan Android 4.4 (API level 20) dan yang lebih rendah, Vector Asset Studio mendukung elemen XML berikut:
<vector>
android:widthandroid:heightandroid:viewportWidthandroid:viewportHeightandroid:alpha
<group>
android:rotationandroid:pivotXandroid:pivotYandroid:scaleXandroid:scaleYandroid:translateXandroid:translateY
<path>
android:pathDataandroid:fillColorandroid:strokeColorandroid:strokeWidthandroid:strokeAlphaandroid:fillAlphaandroid:strokeLineCapandroid:strokeLineJoinandroid:strokeMiterLimit
Anda dapat mengubah kode XML yang dihasilkan Vector Asset Studio, meskipun tindakan ini bukan praktik terbaik. Mengubah nilai dalam kode seharusnya tidak menyebabkan masalah apa pun, asalkan nilai dalam kode valid dan statis. Jika ingin menambahkan elemen XML, Anda harus memastikan elemen XML tersebut didukung berdasarkan level API minimum.
AndroidX
Teknik ini memerlukan AndroidX 1.0 atau yang lebih tinggi dan Plugin Android untuk Gradle 3.2 atau yang lebih tinggi, serta hanya menggunakan vektor drawable. Class VectorDrawableCompat
di AndroidX memungkinkan Anda mendukung VectorDrawable di
Android 2.1 (API level 7) dan yang lebih tinggi.
Sebelum menggunakan Vector Asset Studio, Anda harus menambahkan pernyataan ke file build.gradle:
Kotlin
android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { implementation("androidx.appcompat:appcompat:1.7.1") }
Groovy
android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { implementation 'androidx.appcompat:appcompat:1.7.1' }
Menjalankan Vector Asset Studio
Untuk memulai Vector Asset Studio:
Di Android Studio, buka project aplikasi Android.
Di jendela Project, pilih Android view.
Klik kanan folder res, lalu pilih New > Vector Asset.
Beberapa folder dan tampilan project lainnya juga memiliki item menu ini.
Vector Asset Studio akan muncul.
Gambar 1. Vector Asset Studio.
Jika yang muncul justru dialog Need Newer Android Plugin for Gradle, perbaiki versi Gradle Anda seperti berikut:
Pilih File > Project Structure.
Pada dialog Project Structure, pilih Project.
Pada kolom Android Plugin Version, ubah versi Plugin Android untuk Gradle ke 1.5.0 atau yang lebih tinggi, lalu klik OK.
Gradle akan menyinkronkan project.
Pada Android view di jendela Project, klik kanan folder res, lalu pilih New > Vector Asset.
Vector Asset Studio akan muncul.
Lanjutkan dengan Mengimpor Grafik Vektor.
Mengimpor grafik vektor
Vector Asset Studio membantu Anda mengimpor file grafik vektor ke dalam project aplikasi. Ikuti salah satu prosedur berikut:
Menambahkan ikon Material
Setelah membuka Vector Asset Studio, Anda dapat menambahkan ikon Material seperti berikut:
Di Vector Asset Studio, pilih Clip art.
Di kolom Clip art, klik tombol.
Dialog Select Icon akan muncul. Anda dapat memfilter ikon yang terlihat dengan memilih kategori ikon dari menu atau mengetik di kolom penelusuran seperti yang ditunjukkan pada gambar 2.
Gambar 2. Memfilter ikon Material di Vector Asset Studio.
Pilih ikon Material, lalu klik OK. Ikon akan muncul di Vector Drawable Preview.
Anda dapat memilih untuk mengubah nama resource, ukuran, opasitas, dan setelan pencerminan Right-To-Left (RTL):
Name - Ketik nama baru jika Anda tidak ingin menggunakan nama default. Vector Asset Studio otomatis membuat nama unik (menambahkan angka di akhir nama) jika nama resource sudah ada dalam project. Nama hanya boleh berisi karakter huruf kecil, garis bawah, dan angka.
Override - Pilih opsi ini jika Anda ingin menyesuaikan ukuran gambar. Saat Anda mengetik ukuran baru, perubahan akan muncul di area pratinjau.
Defaultnya adalah 24 x 24 dp, yang ditentukan dalam spesifikasi Desain material. Hapus centang pada kotak untuk menampilkan nilai default.
Opacity - Gunakan penggeser untuk menyesuaikan opasitas gambar. Perubahan akan muncul di area pratinjau.
Enable auto mirroring for RTL layout - Pilih opsi ini jika Anda ingin gambar pencerminan ditampilkan saat tata letak disetel kanan ke kiri, bukan kiri ke kanan. Misalnya, beberapa bahasa dibaca dari kanan ke kiri; jika Anda memiliki ikon panah, Anda mungkin ingin menampilkan gambar hasil pencerminannya dalam kasus ini. Perhatikan bahwa jika Anda mengerjakan project lama, Anda mungkin juga perlu menambahkan
android:supportsRtl="true"ke manifes aplikasi. Pencerminan otomatis didukung di Android 5.0 (level API 21) dan yang lebih tinggi, serta dengan AndroidX.
Klik Berikutnya.
Anda memiliki pilihan untuk mengubah modul dan direktori resource:
- Res Directory - Pilih set sumber resource tempat Anda ingin menambahkan vektor drawable:
src/main/res,src/debug/res,src/release/res, atau set sumber yang ditentukan pengguna. Set sumber utama diterapkan ke semua varian build, termasuk debug dan rilis. Set sumber debug dan rilis akan menggantikan set sumber utama dan diterapkan ke satu versi build. Set sumber debug hanya untuk proses debug. Untuk menentukan set sumber baru, pilih File > Project Structure > app > Build Types. Misalnya, Anda dapat menentukan set sumber beta dan membuat versi ikon yang menyertakan teks "BETA" di sudut kanan bawah. Untuk informasi selengkapnya, lihat Mengonfigurasi Varian Build.
Area Output Directories menampilkan vektor drawable dan direktori tempat munculnya.
- Res Directory - Pilih set sumber resource tempat Anda ingin menambahkan vektor drawable:
Klik Finish.
Vector Asset Studio menambahkan file XML yang mendefinisikan vektor drawable ke project dalam folder
app/src/main/res/drawable/. Dari Android view di jendela Project, Anda dapat melihat file XML vektor yang dihasilkan dalam folder drawable.Buat project.
Jika API level minimum adalah Android 4.4 (API level 20) dan yang lebih rendah, dan Anda belum mengaktifkan teknik AndroidX, Vector Asset Studio akan menghasilkan file PNG. Dari Project Files view di jendela Project, Anda dapat menampilkan file PNG dan XML yang dihasilkan dalam folder
app/build/generated/res/pngs/debug/.Anda tidak boleh mengedit file raster yang dihasilkan ini, dan sebagai gantinya gunakan file XML vektor. Sistem build akan otomatis menghasilkan kembali file raster jika diperlukan, jadi Anda tidak perlu mengelolanya.
Mengimpor file SVG atau PSD
Setelah membuka Vector Asset Studio, Anda dapat mengimpor file SVG atau PSD seperti berikut:
Di Vector Asset Studio, pilih Local file.
File tersebut harus berada di drive lokal. Jika terletak di jaringan, misalnya, Anda perlu mendownloadnya ke drive lokal terlebih dahulu.
Tetapkan Image file dengan mengklik ….
Gambar akan muncul di Vector Drawable Preview.
Jika file SVG atau PSD berisi fitur yang tidak didukung, pesan error akan muncul di bagian bawah Vector Asset Studio, seperti yang ditampilkan dalam gambar 3.
Gambar 3. Vector Asset Studio menampilkan beberapa error.
Jika melihat error, Anda perlu memastikan bahwa vektor drawable yang diimpor telah dirender dengan benar. Scroll daftar untuk melihat error.
Untuk daftar elemen yang didukung, lihat Solusi Kompatibilitas Mundur Vektor Drawable. Untuk informasi selengkapnya tentang file PSD yang diizinkan, lihat Dukungan dan Pembatasan untuk File PSD.
Anda dapat memilih untuk mengubah nama resource, ukuran, opasitas, dan setelan pencerminan Right-To-Left (RTL):
Name - Ketik nama baru jika Anda tidak ingin menggunakan nama default. Vector Asset Studio otomatis membuat nama unik (menambahkan angka di akhir nama) jika nama resource sudah ada dalam project. Nama hanya boleh berisi karakter huruf kecil, garis bawah, dan angka.
Override - Pilih opsi ini jika Anda ingin menyesuaikan ukuran gambar. Setelah memilihnya, ukuran akan berubah ke ukuran asli gambar. Setiap kali Anda mengubah ukuran, perubahan tersebut akan muncul di area pratinjau. Defaultnya adalah 24 x 24 dp, yang ditentukan dalam spesifikasi Desain material.
Opacity - Gunakan penggeser untuk menyesuaikan opasitas gambar. Perubahan akan muncul di area pratinjau.
Enable auto mirroring for RTL layout - Pilih opsi ini jika Anda ingin gambar pencerminan ditampilkan saat tata letak disetel kanan ke kiri, bukan kiri ke kanan. Misalnya, beberapa bahasa dibaca dari kanan ke kiri. Dalam kasus ini, jika memiliki ikon panah, Anda mungkin ingin menampilkan gambar hasil pencerminannya. Perhatikan bahwa jika sedang mengerjakan project lama, Anda mungkin perlu menambahkan
android:supportsRtl="true"ke manifes aplikasi. Pencerminan otomatis didukung oleh Android 5.0 (level API 21) dan yang lebih tinggi, serta AndroidX.
Klik Berikutnya.
Jika mau, Anda dapat mengubah direktori resource:
- Res Directory - Pilih set sumber resource tempat Anda ingin menambahkan
vektor drawable:
src/main/res,src/debug/res,src/release/res, atau set sumber yang ditentukan pengguna. Set sumber utama diterapkan ke semua varian build, termasuk debug dan rilis. Set sumber debug dan rilis menggantikan set sumber utama dan diterapkan ke satu versi build. Set sumber debug hanya untuk proses debug. Untuk menentukan set sumber baru, pilih File > Project Structure > app > Build Types. Misalnya, Anda dapat menentukan set sumber beta dan membuat versi ikon yang menyertakan teks "BETA" di sudut kanan bawah. Untuk informasi selengkapnya, lihat Mengonfigurasi Varian Build.
Area Output Directories menampilkan vektor drawable dan direktori tempat munculnya.
- Res Directory - Pilih set sumber resource tempat Anda ingin menambahkan
vektor drawable:
Klik Finish.
Vector Asset Studio menambahkan file XML yang mendefinisikan vektor drawable ke project dalam folder
app/src/main/res/drawable/. Dari Android view di jendela Project, Anda dapat melihat file XML vektor yang dihasilkan dalam folder drawable.Buat project.
Jika API level minimum adalah Android 4.4 (API level 20) dan yang lebih rendah, dan Anda belum mengaktifkan teknik AndroidX, Vector Asset Studio akan menghasilkan file PNG. Dari Project Files view di jendela Project, Anda dapat menampilkan file PNG dan XML yang dihasilkan dalam folder
app/build/generated/res/pngs/debug/.Anda tidak boleh mengedit file raster yang dihasilkan ini, dan sebagai gantinya gunakan file XML vektor. Sistem build akan otomatis menghasilkan kembali file raster jika diperlukan, jadi Anda tidak perlu mengelolanya.
Mereferensikan aset vektor di Jetpack Compose
Setelah menggunakan Vector Asset Studio untuk menambahkan aset ke folder res/drawable, Anda dapat mereferensikannya dalam kode.
Di Jetpack Compose, cara paling umum untuk menampilkan vektor adalah dengan menggunakan
composable Icon atau Image.
Composable Icon adalah cara standar untuk menampilkan aset kecil monokromatik. Compose menyediakan dukungan bawaan untuk prinsip Desain Material, seperti
menerapkan pewarnaan dinamis berdasarkan tema Material 3 dan aksesibilitas otomatis
melalui deskripsi konten.
Gunakan API painterResource untuk menyediakan aset vektor XML ke composable:
Icon( painter = painterResource(id = R.drawable.ic_speedometer), tint = MaterialTheme.colorScheme.primary, // Applies dynamic theme color contentDescription = "Current Speed", // Essential for accessibility )
Untuk vektor yang kompleks dan multiwarna, gunakan composable Image:
Image( painter = painterResource(id = R.drawable.ic_complex_vector), contentDescription = null // Decorative element )
Untuk skenario kompleks lainnya, seperti menyesuaikan gambar atau mengoptimalkan performa, lihat Bekerja dengan gambar. Untuk menganimasikan vektor, lihat Gambar vektor animasi di Compose.
Memodifikasi kode XML yang dihasilkan oleh Vector Asset Studio
Anda dapat memodifikasi kode XML vektor drawable, tetapi tidak dengan PNG dan kode XML terkait yang dihasilkan pada waktu build. Namun, kami tidak merekomendasikannya.
Saat menggunakan teknik pembuatan PNG, Vector Asset Studio akan memastikan bahwa vektor drawable dan PNG sesuai, dan manifes berisi kode yang tepat. Jika Anda menambahkan kode yang tidak didukung pada Android 4.4 (API level 20) dan yang lebih rendah, gambar vektor dan PNG mungkin akan berbeda. Anda juga harus memastikan bahwa manifes berisi kode untuk mendukung perubahan Anda.
Untuk memodifikasi file XML vektor saat Anda tidak menggunakan teknik AndroidX:
Di jendela Project, klik dua kali file XML vektor yang dihasilkan dalam folder drawable.
File XML akan muncul di editor dan jendela Preview.
Gambar 4. File XML vektor yang ditampilkan di Code Editor dan jendela Preview.
Edit kode XML berdasarkan apa yang didukung oleh API level minimum:
Android 5.0 (API level 21) dan yang lebih tinggi - Vector Asset Studio mendukung semua elemen
DrawabledanVectorDrawable. Anda dapat menambahkan elemen XML dan mengubah nilainya. Untuk Jetpack Compose, Anda dapat memuat drawable vektor keImageVectoruntuk penyesuaian lebih lanjut.Android 4.4 (level API 20) dan yang lebih rendah - Vector Asset Studio mendukung semua elemen
Drawabledan subset elemenVectorDrawable. Lihat Solusi Kompatibilitas Mundur Vektor Drawable untuk daftarnya. Anda dapat mengubah nilai dalam kode yang dihasilkan dan menambahkan elemen XML yang didukung.
Buat project dan pastikan bahwa vektor drawable dan gambar raster yang sesuai tampak sama.
Perlu diingat bahwa PNG yang dihasilkan dapat ditampilkan secara berbeda di jendela Preview daripada di aplikasi karena mesin rendering yang berbeda dan segala perubahan yang dibuat pada vektor drawable sebelum build. Jika Anda menambahkan kode ke file XML vektor yang dibuat oleh Vector Asset Studio, semua fitur yang tidak didukung di Android 4.4 (API level 20) dan yang lebih rendah tidak akan muncul di file PNG yang dihasilkan. Oleh karena itu, saat menambahkan kode, Anda harus selalu memeriksa apakah PNG yang dihasilkan sesuai dengan vektor drawable. Caranya, Anda dapat mengklik dua kali PNG di Project Files view pada jendela Project; margin kiri Code Editor juga menampilkan gambar PNG saat kode Anda merujuk ke drawable, seperti yang ditampilkan dalam gambar 5.
Gambar 5. Gambar PNG ditampilkan di margin kiri Code Editor.
Menghapus vektor drawable dari project
Untuk menghapus vektor drawable dari project:
Di jendela Project, hapus file XML vektor yang dihasilkan dengan memilih file dan menekan tombol Delete (atau pilih Edit > Delete).
Dialog Safe Delete akan muncul.
Jika ingin, pilih opsi untuk menemukan tempat file digunakan dalam project, lalu klik OK.
Android Studio akan menghapus file tersebut dari project dan drive. Namun, jika Anda memilih untuk mencari tempat dalam project tempat file digunakan dan beberapa penggunaan ditemukan, Anda dapat menampilkannya dan memutuskan apakah akan menghapus file tersebut atau tidak.
Pilih Build > Clean Project.
Semua file PNG dan XML yang dihasilkan secara otomatis yang terkait dengan vektor drawable yang dihapus akan dihapus dari project dan drive.
Menghasilkan aplikasi yang berisi vektor drawable
Jika Anda menggunakan teknik AndroidX atau API level minimum Anda adalah Android 5.0 (API level 21) atau yang lebih tinggi, APK Anda akan berisi vektor drawable yang Anda tambahkan dengan Vector Asset Studio. Semua APK ini akan lebih kecil dibandingkan jika gambar vektor dikonversi ke PNG.
Saat level minimum API Anda menyertakan Android 4.4 (API level 20) atau yang lebih rendah, dan Anda memiliki vektor drawable dan gambar raster terkait di project, Anda memiliki dua opsi untuk menghasilkan file APK:
- Buat satu APK yang menyertakan vektor drawable dan representasi raster yang sama. Inilah solusi paling sederhana untuk diterapkan.
- Buat APK terpisah untuk API level yang berbeda. Jika Anda tidak menyertakan gambar raster terkait dalam APK untuk Android 5.0 (API level 21) dan yang lebih tinggi, maka ukuran APK bisa jadi jauh lebih kecil. Untuk mengetahui informasi selengkapnya, lihat Dukungan Multi-APK.
Dukungan dan pembatasan untuk file PSD
Tidak semua fitur file PSD didukung oleh Vector Asset Studio. Daftar berikut merangkum karakteristik PSD yang didukung dan tidak didukung, serta beberapa detail konversi.
Dokumen
Didukung:
- Mode warna PSD untuk bitmap, hitam putih, indexed, RGB, Lab, atau CMYK.
- Kedalaman warna 8, 16, atau 32 bit.
Detail konversi:
- Dimensi dokumen PSD menjadi dimensi vektor drawable dan area pandang.
Tidak didukung:
- Mode warna PSD untuk duotone atau multisaluran.
Bentuk
Didukung:
- Clipping mask, jika dasar klipping adalah bentuk lain.
- Operasi bentuk, meliputi merge/add, intersect, subtract, dan exclude.
Tidak didukung:
Aturan pengisian ganjil-genap yang digunakan oleh bentuk di Photoshop. Di Android 6.0 (API level 23) dan yang lebih rendah, vektor drawable hanya mendukung aturan pengisian nonzero. Pada bentuk yang saling berpotongan sendiri, pembatasan ini dapat mengakibatkan perbedaan rendering antara PSD dan vektor drawable yang dihasilkan. Untuk memperbaiki masalah ini, tambahkan
android:fillType="evenOdd"pada bentuk tersebut di vektor drawable. Contoh:<vector xmlns:android="https://schemas.android.com/apk/res/android" android:viewportHeight="168" android:height="24dp" android:viewportWidth="209" android:width="24dp"> <path android:fillAlpha="1.0" android:fillColor="#000000" android:fillType="evenOdd" android:pathData="M24,58 L24,167 L114,167 L114,66 M64,1 L64,96 L208,96 L208,8 M1,97 L146,139 L172,47"/> </vector>
Garis dan isian
Didukung:
- Bentuk garis, termasuk warna, opasitas, lebar, sambungan, penutup, garis putus-putus, dan kesejajaran.
- Garis dan isian warna solid.
- Warna isian dan garis ditetapkan sebagai RGB, Lab, atau CMYK.
Detail konversi:
- Jika garis tampak putus-putus, dipotong menggunakan clipping base, atau menggunakan penyejajaran yang berbeda dengan bagian tengah, Vector Asset Studio akan mengonversinya menjadi bentuk isian di vektor drawable.
Tidak didukung:
- Garis dan isian warna selain solid, seperti gradien.
Opasitas
Didukung:
- Lapisan bentuk dengan opasitas 0.
Detail konversi:
- Vector Asset Studio melipatgandakan opasitas isian dengan opasitas lapisan untuk menghitung alfa isian.
- Alat ini melipatgandakan opasitas basis pemangkasan (jika ada) dengan alfa isian untuk menghitung alfa isian akhir.
- Alat ini melipatgandakan opasitas garis dengan opasitas lapisan untuk menghitung alfa garis.
- Alat ini melipatgandakan opasitas clipping base (jika ada) dengan alfa garis untuk menghitung alfa garis akhir.
Lapisan
Didukung:
- Semua lapisan bentuk yang visible.
Detail konversi:
- Vector Asset Studio menyimpan nama lapisan di file vektor drawable.
Tidak didukung:
- Efek layer.
- Layer teks dan penyesuaian.
- Mode Blending (diabaikan).
Dukungan dan pembatasan untuk file SVG
Vector Asset Studio hanya mendukung sebagian fitur file SVG. Bagian berikut merangkum fitur yang didukung dan tidak didukung saat alat mengonversi file SVG menjadi VectorDrawable, beserta detail konversi tambahan.
Fitur yang didukung
VectorDrawable mendukung semua fitur dari Tiny SVG 1.2
kecuali teks.
Bentuk
VectorDrawable mendukung jalur SVG.
Alat ini mengonversi bentuk dasar seperti lingkaran, persegi, dan poligon menjadi jalur.
Transformasi
Alat ini mendukung matriks transformasi dan menerapkannya langsung ke jalur turunan.
Grup
Alat ini mendukung elemen grup untuk penerjemahan, penskalaan, dan rotasi. Grup tidak mendukung properti opasitas.
Alat ini juga menerapkan gaya atau opasitas grup ke jalur turunan.
Isian dan garis
Jalur dapat diisi dan diberi garis menggunakan warna solid atau gradien (linier, radial, atau sudut). Hanya garis terpusat yang didukung. Mode campuran tidak didukung. Jalur putus-putus tidak didukung.
Topeng
Alat ini mendukung satu mask pemangkasan per grup.
Fitur yang tidak didukung oleh pengimpor SVG
Semua fitur yang tidak tercantum di bagian Fitur yang didukung sebelumnya tidak didukung. Fitur penting yang tidak didukung antara lain:
- Efek filter: efek seperti drop shadow, blur, dan matriks warna tidak didukung.
- Teks: konversi teks menjadi bentuk menggunakan alat lain sangat disarankan.
- Isian pola
Referensi lainnya
Untuk mengetahui informasi selengkapnya tentang grafik vektor, lihat referensi tambahan berikut: