Advertisement
  1. Code
  2. Android SDK

Quick Tip: Membuat Custom Quick Setting Tile untuk Android

by
Read Time:6 minsLanguages:

Indonesian (Bahasa Indonesia) translation by Dean Ramadhan (you can also view the original English article)

Quick Setting panel tak perlu diperkenalkan kepada pengguna Android. Mereka menggunakan switch yang menawarkan semua untuk mengatur layanan seperti WiFi, Bluetooth, dan GPS dan Off. Selama bertahun-tahun, telah berkembang dan meningkat begitu banyak bahwa jarang ada kebutuhan untuk membuka aplikasi Settings sebenarnya hari ini.

Sampai saat ini, quick settings panel terkunci, dan user harus puas dengan koleksi besar, tetapi tetap switch — dikenal sebagai tile. Dengan peluncuran Android Nougat, meskipun, bahwa ini bukan lagi casenya. User tidak dapat menambah, menghapus, dan mengatur ulang tile. dan mengatur ulang, sebagai pengembang aplikasi, Anda dapat menawarkan tile kustom Anda sendiri.

Dalam tip cepat ini, saya akan menunjukkan kepada Anda bagaimana menggunakan Quick Settings Title API untuk membuat custom tile dari awal.

Prasyarat

Sebelum Anda melanjutkan, pastikan Anda memiliki yang berikut:

  • Versi terbaru dari Android Studio
  • sebuah ponsel yang menjalankan Android Nougat atau lebih tinggi

1. Memahami Tile

Pada dasarnya, tile yang hanya diakses switch user dapat menekan setiap saat-bahkan ketika perangkat mereka terkunci. Karena mereka dapat menampilkan tidak lebih dari sebuah ikon dan label, mereka dapat hanya digunakan untuk tindakan yang sangat spesifik namun sederhana.

Setiap tile memiliki state yang terkait dengan itu. Seperti saklar dunia nyata, hal ini dapat baik dalam keadaan "on" atau "off" state. Seperti yang Anda duga, tile yang terang dari satu yang tidak aktif. Meskipun Anda harus mengatur keadaan tile Anda sendiri, Android platform secara otomatis mengatur kecerahan.

2. membuat kustom tile

Untuk menawarkan tile kustom, aplikasi Anda harus memiliki service yang extend class TileService.

Sementara menyebutkan service di proyek manifest, Anda harus memberikan label dan ikon, yang akan digunakan untuk membuat tampilan default tile. Untuk memberikan sebuah contoh yang realistis, kami akan sekarang membuat tile yang membuat perangkat user bergetar terus-menerus selama itu. Label akan Tremble, dan ikon akan vibration, yang tersedia dalam vektor aset Studio di bawah bagian Notification.

Vector Asset Studios Notification sectionVector Asset Studios Notification sectionVector Asset Studios Notification section

Selanjutnya, Anda harus menambahkan intent filter ke definisi layanan sehingga dapat menanggapi aksi android.service.quicksettings.action.QS_TILE. Untuk memastikan bahwa itu dapat diluncurkan hanya dengan sistem Android, Anda juga harus melindunginya dengan izin android.permission.BIND_QUICK_SETTINGS_TILE.

Pada titik ini, definisi service akan terlihat seperti ini:

Itu adalah semua kode yang Anda perlu untuk menampilkan kustom tile. Jika Anda menggunakan aplikasi Anda sekarang dan menavigasi ke bagian quick settings panel Edit, Anda harus dapat melihat tile Anda dalam daftar tile yang tersedia.

Quick settings panels Edit sectionQuick settings panels Edit sectionQuick settings panels Edit section

Drag dan drop dekat dengan salah satu standar tile sehingga Anda dapat lebih mudah.

Custom tile placed among default tilesCustom tile placed among default tilesCustom tile placed among default tiles

3. initializing Tile

Anda harus memperhatikan bahwa tile kami cukup cerah. Itu karena kita masih belum diinisialisasi state, dan sistem berpikir itu adalah "on". Untuk mengubah tile sedemikian rupa sehingga itu dimulai dalam keadaan off ketika user menambahkan itu, Anda dapat override onTileAdded() event handler service dan mengatur properti state objek qsTile ke Tile.STATE_INACTIVE.

Setiap kali Anda mengubah state, Anda harus ingat untuk juga memanggil metode updateTile() sehingga tile terlihat berudah untuk mencocokkan state.

Jika Anda menjalankan app sekarang, menghapus tile, dan tambahkan kembali lagi, Anda akan melihat bahwa itu tidak aktif.

Custom tile in off stateCustom tile in off stateCustom tile in off state

4. menambahkan Click Handler

Tepat sekarang, tidak terjadi ketika Anda mengklik pada tile. Anda dapat mengubah bahwa dengan meng-override onClick() event handler service.

Dalam event handler, Anda dapat mengubah tile on dan off oleh antara Tile.STATE_ACTIVE dan Tile.STATE_INACTIVE state. Kode berikut memperlihatkan bagaimana untuk melakukannya dengan if-else sederhana:

5. menggunakan Vibrator

Tindakan yang terkait dengan tile harus mulai segera setelah tile on dan off segera. Oleh karena itu, selain memperbarui state, kode yang kami menambahkan di langkah sebelumnya berisi panggilan ke metode startVibrating() dan stopVibrating().

Metode startVibrating() dapat menggunakan metode vibrate() class Vibrator Android untuk membuat telepon bergetar. Metode vibrate(), namun, mengharapkan durasi fixed. Untuk memastikan bahwa telepon terus bergetar selama state on, Anda dapat memanggilnya dalam sebuah loop, sebaiknya dengan durasi pendek. Sebuah loop tidak dapat dijalankan dalam UI thread, menggunakan thread tile serivice untuk klik event handler.

Idealnya, semua operasi long-running yang diinginkan service tile kamu untuk mulai atau stop harus di tempatkan didalam IntentService. Untuk menjaga singkat ini tutorial, meskipun, mari kita membuat hubungannya dengan coroutine untuk sekarang.

Kode berikut memperlihatkan bagaimana menjalankan loop di dalam coroutine yang dibuat menggunakan launch() coroutine builder:

Meskipun loop di atas akan berakhir ketika user merubah tuile ke off, getaran dapat berlangsung untuk kedua tambahan. Untuk menghentikan mereka segera, Anda dapat memanggil metode cancel() service Vibrator dalam metode stopVibrating().

Kustom tile kita sudah siap. Namun, itu tidak akan berhasil kecuali memiliki permission untuk menggunakan vibrator telepon. Anda dapat meminta dengan menambahkan baris berikut ke file manifest proyek Anda:

Jika Anda menggunakan app sekarang dan klik pada tile kustom, telepon Anda harus mulai bergetar. Dengan mengklik di atasnya lagi, Anda harus mampu menghentikan getaran segera.

Custom tile in on stateCustom tile in on stateCustom tile in on state

Kesimpulan

Jika Anda sedang membangun sebuah aplikasi yang menawarkan fungsi yang unik atau informasi user akan memerlukan akses ke sangat sering, menawarkan tile kustom dengan itu dapat secara dramatis meningkatkan pengalaman user. Dalam tutorial ini, Anda melihat betapa mudahnya untuk membuat seperti tile menggunakan Quick Settings tile API cepat.

Untuk mempelajari lebih lanjut tentang hal ini, lihat dokumentasi resmi.

Dan sementara Anda berada di sini, memeriksa beberapa posting kami pada pengembangan aplikasi Android!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.