Dengan Wear OS by Google, membuat tata letak untuk jam tangan mirip dengan membuat tata letak untuk ponsel, kecuali bahwa Anda harus mendesain dengan mempertimbangkan ukuran layar dan keterlihatan. Jangan mem-porting fungsionalitas dan UI dari aplikasi ponsel ke jam tangan jika Anda mengharapkan pengalaman yang baik.
Sebaiknya Anda membuat tata letak kustom hanya jika diperlukan. Baca panduan Mendesain aplikasi untuk Wear OS untuk cara mendesain aplikasi jam tangan yang berperforma optimal.
Membuat notifikasi kustom
Secara umum, Anda harus membuat notifikasi di ponsel dan menyinkronkannya secara otomatis ke perangkat wearable. Dengan begitu, Anda cukup membuat notifikasi satu kali dan memunculkannya di banyak jenis perangkat (tidak hanya jam tangan, tetapi juga mobil dan TV) tanpa perlu mendesainnya untuk berbagai faktor bentuk.
Jika gaya notifikasi standar tidak berhasil (seperti
NotificationCompat.BigTextStyle
atau
NotificationCompat.InboxStyle
), Anda dapat menampilkan aktivitas dengan tata letak kustom. Anda hanya dapat membuat dan menampilkan notifikasi kustom di jam tangan, dan sistem tidak menyinkronkan notifikasi ini dengan ponsel.
Catatan: Saat membuat notifikasi kustom di jam tangan, Anda dapat menggunakan API notifikasi standar (API Level 20), bukan Support Library.
Untuk membuat notifikasi kustom:
- Buat tata letak dan tetapkan sebagai tampilan konten untuk aktivitas yang ingin Anda tampilkan.
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { ... setContentView(R.layout.notification_activity) }
Java
public void onCreate(Bundle bundle){ ... setContentView(R.layout.notification_activity); }
-
Tetapkan properti yang diperlukan untuk aktivitas tersebut dalam manifes Android agar aktivitas dapat ditampilkan dalam proses stream konteks jam tangan. Anda harus menyatakan bahwa aktivitas itu dapat diekspor, dapat disematkan, dan memiliki afinitas tugas yang kosong. Kami juga merekomendasikan Anda untuk menyetel tema ke
Theme.DeviceDefault.Light
. Contoh:<activity android:name="com.example.MyDisplayActivity" android:exported="true" android:allowEmbedded="true" android:taskAffinity="" android:theme="@android:style/Theme.DeviceDefault.Light" />
-
Buat
PendingIntent
untuk aktivitas yang ingin Anda tampilkan. Contoh:Kotlin
val notificationPendingIntent: PendingIntent = Intent(this, NotificationActivity::class.java).let { notificationIntent -> PendingIntent.getActivity( this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT ) }
Java
Intent notificationIntent = new Intent(this, NotificationActivity.class); PendingIntent notificationPendingIntent = PendingIntent.getActivity( this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
-
Buat
Notification
dan panggilsetDisplayIntent()
yang menyediakanPendingIntent
. Sistem akan menggunakanPendingIntent
ini untuk meluncurkan aktivitas saat pengguna melihat notifikasi Anda. - Tampilkan notifikasi menggunakan metode
notify()
.Catatan: Pada Wear 1.x, ketika notifikasi muncul di layar utama, sistem akan menampilkannya dengan template standar yang dihasilkan dari data semantik notifikasi. Template ini berfungsi dengan baik di semua tampilan jam. Saat pengguna menggeser notifikasi ke atas, mereka akan melihat aktivitas kustom untuk notifikasi tersebut.
Membuat tata letak dengan Library Wear UI
Library Wear UI otomatis disertakan saat Anda membuat aplikasi jam tangan dengan Android Studio Project Wizard. Anda juga dapat menambahkan library ini ke file build.gradle
dengan deklarasi dependensi berikut:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'androidx.wear:wear:1.0.0' compile 'com.google.android.gms:play-services-wearable:+' }
Library ini membantu Anda membuat UI yang didesain untuk jam tangan. Untuk informasi selengkapnya, lihat Membuat UI kustom untuk perangkat Wear.
Berikut adalah beberapa class utama:
-
BoxInsetLayout
-
Objek
FrameLayout
yang memperhitungkan bentuk layar dan dapat melingkupi turunannya di kotak tengah pada layar lingkaran. -
ConfirmationActivity
- Aktivitas yang menampilkan animasi konfirmasi setelah pengguna menyelesaikan tindakan.
-
AnimationSet
- Sekumpulan animasi yang harus diputar bersama-sama.
-
CircularProgressLayout
- Tata letak yang menyediakan penghitung mundur melingkar di sekitar tampilan turunan. Biasanya digunakan sebagai timer otomatis untuk mengonfirmasi operasi setelah penundaan singkat telah berlalu.
-
SnapHelper
-
SnapHelper
mendukung snapping untuk objekRecyclerView
-
PagerSnapHelper
-
Implementasi instance
SnapHelper
yang mendukung snapping gaya pager dalam orientasi vertikal atau horizontal. -
AlertDialog
- Subclass Dialog yang dapat menampilkan satu, dua, atau tiga tombol.
-
ProgressBar
- Menampilkan bar yang menunjukkan progres operasi; aplikasi dapat mengubah informasi progres (mengubah panjang bar) seiring berjalannya aktivitas.
-
WearableRecyclerView
-
Implementasi spesifik wearable dari class
RecyclerView
untuk menampilkan daftar item yang dapat di-scroll di perangkat persegi dan lingkaran.
Referensi API Library Wear UI
Dokumentasi referensi ini menjelaskan cara menggunakan setiap widget UI secara mendetail. Baca Dokumentasi referensi API Wear untuk class seperti di atas.
Catatan: Sebaiknya gunakan Android Studio untuk pengembangan Wear OS karena program tersebut menyediakan penyiapan proyek, penyertaan library, dan kemudahan pengemasan.