page.title=Mempertahankan Kompatibilitas @jd:body

Pelajaran ini mengajarkan Anda cara

  1. Mendefinisikan Gaya Alternatif
  2. Menyediakan Layout Alternatif
  3. Menggunakan Support Library
  4. Memeriksa Versi Sistem

Anda juga harus membaca

Sebagian fitur desain bahan seperti tema bahan dan transisi aktivitas custom hanya tersedia pada Android 5.0 (API level 21) ke atas. Akan tetapi, Anda bisa mendesain aplikasi untuk menggunakan fitur-fitur ini saat dijalankan pada perangkat yang mendukung desain bahan dan tetap kompatibel dengan perangkat yang menjalankan rilis Android sebelumnya.

Mendefinisikan Gaya Alternatif

Anda bisa mengonfigurasi aplikasi untuk menggunakan tema bahan pada perangkat yang mendukungnya dan mengembalikan ke tema lama pada perangkat yang menjalankan versi Android terdahulu:

  1. Definisikan tema yang mewarisi tema lama (seperti Holo) di res/values/styles.xml.
  2. Definisikan tema bernama sama yang mewarisi tema bahan di res/values-v21/styles.xml.
  3. Atur tema ini sebagai tema aplikasi Anda dalam file manifes.

Catatan: Jika aplikasi Anda menggunakan tema bahan namun tidak menyediakan tema alternatif dengan cara ini, aplikasi itu tidak akan berjalan pada versi Android sebelum 5.0.

Menyediakan Layout Alternatif

Jika layout yang Anda desain sesuai dengan panduan desain bahan tidak menggunakan salah satu atribut XML baru yang diperkenalkan di Android 5.0 (API level 21), layout itu akan berfungsi pada versi Android sebelumnya. Jika tidak, Anda bisa menyediakan layout alternatif. Anda juga bisa menyediakan layout alternatif untuk menyesuaikan cara aplikasi ditampilkan pada versi Android terdahulu.

Buatlah file layout untuk Android 5.0 (API level 21) dalam res/layout-v21/ dan file layout alternatif untuk versi Android terdahulu dalam res/layout/. Misalnya, res/layout/my_activity.xml adalah layout alternatif untuk res/layout-v21/my_activity.xml.

Untuk menghindari duplikasi kode, definisikan gaya dalam res/values/, modifikasi gaya di res/values-v21/ untuk API baru, dan gunakan pewarisan gaya, dengan mendefinisikan gaya dasar di res/values/ dan mewarisi gaya di res/values-v21/.

Menggunakan Support Library

v7 Support Library r21 ke atas menyertakan fitur desain bahan berikut:

Widget sistem

Tema-tema Theme.AppCompat menyediakan gaya desain bahan untuk widget ini:

Palet Warna

Untuk memperoleh gaya desain bahan dan menyesuaikan palet warna dengan Android v7 Support Library, terapkan salah satu tema Theme.AppCompat:

<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
    <!-- customize the color palette -->
    <item name="colorPrimary">@color/material_blue_500</item>
    <item name="colorPrimaryDark">@color/material_blue_700</item>
    <item name="colorAccent">@color/material_green_A200</item>
</style>

Daftar dan Kartu

Widget {@link android.support.v7.widget.RecyclerView} dan {@link android.support.v7.widget.CardView} tersedia di versi Android terdahulu melalui Android v7 Support Library dengan pembatasan ini:

Dependensi

Untuk menggunakan fitur-fitur ini di versi Android sebelum 5.0 (API level 21), sertakan Android v7 Support Library dalam proyek Anda sebagai dependensi Gradle:

dependencies {
    compile 'com.android.support:appcompat-v7:21.0.+'
    compile 'com.android.support:cardview-v7:21.0.+'
    compile 'com.android.support:recyclerview-v7:21.0.+'
}

Memeriksa Versi Sistem

Fitur berikut hanya tersedia di Android 5.0 (API level 21) ke atas:

Untuk menjaga kompatibilitas dengan versi Android terdahulu, periksa {@link android.os.Build.VERSION#SDK_INT version} sistem saat runtime sebelum Anda memanggil API untuk salah satu fitur ini:

// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    // Call some material design APIs here
} else {
    // Implement this feature without material design
}

Catatan: Untuk menetapkan versi Android yang didukung aplikasi Anda, gunakan atribut android:minSdkVersion dan android:targetSdkVersion dalam file manifes. Untuk menggunakan fitur desain bahan di Android 5.0, atur atribut android:targetSdkVersion ke 21. Untuk informasi selengkapnya, lihat panduan API <uses-sdk>.