• Uncategorized
  • 0

Supporting Landscape, Multiple Screen Sizes and Localization di Android

Setelah menggunakan aplikasi Material Me! yang telah kita buat dalam postingan sebelumnya, kita mungkin memperhatikan bahwa penggunaan aplikasi tidak optimal saat orientasi perangkat diputar dari mode potret ke mode lanskap. Sama juga, jika kita menguji pada tablet, ukuran font terlalu kecil dan ruang tidak dipakai secara efisien. Framework Android memiliki cara untuk menyelesaikan kedua masalah ini. Qualifier sumber daya memungkinkan Android Runtime menggunakan file sumber daya alternatif (.xml) bergantung pada konfigurasi perangkat, seperti, orientasi, lokal dan “qualifier” lain. Dalam praktik ini kita akan mengoptimalkan penggunaan ruang di aplikasi olahraga Material sehingga aplikasi kita bekerja dengan baik dalam mode lanskap, serta di tablet.

 

PErtama kita akan mengatur GridLayoutnya

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.

  1. Buat file sumber daya baru yang bernama integers.xml. Masuk ke direktori sumber daya kita, klik kanan nama direktori nama dan pilih New > Values resource file.
  2. Beri nama file dengan integers.xml dan klik OK.
  3. Buat konstanta integer antara tag <resources> yang bernama “grid_column_count” dan setel sama dengan 1:
    <integer name="grid_column_count">1</integer>
    
  4. Buat file sumber daya nilai lain, yang bernama integers.xml tetapi dengan karakteristik yang berbeda.

    Perhatikan opsi “Available qualifiers” di dialog untuk membuat file sumber daya. Karakteristik ini disebut sebagai “resource qualifiers” dan digunakan untuk melabeli konfigurasi sumber daya untuk beragam situasi.

  5. Pilih Orientation dan tekan simbol >> di tengah dialog untuk mengakses qualifier ini.
  6. Ubah pemilih orientasi Layar ke Landscape dan perhatikan bagaimana nama direktori “values-land” otomatis berubah. Ini adalah inti qualifier sumber daya: nama direktori memberi tahu Android kapan harus menggunakan file layout spesifik. Dalam hal ini, ini terjadi saat ponsel diputar ke mode lanskap.
  7. Klik OK untuk membuat file layout baru.
  8. salin konstanta integer yang kita buat ke dalam file sumber daya ini, tetapi ubah nilainya menjadi 2

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

(pada method onCreate())

KEmudian kita akan memodifikasi tampilan pada tablet agar teratur:

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

  1. Buat file sumber daya styles.xml baru yang menggunakan qualifier Smallest Screen Width dengan 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 kita. Untuk memperbaiki ini, tambahkan atribut "android:textColor" ke gaya “SportsTitle” dan setel ke "?android:textColorPrimary".’

Kemudian kita melakukan Local aplikasi kita

“Lokal” mewakili region geografi, politik, atau budaya tertentu di dunia. Qualifier sumber daya bisa digunakan untuk menyediakan sumber daya alternatif berdasarkan lokal pengguna. Sama seperti orientasi dan lebar layar, Android menyediakan kemampuan untuk menyertakan file sumber daya terpisah untuk lokal yang berbeda. Dalam langkah ini, kita akan memodifikasi file strings.xml agar menjadi lebih internasional.

Kita 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 kita lebih internasional, kita 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 kita, kita akan melihat “Soccer” atau “Football”.

You may also like...

Leave a Reply

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