Dalam dokumen ini
- Tentang Vector Asset Studio
- Menjalankan Vector Asset Studio
- Mengimpor Grafis Vektor
- Menambahkan Drawable Vektor ke Layout
- Merujuk Drawable Vektor dalam Kode
- Memodifikasi Kode XML yang Dihasilkan oleh Vector Asset Studio
- Menghapus Drawable Vektor dari Proyek
- Menghasilkan Aplikasi yang Berisi Drawable Vektor
- Dukungan dan Pembatasan untuk File PSD
Lihat juga
- Membuat Drawable Vektor
- Ikon Material
- Kelas Drawable
- Kelas VectorDrawable
- Android Support Library 23.2
Video
Android Studio menyertakan alat bantu bernama Vector Asset Studio yang membantu Anda menambahkan ikon material dan mengimpor file Scalable Vector Graphic (SVG) dan Adobe Photoshop Document (PSD) ke dalam proyek sebagai sumber daya drawable vektor. Penggunaan drawable vektor sebagai ganti bitmap akan mengurangi ukuran APK karena file yang sama bisa diubah ukurannya untuk kepadatan layar yang berbeda tanpa mengurangi kualitas gambar. Untuk Android versi lama yang tidak mendukung drawable vektor, Vector Asset Studio bisa, pada waktu pembangunan, mengubah drawable vektor menjadi beragam ukuran bitmap untuk setiap kepadatan layar.
Tentang Vector Asset Studio
Vector Asset Studio menambahkan grafis vektor ke proyek sebagai file XML yang menggambarkan gambar tersebut. Memelihara satu file XML bisa jadi lebih mudah daripada memperbarui beberapa grafis bitmap dengan beragam resolusi.
Android 4.4 (API level 20) dan yang lebih rendah tidak mendukung drawable vektor. Jika API level minimum disetel pada salah satu API level ini, Anda memiliki dua opsi saat menggunakan Vector Asset Studio: membuat file Portable Network Graphic (PNG) (default) atau menggunakan Pustaka Dukungan.
Untuk kompatibilitas-mundur, Vector Asset Studio menghasilkan gambar bitmap drawable vektor. Drawable vektor dan bitmap dipaketkan bersama dalam APK. Anda bisa merujuk drawable vektor sebagai Drawable dalam kode Java atau @drawable dalam kode XML; bila aplikasi Anda berjalan, gambar vektor atau bitmap yang bersesuaian akan ditampilkan secara otomatis, tergantung pada API levelnya.
Jika Anda ingin menggunakan drawable vektor saja, Anda bisa menggunakan Android Support Library 23.2 atau yang lebih tinggi. Teknik ini mengharuskan perubahan pada file build.gradle sebelum Anda menjalankan Vector Asset Studio, seperti yang dijelaskan dalam Kompatibilitas Mundur Pustaka Dukungan. Kelas VectorDrawableCompat dalam Pustaka Dukungan memungkinkan Anda mendukung VectorDrawable di Android 2.1 (API level 7) dan yang lebih tinggi.
Tipe grafis vektor yang didukung
Spesifikasi desain material dari Google menyediakan ikon material yang bisa Anda gunakan dalam aplikasi Android. Vector Asset Studio membantu Anda memilih, mengimpor, dan mengukur ikon material, juga 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 berbagai fitur Adobe Photoshop. Vector Asset Studio mendukung fitur standar yang penting, namun tidak semua fitur SVG dan PSD. Bila Anda menetapkan file SVG atau PSD, Vector Asset Studio langsung akan memberikan masukan mengenai apakah kode grafis tersebut didukung atau tidak. Itu akan mengonversi file menjadi file XML yang berisi kode VectorDrawable. Jika menerima pesan kesalahan, Anda harus memverifikasi apakah drawable vektor 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 bisa menggunakan kelas AnimatedVectorDrawable untuk menganimasikan properti kelas VectorDrawable. Dengan Pustaka Dukungan tersebut, Anda bisa menggunakan kelas AnimatedVectorDrawableCompat untuk menganimasikan kelas VectorDrawable bagi Android 3.0 (API level 11) dan yang lebih tinggi. Untuk informasi selengkapnya, lihat Menganimasikan Drawable Vektor.
Pertimbangan untuk file SVG dan PSD
Drawable vektor cocok untuk ikon sederhana. Ikon material menyediakan contoh bagus untuk tipe gambar yang berfungsi dengan baik sebagai drawable vektor di aplikasi. Berlawanan dengan hal ini, banyak ikon peluncuran aplikasi yang berisi banyak detail, sehingga ikon tersebut akan berfungsi lebih baik sebagai gambar bitmap.
Pemuatan awal drawable vektor bisa menggunakan siklus CPU lebih banyak daripada gambar bitmap yang sama. Selain itu, penggunaan memori dan kinerja keduanya serupa. Kami menyarankan agar Anda membatasi gambar vektor ke maksimum 200 x 200 dp; jika tidak, butuh waktu terlalu lama untuk menggambar.
Walaupun drawable vektor memang mendukung satu atau beberapa warna, sebaiknya mewarnai ikon dengan hitam (android:fillColor="#FF000000") untuk penggunaan pada umumnya. Dengan menggunakan pendekatan ini, Anda bisa menambahkan pewarnaan ke drawable vektor yang ditempatkan di layout, dan warna ikon akan berubah sesuai warna pewarnaan. Jika warna ikon bukan hitam, maka sebagai gantinya warna ikon mungkin membaur dengan warna pewarnaan.
Solusi kompatibilitas-mundur drawable vektor
Tabel berikut merangkum dua teknik yang bisa Anda gunakan untuk kompatibilitas-mundur:
| Teknik | Drawable di APK | Elemen XML VectorDrawable | Versi | Flag Versi | Kode Aplikasi |
|---|---|---|---|---|---|
| Pembuatan PNG | Vektor dan bitmap | Didukung subset | SVG: Plugin Android untuk Gradle 1.5.0 atau yang lebih tinggi PSD: Android Studio 2.2 atau yang lebih tinggi |
Default | Mendukung berbagai teknik pengkodean |
| Pustaka Dukungan 23.2 atau yang lebih tinggi | Vektor | Dukungan penuh | Android Plugin untuk Gradle 2.0 atau yang lebih tinggi | Diperlukan pernyataan Pustaka Dukungan | Mendukung subset teknik pengkodean |
Penggunaan drawable vektor bisa menghasilkan APK yang lebih kecil, namun pemuatan awal drawable vektor bisa memakan waktu lebih lama.
Pembuatan PNG
Android 5.0 (API level 21) dan yang lebih tinggi menyediakan dukungan drawable vektor. Jika aplikasi Anda memiliki API level minimum yang lebih rendah, Vector Asset Studio akan menambahkan file drawable vektor ke proyek; dan, pada waktu pembangunan, Gradle akan membuat gambar bitmap PNG dengan beragam resolusi. Gradle menghasilkan kepadatan PNG yang ditetapkan oleh properti generatedDensities dari Domain Specific Language (DSL) di 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
Hanya Android 5.0 (API level 21) dan yang lebih tinggi yang mendukung atribut dinamis, misalnya, android:fillColor="?android:attr/colorControlNormal".
Anda bisa mengubah kode XML yang dihasilkan Vector Asset Studio, walaupun ini bukan praktik terbaik. Mengubah nilai dalam kode seharusnya tidak menyebabkan masalah, asalkan mereka valid dan statis. Jika Anda ingin menambahkan elemen XML, pastikan elemen tersebut telah didukung berdasarkan API level minimum.
Pustaka Dukungan
Teknik ini memerlukan Android Support Library 23.2 atau yang lebih tinggi dan Plugin Android untuk Gradle 2.0 atau yang lebih tinggi, dan hanya menggunakan drawable vektor. Kelas VectorDrawableCompat dalam Pustaka Dukungan 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:
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.2.0'
}
Anda juga harus menggunakan teknik pengkodean yang kompatibel dengan Pustaka Dukungan, misalnya menggunakan atribut app:srcCompat sebagai ganti atribut android:src bagi drawable vektor. Untuk informasi selengkapnya, lihat Android Support Library 23.2.
Menjalankan Vector Asset Studio
Untuk memulai Vector Asset Studio:
- Di Android Studio, buka sebuah proyek aplikasi Android.
- Di jendela Project, pilih Android view.
- Klik-kanan folder res dan pilih New > Vector Asset.
- Jika yang muncul justru dialog Need Newer Android Plugin for Gradle, betulkan versi Gradle Anda seperti berikut:
- Pilih File > Project Structure.
- Dalam dialog Project Structure, pilih Project.
- Dalam bidang Android Plugin Version, ubah versi Plugin Android untuk Gradle ke 1.5.0 atau yang lebih tinggi, dan klik OK.
- Di Android view pada jendela Project, klik-kanan folder res dan pilih New > Vector Asset.
- Lanjutkan dengan Mengimpor Grafis Vektor.
Beberapa tampilan proyek dan folder lainnya juga memiliki item menu ini.
Vector Asset Studio akan muncul.
Gambar 1. Vector Asset Studio.
Gradle akan menyinkronkan proyek.
Vector Asset Studio akan muncul.
Mengimpor Grafis Vektor
Vector Asset Studio membantu Anda mengimpor grafis vektor ke dalam proyek aplikasi. Ikuti salah satu prosedur berikut:
Menambahkan ikon material
Setelah membuka Vector Asset Studio, Anda bisa menambahkan ikon material seperti berikut:
- Di Vector Asset Studio, pilih Material Icon.
- Di bidang Icon, klik tombolnya.
- Dalam dialog Select Icon, pilih ikon material dan klik OK.
- Opsional, ubah nama sumber daya, ukuran, opasitas, dan setelan pencerminan Right-To-Left (RTL):
- Name - Ketik nama baru jika Anda tidak ingin menggunakan nama default. Vector Asset Studio secara otomatis membuat sebuah nama unik (menambahkan angka pada akhir nama) jika nama sumber daya sudah ada dalam proyek. Nama hanya boleh berisi karakter huruf kecil, setrip bawah, dan angka.
- Override - Pilih opsi ini jika Anda ingin menyesuaikan ukuran gambar. Saat Anda mengetikkan ukuran baru, perubahan tersebut akan muncul di area pratinjau.
- Opacity - Gunakan slider untuk menyesuaikan opasitas gambar. Perubahan muncul di area pratinjau.
- Enable auto mirroring for RTL layout - Pilih opsi ini jika Anda ingin gambar pencerminan ditampilkan ketika layoutnya kanan ke kiri, bukannya kiri ke kanan. Misalnya, beberapa bahasa dibaca dari kanan ke kiri; jika Anda menggunakan ikon panah, maka dalam hal ini Anda mungkin perlu menampilkan gambar hasil pencerminannya. Perhatikan, jika sedang mengerjakan proyek lama, mungkin Anda juga perlu menambahkan
android:supportsRtl="true"ke manifes aplikasi. Pencerminan otomatis didukung pada Android 5.0 (API level 21) dan yang lebih tinggi, serta dengan Pustaka Dukungan.
Default-nya adalah 24 x 24 dp, yang didefinisikan dalam spesifikasi desain material. Kosongkan pilihan kotak centang untuk mengembalikan ke nilai default.
- Klik Next.
- Opsional, ubah direktori modul dan sumber daya:
- Res Directory - Pilih set sumber untuk sumber daya yang ingin Anda tambah dengan drawable vektor:
src/main/res,src/debug/res,src/release/res, atau set sumber yang didefinisikan-pengguna. Set sumber utama diterapkan ke semua varian versi, termasuk debug dan rilis. Set sumber debug dan rilis akan menggantikan set sumber utama dan berlaku untuk satu versi pembangunan. Set sumber debug hanya untuk men-debug. Untuk mendefinisikan set sumber baru, pilih File > Project Structure > app > Build Types. Misalnya, Anda bisa mendefinisikan set sumber beta dan membuat versi ikon yang menyertakan teks "BETA” di sudut kanan bawah. Untuk informasi selengkapnya, lihat Mengonfigurasi Varian Pembangunan. - Klik Finish.
- Bangun proyek tersebut.
Ikon akan muncul di Vector Drawable Preview.
Area Output Directories menampilkan drawable vektor dan direktori tempat munculnya.
Vector Asset Studio akan menambahkan file XML yang menetapkan drawable vektor ke proyek dalam folder app/src/main/res/drawable/. Dari Android view di jendela Project, Anda bisa menampilkan file XML vektor yang dihasilkan dalam folder drawable.
Jika API level minimum adalah Android 4.4 (API level 20) dan yang lebih rendah, dan Anda belum mengaktifkan teknik Pustaka Dukungan, Vector Asset Studio akan menghasilkan file PNG. Dari tampilan Project Files di jendela Project, Anda bisa menampilkan file PNG dan XML yang dihasilkan dalam folder app/build/generated/res/pngs/debug/.
Anda tidak boleh mengedit file bitmap yang dihasilkan ini, melainkan gunakan file XML vektor sebagai gantinya. Sistem pembangunan akan menghasilkan kembali file bitmap secara otomatis bila diperlukan, jadi Anda tidak perlu mengelolanya.
Mengimpor file SVG atau PSD
Setelah membuka Vector Asset Studio, Anda bisa mengimpor file SVG atau PSD seperti berikut:
- Di Vector Asset Studio, pilih Local file.
- Tetapkan file Gambar dengan mengeklik ….
- Opsional, ubah nama sumber daya, ukuran, opasitas, dan setelan pencerminan Right-To-Left (RTL):
- Name - Ketik nama baru jika Anda tidak ingin menggunakan nama default. Vector Asset Studio secara otomatis membuat sebuah nama unik (menambahkan angka pada akhir nama) jika nama sumber daya sudah ada dalam proyek. Nama hanya boleh berisi karakter huruf kecil, setrip bawah, dan angka.
- Override - Pilih opsi ini jika Anda ingin menyesuaikan ukuran gambar. Setelah memilihnya, ukuran akan berubah ke ukuran asli gambar itu. Setiap kali Anda mengubah ukuran, perubahan tersebut akan muncul di area pratinjau. Default-nya adalah 24 x 24 dp, yang didefinisikan dalam spesifikasi desain material.
- Opacity - Gunakan slider untuk menyesuaikan opasitas gambar. Perubahan muncul di area pratinjau.
- Enable auto mirroring for RTL layout - Pilih opsi ini jika Anda ingin gambar pencerminan ditampilkan ketika layoutnya kanan ke kiri, bukannya kiri ke kanan. Misalnya, beberapa bahasa dibaca dari kanan ke kiri; jika Anda menggunakan ikon panah, maka dalam hal ini Anda mungkin perlu menampilkan gambar hasil pencerminannya. Perhatikan, jika sedang mengerjakan proyek lama, Anda mungkin perlu menambahkan
android:supportsRtl="true"ke manifes aplikasi. Pencerminan-otomatis didukung oleh Android 5.0 (API level 21) dan yang lebih tinggi, serta Pustaka Dukungan. - Klik Next.
- Anda memiliki pilihan untuk mengubah direktori sumber daya:
- Res Directory - Pilih set sumber untuk sumber daya yang ingin Anda tambah dengan drawable vektor:
src/main/res,src/debug/res,src/release/res, atau set sumber yang didefinisikan-pengguna. Set sumber utama diterapkan ke semua varian versi, termasuk debug dan rilis. Set sumber debug dan rilis akan menggantikan set sumber utama dan berlaku untuk satu versi pembangunan. Set sumber debug hanya untuk men-debug. Untuk mendefinisikan set sumber baru, pilih File > Project Structure > app > Build Types. Misalnya, Anda bisa mendefinisikan set sumber beta dan membuat versi ikon yang menyertakan teks "BETA” di sudut kanan bawah. Untuk informasi selengkapnya, lihat Mengonfigurasi Varian Pembangunan. - Klik Finish.
- Bangun proyek tersebut.
File tersebut harus berada di drive lokal. Jika terletak di jaringan, misalnya, Anda harus mengunduhnya ke drive lokal terlebih dahulu.
Gambar akan muncul di Vector Drawable Preview.
Jika file SVG atau PSD berisi fitur yang tidak didukung, sebuah pesan kesalahan akan muncul di bagian bawah Vector Asset Studio, seperti yang ditampilkan dalam gambar 2.
Gambar 2. Vector Asset Studio sedang menampilkan beberapa kesalahan.
Jika melihat kesalahan, Anda perlu memastikan bahwa drawable vektor yang telah diimpor dirender dengan benar. Gulir menyusuri daftar untuk melihat kesalahan.
Untuk daftar elemen yang didukung, lihat Solusi Kompatibilitas-Mundur Drawable Vektor. Untuk informasi selengkapnya tentang file PSD yang diperbolehkan, lihat Dukungan dan Pembatasan untuk File PSD.
Area Output Directories menampilkan drawable vektor dan direktori tempat munculnya.
Vector Asset Studio akan menambahkan file XML yang menetapkan drawable vektor ke proyek dalam folder app/src/main/res/drawable/. Dari Android view di jendela Project, Anda bisa menampilkan file XML vektor yang dihasilkan dalam folder drawable.
Jika API level minimum adalah Android 4.4 (API level 20) dan yang lebih rendah, dan Anda belum mengaktifkan teknik Pustaka Dukungan, Vector Asset Studio akan menghasilkan file PNG. Dari tampilan Project Files di jendela Project, Anda bisa menampilkan file PNG dan XML yang dihasilkan dalam folder app/build/generated/res/pngs/debug/.
Anda tidak boleh mengedit file bitmap yang dihasilkan ini, melainkan gunakan file XML vektor sebagai gantinya. Sistem pembangunan akan menghasilkan kembali file bitmap secara otomatis bila diperlukan, jadi Anda tidak perlu mengelolanya.
Menambahkan Drawable Vektor ke Layout
Di file layout, Anda bisa menyetel widget terkait-ikon, misalnya ImageButton, ImageView, dan seterusnya, agar menunjuk ke drawable vektor. Misalnya, layout berikut menunjukkan drawable vektor yang ditampilkan pada tombol:
Gambar 3. Drawable vektor yang ditampilkan pada tombol di layout.
Untuk menampilkan drawable vektor pada widget, seperti yang ditampilkan dalam gambar:
- Buka proyek dan impor drawable vektor.
- Dalam Android view di jendela Project, klik dua kali file XML layout, misalnya
content_main.xml. - Klik tab Design untuk menampilkan Layout Editor.
- Seret widget
ImageButtondari jendela Palette ke Layout Editor. - Dalam dialog Resources, pilih Drawable di panel kiri, kemudian pilih drawable vektor yang telah Anda impor. Klik OK.
- Untuk mengubah warna gambar menjadi warna aksen yang didefinisikan dalam tema, di jendela Properties, carilah properti tint dan klik ….
- Dalam dialog Resources, pilih Color di panel kiri, kemudian pilih colorAccent. Klik OK.
Contoh ini menggunakan proyek Phone/Tablet yang dihasilkan dengan New Project Wizard.
Drawable vektor akan muncul pada ImageButton di layout.
Warna gambar akan berubah menjadi warna aksen di layout.
Jika proyek menggunakan Pustaka Dukungan, kode ImageButton harus serupa dengan kode berikut:
<ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/ic_build_black_24dp" tools:layout_editor_absoluteX="11dp" tools:layout_editor_absoluteY="225dp" android:id="@+id/imageButton" android:tint="@color/colorAccent" />
Jika proyek tidak menggunakan Pustaka Dukungan, kode drawable vektor adalah android:src="@drawable/ic_build_black_24dp".
Merujuk Drawable Vektor dalam Kode
Biasanya Anda bisa merujuk sumber daya drawable vektor secara biasa dalam kode, dan ketika aplikasi dijalankan, gambar bitmap atau vektor yang bersesuaian akan ditampilkan secara otomatis, tergantung pada API level:
- Umumnya, Anda bisa merujuk drawable vektor sebagai
@drawabledalam kode XML atauDrawabledalam kode Java.
Misalnya, kode XML layout berikut akan menerapkan gambar ke tampilan:
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/myimage" />
Kode Java berikut mengambil gambar sebagai Drawable:
Resources res =getResources(); Drawable drawable = res.getDrawable(R.drawable.myimage);
Metode getResources() berada dalam kelas Context, yang diterapkan pada objek UI, seperti aktivitas, fragmen, layout, tampilan, dan seterusnya.
vectorDrawables.useSupportLibrary = true dalam file build.gradle), Anda juga bisa merujuk drawable vektor dengan pernyataan app:srcCompat. Misalnya:
<ImageView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
app:srcCompat="@drawable/myimage" />
VectorDrawable. Caranya, Anda bisa menggunakan kode Java seperti berikut ini:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
VectorDrawable vectorDrawable = (VectorDrawable) drawable;
} else {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
}
Anda hanya bisa mengakses sumber daya drawable vektor dari thread utama.
Untuk teknik Pustaka Dukungan, Anda harus menggunakan teknik pengkodean yang kompatibel dengan Pustaka Dukungan. Untuk informasi selengkapnya, lihat Android Support Library 23.2.
Memodifikasi Kode XML yang Dihasilkan oleh Vector Asset Studio
Anda bisa memodifikasi kode XML drawable vektor, namun bukan PNG dan kode XML yang sama dengan yang dihasilkan pada waktu pembangunan. Akan tetapi, kami tidak menyarankannya.
Saat menggunakan teknik pembuatan PNG, Vector Asset Studio akan memastikan bahwa drawable vektor dan PNG cocok, dan bahwa 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 tersebut.
Untuk memodifikasi file XML vektor bila Anda tidak menggunakan teknik Pustaka Dukungan:
- Di jendela Project, klik dua kali file XML vektor yang dihasilkan dalam folder drawable.
- Edit kode XML berdasarkan yang didukung pada API level minimum:
- Android 5.0 (API level 21) dan yang lebih tinggi - Vector Asset Studio mendukung semua elemen
DrawabledanVectorDrawable. Anda bisa menambahkan elemen XML dan mengubah nilai-nilainya. - Android 4.4 (API level 20) dan yang lebih rendah - Vector Asset Studio mendukung semua elemen
Drawabledan subset elemenVectorDrawable. Untuk daftarnya, lihat Solusi Kompatibilitas-Mundur Drawable Vektor. Anda bisa mengubah nilai dalam kode yang dihasilkan dan menambahkan elemen XML yang didukung. Atribut dinamis tidak didukung. - Bangun proyek tersebut dan periksa apakah drawable vektor serta gambar bitmap yang bersesuaian terlihat sama.
File XML akan muncul di editor dan jendela Preview.
Gambar 4. File XML vektor yang ditampilkan di Code Editor dan jendela Preview.
Ingatlah bahwa PNG yang dihasilkan bisa jadi ditampilkan berbeda di jendela Preview daripada di aplikasi karena mesin rendering yang berbeda dan segala perubahan yang dibuat pada drawable vektor sebelum pembangunan. 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. Akibatnya, ketika menambahkan kode, Anda harus selalu memeriksa apakah PNG yang dihasilkan cocok dengan drawable vektor. Caranya, Anda bisa mengeklik dua kali PNG di tampilan Project Files pada jendela Project; margin kiri Code Editor juga menampilkan gambar PNG bila kode Anda merujuk ke drawable, seperti yang ditampilkan dalam gambar 5.
Gambar 5. Gambar PNG ditampilkan di margin kiri Code Editor.
Menghapus Drawable Vektor dari Proyek
Untuk membuang drawable vektor dari proyek:
- Di jendela Project, hapus file XML vektor yang dihasilkan dengan memilih file tersebut dan menekan tombol Delete (atau pilih Edit > Delete).
- Opsional, pilih opsi untuk menemukan proyek yang menggunakan file tersebut, dan klik OK.
- Pilih Build > Clean Project.
Dialog Safe Delete akan muncul.
Android Studio akan menghapus file tersebut dari proyek dan drive. Akan tetapi, jika Anda memutuskan untuk menelusuri proyek yang menggunakan file tersebut dan menemukan beberapa penggunaannya, Anda bisa menampilkannya dan memutuskan apakah akan menghapus file itu.
Semua file PNG dan XML yang dihasilkan secara otomatis yang terkait dengan drawable vektor yang dihapus akan dibuang dari proyek dan drive.
Menghasilkan Aplikasi yang Berisi Drawable Vektor
Jika Anda menggunakan teknik Pustaka Dukungan atau API level minimum adalah Android 5.0 (API level 21) atau yang lebih tinggi, APK akan berisi drawable vektor yang Anda tambahkan dengan Vector Asset Studio. Semua APK ini akan lebih kecil dibandingkan jika gambar vektor dikonversi ke PNG.
Bila API level minimum menyertakan Android 4.4 (API level 20) atau yang lebih rendah, dan Anda memiliki drawable vektor serta gambar bitmap yang sama di proyek, Anda memiliki dua opsi untuk menghasilkan file APK:
- Buat satu APK yang menyertakan drawable vektor dan representasi bitmap yang sama. Inilah solusi paling sederhana untuk diimplementasikan.
- Buat APK terpisah untuk API level yang berbeda. Bila Anda tidak menyertakan gambar bitmap yang sama dalam APK untuk Android 5.0 (API level 21) dan yang lebih tinggi, APK bisa jauh lebih kecil ukurannya. Untuk 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 yang tidak didukung, serta beberapa detail konversi.
Dokumen
Didukung:
- Mode warna PSD untuk bitmap, grayscale, indexed, RGB, Lab, atau CMYK.
- Kedalaman warna 8, 16, atau 32 bit.
Detail konversi:
- Dimensi dokumen PSD menjadi dimensi drawable vektor dan dimensi tampilan yang terlihat.
Tidak didukung:
- Mode warna PSD untuk duotone atau multisaluran.
Bentuk
Didukung:
- Clipping mask, jika basis pemangkasan adalah bentuk lain.
- Operasi bentuk, termasuk merge/add, intersect, subtract, dan exclude.
Tidak didukung:
- Aturan pengisian ganjil-genap yang digunakan oleh bentuk-bentuk Photoshop. Di Android 6.0 (API level 23) dan yang lebih rendah, drawable vektor hanya mendukung aturan pengisian nonzero. Pada bentuk-bentuk yang saling berpotongan sendiri, pembatasan ini bisa mengakibatkan perbedaan rendering antara PSD dan drawable vektor yang dihasilkan. Untuk memperbaiki masalah ini, tambahkan
android:fillType="evenOdd"pada bentuk tersebut di drawable vektor. Misalnya:<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>
Bentuk 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 berupa putus-putus, dipangkas menggunakan basis pemangkasan, atau menggunakan penyejajaran yang berbeda dari bagian pusat, Vector Asset Studio akan mengonversinya menjadi bentuk isian di drawable vektor.
Tidak didukung:
- Garis dan isian warna selain solid, seperti gradien.
Opasitas
Didukung:
- Layer bentuk dengan opasitas 0.
Detail konversi:
- Vector Asset Studio melipatgandakan opasitas isian dengan opasitas layer untuk menghitung alfa isian.
- Alat bantu ini melipatgandakan opasitas basis pemangkasan (jika ada basis pemangkasan) dengan alfa isian untuk menghitung alfa isian akhir.
- Alat bantu ini melipatgandakan opasitas garis dengan opasitas layer untuk menghitung alfa garis.
- Alat bantu ini melipatgandakan opasitas basis pemangkasan (jika ada basis pemangkasan) dengan alfa garis untuk menghitung alfa garis akhir.
Layer
Didukung:
- Semua layer bentuk yang terlihat.
Detail konversi:
- Vector Asset Studio menyimpan nama layer di file drawable vektor.
Tidak didukung:
- Efek layer.
- Layer teks dan penyesuaian.
- Mode Blending (diabaikan).