Skip to content

Most visited

Recently visited

navigation

Bekerja dengan Drawable

Kemampuan berikut untuk drawable membantu Anda mengimplementasikan desain bahan dalam aplikasi Anda:

Pelajaran ini menampilkan cara menggunakan fitur-fitur ini dalam aplikasi Anda.

Mewarnai Sumber Daya Drawable

Dengan Android 5.0 (API level 21) ke atas, Anda bisa mewarnai bitmap dan sembilan-tambalan yang didefinisikan sebagai alpha-mask. Anda bisa mewarnainya dengan sumber daya warna atau atribut tema yang mencocokkan ke sumber daya warna (misalnya, ?android:attr/colorPrimary). Biasanya, Anda membuat aset ini hanya sekali dan mewarnainya secara otomatis agar cocok dengan tema Anda.

Anda bisa menerapkan warna ke objek BitmapDrawable atau NinePatchDrawable dengan metode setTint(). Anda juga bisa mengatur warna dan mode dalam layout dengan atribut android:tint dan android:tintMode.

Mengekstrak Warna Mencolok dari Gambar

Android Support Library r21 ke atas menyertakan kelas Palette, yang memungkinkan Anda mengekstrak warna mencolok dari gambar. Kelas ini mengekstrak warna mencolok berikut:

Untuk mengekstrak warna-warna ini, teruskan objek Bitmap ke metode statis Palette.generate() dalam thread latar belakang tempat Anda memuat gambar. Jika Anda tidak bisa menggunakan thread itu, panggil metode Palette.generateAsync() dan sediakan listener sebagai gantinya.

Anda bisa mengambil warna mencolok dari gambar dengan metode getter di kelas Palette, misalnya Palette.getVibrantColor.

Untuk menggunakan kelas Palette dalam proyek Anda, tambahkan dependensi Gradle berikut ke modul aplikasi Anda:

dependencies {
    ...
    compile 'com.android.support:palette-v7:21.0.0'
}

Untuk informasi selengkapnya, lihat referensi API untuk kelas Palette.

Membuat Drawable Vektor

Video

Grafis Vektor Android

Di Android 5.0 (API Level 21) ke atas, Anda bisa mendefinisikan drawable vektor, yang berubah skala tanpa kehilangan definisi. Anda hanya memerlukan satu file aset per gambar vektor, bukan file aset untuk setiap densitas layar seperti pada gambar bitmap. Untuk membuat gambar vektor, Anda mendefinisikan detail bentuknya dalam sebuah elemen XML <vector>.

Contoh berikut mendefinisikan gambar vektor berbentuk hati:

<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    <!-- intrinsic size of the drawable -->
    android:height="256dp"
    android:width="256dp"
    <!-- size of the virtual canvas -->
    android:viewportWidth="32"
    android:viewportHeight="32">

  <!-- draw a path -->
  <path android:fillColor="#8fff"
      android:pathData="M20.5,9.5
                        c-1.955,0,-3.83,1.268,-4.5,3
                        c-0.67,-1.732,-2.547,-3,-4.5,-3
                        C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                        c5.207,-5.242,9,-7.97,9,-11.5
                        C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

Gambar vektor direpresentasikan di Android sebagai objek VectorDrawable. Untuk informasi selengkapnya tentang sintaks pathData, lihat Referensi Path SVG. Untuk informasi selengkapnya tentang menganimasikan properti drawable vektor, lihat Menganimasikan Drawable Vektor.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Ikuti Google Developers di WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)