• Uncategorized
  • 0

5.3: Supporting Landscape, Multiple Screen Sizes and Localization

Task 1: Support Landscape Orientation

1.1 Change to a GridLayoutManager

Layout yang berisi item daftar sering terlihat tidak seimbang dalam mode lanskap saat item daftar menyertakan gambar dengan lebar penuh. Salah satu solusi yang baik adalah menggunakan grid, bukan daftar linear saat menampilkan CardViews dalam mode lanskap.

Buat file sumber daya baru yang bernama integers.xml. Masuk ke direktori sumber daya Anda, klik kanan nama direktori nama dan pilih New > Values resource file.

Beri nama file dengan integers.xml dan klik OK.

Buat konstanta integer antara tag <resources>yang bernama “grid_column_count” dan setel sama dengan 1:

1.2 Modify MainActivity

Dalam onCreate() di MainActivity, dapatkan integer dari file sumber daya integers.xml,

Ubah LinearLayoutManager ke GridLayoutManager, dengan meneruskan konteks dan integer yang baru dibuat

Saat menggunakan aplikasi dalam mode lanskap, Anda akan melihat bahwa fungsionalitas gesek untuk menutup tidak lagi mudah digunakan, karena item sekarang berada dalam grid, bukan dalam daftar. Anda bisa menggunakan variabel gridColumnCount untuk menonaktifkan tindakan gesek jika terdapat lebih dari satu kolom:

hasilnya seperti dibawah, dan fungsi menggeser ketika mendelete tidak lagi berfungsi

Task 2 : Support Tablets

2.1 Make the Layout Adapt to Tablets

Dalam langkah ini, Anda akan membuat qualifier sumber daya yang berbeda untuk memaksimalkan penggunaan layar untuk perangkat berukuran tablet, dengan meningkatkan jumlah kolom ke 2 untuk orientasi potret dan 3 untuk orientasi lanskap. Qualifier sumber daya yang Anda perlukan bergantung pada persyaratan khusus Anda. Ada beberapa qualifier yang bisa Anda gunakan untuk memilih ketentuan yang benar:

“smallest width” – Qualifier ini paling sering digunakan untuk memilih tablet.

“available width” – Lebar tersedia adalah lebar efektif sebuah perangkat, apa pun orientasinya.

“available height” – Sama dengan “available width”, kecuali ini menggunakan tinggi efektif, sebagai gantinya lebar efektif.

untuk melakukan aktifitas ini Ubah variabel grid_column_count ke 3 dalam lanskap, file integers.xml.

Dengan file qualifier sumber daya ini, aplikasi menggunakan ruang layar secara jauh lebih efektif.

2.2 Update the tablet list item styles

Pada tahap ini, aplikasi Anda mengubah jumlah kolom di GridLayoutManager agar pas dengan orientasi perangkat dan memaksimalkan penggunaan ruang layar.

Dalam file styles.xml, buat sebagai berikut:

Sekarang Anda akan membuat file tempat Anda mendefinisikan gaya untuk tablet.

  1. Buat file sumber daya styles.xml baru yang menggunakan qualifier Smallest Screen Widthdengan nilai 600.
  2. Salin gaya “SportsTitle” dan “SportsDetailText” dari file styles.xml asli ke file styles.xml baru yang berkualifikasi.
  3. Ubah induk gaya “SportsTitle” menjadi "TextAppearance.AppCompat.Display1"
  4. Gaya Display1 Android yang telah didefinisikan menggunakan nilai textColorSecondary dari tema saat ini (ThemeOverlay.AppCompat.Dark) yang dalam hal ini adalah warna abu-abu muda. Warna abu-abu muda tidak tampil dengan baik pada gambar spanduk di aplikasi Anda. Untuk memperbaiki ini, tambahkan atribut "android:textColor" ke gaya “SportsTitle” dan setel ke "?android:textColorPrimary".’

  5. Ubah “SportsDetailText” ke "TextAppearance.AppCompat.Headline".

2.3 Update the tablet sports detail styles

Anda sekarang telah memperbaiki tampilan untuk MainActivity, yang mencantumkan semua CardViews Sports. DetailActivity masih memiliki ukuran font yang sama pada tablet dan ponsel.

Buat gaya berikut dalam file styles.xml,

Ubah gaya TextView “newsTitleDetail” dan “subTitleDetail” dlaam file layout activity_detail.xml menjadi gaya “SportsDetailText” yang telah Anda buat di langkah sebelumnya.

Task 3: Localize your App

3.1 Add a localized strings.xml file

Anda mungkin sudah memperhatikan bahwa informasi olahraga yang berada di aplikasi ini dirancang bagi pengguna di US. Aplikasi menggunakan istilah “soccer” untuk menunjukkan sebuah olahraga yang dikenal sebagai “football” di seluruh bagian dunia yang lain. Untuk membuat aplikasi Anda lebih internasional, Anda bisa menyediakan file strings.xml dengan lokal khusus untuk pengguna US yang menggunakan “soccer”, sedangkan semua lokal lain akan menggunakan “football”.

  1. Buat file sumber daya nilai baru.
  2. Panggil file strings.xml dan pilih Locale dari daftar qualifier yang tersedia.
  3. Di bagian “Language”, pilih en: English.
  4. Di bagian “Specific Region Only:”, pilih US: United States. Ini akan membuat direktori nilai khusus untuk lokal US, yang bernama “values-en-rUS”.
  5. Salin keseluruhan file strings.xml generik ke file strings.xml baru dengan lokal khusus.
  6. Dalam file strings.xml generik, ubah item “Soccer” di larik sports_titles menjadi “Football”, serta ubah item terkait di larik “sports_info”.
  7. Jalankan aplikasi. Bergantung pada pengaturan bahasa di perangkat Anda, Anda akan melihat “Soccer” atau “Football”.

 

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *