page.title=Mempertahankan Kompatibilitas @jd:body
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.
Anda bisa mengonfigurasi aplikasi untuk menggunakan tema bahan pada perangkat yang mendukungnya dan mengembalikan ke tema lama pada perangkat yang menjalankan versi Android terdahulu:
res/values/styles.xml
.res/values-v21/styles.xml
.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.
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/
.
v7 Support Library r21 ke atas menyertakan fitur desain bahan berikut:
Theme.AppCompat
.Theme.AppCompat
.Tema-tema Theme.AppCompat
menyediakan gaya desain bahan untuk widget ini:
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>
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:
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.+' }
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>.