Membuat tata letak kustom untuk Wear

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:

  1. 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);
        }
        
  2. 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" />
        
  3. 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);
        
  4. Buat Notification dan panggil setDisplayIntent() yang menyediakan PendingIntent. Sistem akan menggunakan PendingIntent ini untuk meluncurkan aktivitas saat pengguna melihat notifikasi Anda.
  5. 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 objek RecyclerView
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.