Wear Compose

  
Menulis aplikasi Jetpack Compose untuk perangkat Wearable dengan memberikan fungsi guna mendukung perangkat, ukuran, bentuk, dan gestur navigasi tertentu perangkat wearable.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
11 Desember 2024 1.4.0 - - 1.5.0-alpha07

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada Wear, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Wear Compose Material3 Versi 1.0

Versi 1.0.0-alpha30

11 Desember 2024

androidx.wear.compose:compose-material3:1.0.0-alpha30 dirilis. Versi 1.0.0-alpha30 berisi commit ini.

Perubahan API

  • Pengubah scrollTransform untuk TransformingLazyColumn difaktorkan ulang yang memicu perubahan API. (I0c6dc)
  • Kami telah memperbarui IconToggleButtonShapes dan TextToggleButtonShapes agar memiliki dua parameter bentuk yang berbeda, yaitu uncheckedPressed dan checkedPressed (I85dbd)
  • Opsi bulan/hari yang tidak valid kini terlihat di DatePicker, dengan invalidPickerContentColor baru, saat menggunakan minDate atau maxDate. (If4541)
  • Kami telah mengupdate Stepper API untuk menyediakan slot increaseIcon dan decreaseIcon - konten untuk slot ini dapat dibuat seperti biasa dari composable Ikon. (Id35da)
  • Kami telah memperbarui dynamicColorScheme dengan menghapus parameter defaultColorScheme opsional dan sekarang menampilkan ColorScheme nullable. Ini berarti pemanggil harus secara eksplisit menangani kasus penggantian jika skema warna dinamis tidak disediakan. (I6d62e)
  • Kami telah memperbarui ukuran ikon di ButtonDefaults untuk digunakan dengan CompactButton. CompactButton yang hanya berisi ikon harus menggunakan ButtonDefaults.SmallIconSize = 24.dp, sedangkan CompactButton yang berisi ikon dan teks harus menggunakan ButtonDefaults.ExtraSmallIconSize = 20.dp. Sebaiknya CompactButton menggabungkan kontennya (bukan mengisi lebar maksimum) dan contoh telah diperbarui untuk menunjukkannya. (I0582c)
  • Kami telah menambahkan EdgeButtonDefaults dengan ukuran ikon yang direkomendasikan untuk 4 EdgeButtonSizes yang berbeda. Selain itu, memperbarui tata letak EdgeButton sehingga memiliki padding bawah yang sedikit lebih besar daripada padding atas, yang meningkatkan tampilan untuk konten Ikon dan Teks. (Id772a)
  • Kami telah menambahkan gerakan ke LinearProgressIndicator dan mengekspos LinearProgressIndicatorContent yang menyediakan konten visual tanpa animasi. (Idee99)
  • Kami telah menambahkan composable CircularProgressIndicatorContent baru untuk menampilkan konten visual CircularProgressIndicator tanpa animasi. (Ie33d4)
  • TransformingLazyColumn baru menyediakan komposisi LocalTransformingLazyColumnItemScope lokal yang kini digunakan Card, Button, dan ListHeader untuk berubah secara otomatis saat ditempatkan di dalam TransformingLazyColumn. Pemanggil dapat menonaktifkan perubahan otomatis menggunakan wrapper TransformExclusion baru. (I1652f)
  • Kami telah memperbarui jenis ButtonDefaults.shape menjadi RoundedCornerShape (Iccdf2)

Perbaikan Bug

  • Kami telah memperbaiki bug untuk mengikuti alfa yang ada di latar belakang untuk TimeText (I1eb60)
  • Kami telah menetapkan TextMotion ke Animated secara default dalam tipografi, untuk menghindari jitter teks karena menyematkan glyph huruf ke batas piksel selama operasi penskalaan. (I626fa)
  • Kami telah memperbarui tampilan ScrollIndicator dengan meningkatkan lebar dan ukuran celah, untuk meningkatkan visibilitas. (Ied7cb)
  • Kami telah memperbaiki bug pada Modifier.scrollTransform saat menambahkan/menghapus/memindahkan item. (I6830f)
  • Kami telah memperbaiki masalah animasi tombol bulat untuk ketukan singkat (sebelumnya, durasi animasi minimum tidak selalu diamati). (I757a7)
  • Kami telah memperbarui sudut sapuan untuk LevelIndicator menjadi 20% (yaitu 72 derajat). (Idde5c)
  • Kami telah memperbaiki posisi ScrollIndicator saat ScalingLazyColumn digunakan dengan AutoCenteringParams. (I387dd)
  • Kami telah memperbarui warna dan tipografi untuk ListHeader dan ListSubHeader. Juga warna untuk kontrol tombol di CheckboxButton dan SwitchButton. (I39817)
  • Kami telah memperbaiki posisi ScrollIndicator di LazyColumn dan ScalingLazyColumn dengan ContentPadding. (I2bc51)
  • Kami telah memperbaiki bug yang terlihat di animasi progres OpenOnPhoneDialog dengan menggunakan CircularProgressIndicatorContent baru. (I3e443)
  • Kami telah memperbarui HorizontalPagerScaffold dan VerticalPagerScaffold untuk menonaktifkan animasi saat mengurangi gerakan diaktifkan (Iaaf68)
  • Kami telah menerapkan animasi terpisah untuk indikator progres melingkar saat progres mencapai lebih dari 100%. (I47135)
  • Kami telah memperbaiki bug yang menyebabkan EdgeButton dapat digambar dengan bentuk yang salah di komponen Pager (I91db9)

Versi 1.0.0-alpha29

13 November 2024

androidx.wear.compose:compose-material3:1.0.0-alpha29 dirilis. Versi 1.0.0-alpha29 berisi commit ini.

Perubahan API

  • Kami telah memperbarui TimeText untuk menyediakan konten default yang menampilkan waktu. (Id23b3)
  • Kami telah menyederhanakan ScrollInfoProvider untuk PagerState dengan menghapus parameter orientation, yang tidak lagi diperlukan. Perilaku barunya adalah agar TimeText tetap ada untuk paging horizontal dan vertikal. (I71767)
  • LocalHapticFeedback kini menyediakan implementasi HapticFeedback default saat Vibrator API menunjukkan bahwa haptic didukung. Berikut ini telah ditambahkan ke HapticFeedbackType - Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. Komponen Wear Compose yang dapat diklik lama seperti Button, IconButton, TextButton, dan Card kini melakukan haptic LONG_PRESS saat pengendali klik lama telah disediakan. (I5083d)

Perbaikan Bug

  • Kami telah memperbarui gerakan untuk Konfirmasi. (I04bff)
  • Kami telah mengupdate dependensi API minimum ke 1.7.4 untuk library Compose. (I88b46)
  • Gerakan baru telah ditambahkan untuk dialog OpenOnPhone. (I1e10a)
  • Kami telah memperbaiki bug di LevelIndicator sehingga sekarang ditampilkan dengan benar dengan level nol. (Ie95a4)
  • Kami telah memperbarui animasi HorizontalPageIndicator dan VerticalPageIndicator. (I5c8f3)
  • Kami telah menambahkan animasi shrink-to-dot ke ArcProgressIndicator yang tidak ditentukan. (I9fd51)

Versi 1.0.0-alpha28

30 Oktober 2024

androidx.wear.compose:compose-material3:1.0.0-alpha28 dirilis. Versi 1.0.0-alpha28 berisi commit ini.

Perubahan API

  • Kami telah menambahkan variasi busur pada indikator progres melingkar tidak tentu (I2efc1)
  • Kami telah mempublikasikan composable AlertDialogContent dan Dialog yang membentuk AlertDialog API, sehingga Anda dapat menambahkan penyesuaian jika diperlukan (seperti menyesuaikan animasi AlertDialog sekaligus mempertahankan tata letak konten yang direkomendasikan). Selain itu, kami telah menambahkan parameter Modifier dan Color ke anggota EdgeButton, ConfirmButton, dan DismissButton dari AlertDialogDefaults. (I4eb71)
  • Kami telah memperbarui Placeholder API sebagai berikut: mengganti nama PlaceholderState.startPlaceholderAnimation menjadi PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent menjadi PlaceholderState.isHidden, dan PlaceholderDefaults.shape menjadi PlaceholderDefaults.Shape; mengganti nama parameter painter di painterWithPlaceholderOverlayBackgroundBrush menjadi originalPainter; mengubah visibilitas PlaceholderState.placeholderProgression dari publik menjadi internal dan mengganti namanya menjadi placeholderShimmerProgression; menambahkan konstanta durasi animasi placeholder ke PlaceholderDefaults. (Ie5a59)
  • Kami telah memperbarui EdgeButton API sebagai berikut: mengganti nama parameter di ScreenScaffold dari bottomButton menjadi edgeButton; menjadikan EdgeButtonSize sebagai class nilai. (Ieef15)
  • Kami telah mengubah visibilitas copy() menjadi publik di class Warna wear material3 (I0287f)

Perbaikan Bug

  • Menambahkan durasi animasi minimum untuk IconToggleButton dan TextToggleButton saat diklik (Ieb333)
  • Menambahkan durasi minimum pada animasi bentuk IconButton dan TextButton (Iebcee)
  • Memperbaiki status opsi ulangi DatePicker. (I3587c)
  • Menambahkan gerakan untuk dialog Notifikasi dan Konfirmasi. (I173b1)

Versi 1.0.0-alpha27

16 Oktober 2024

androidx.wear.compose:compose-material3:1.0.0-alpha27 dirilis. Versi 1.0.0-alpha27 berisi commit ini.

Perubahan API

  • Kami telah memperbarui ScreenScaffold dan ScrollIndicator setelah mengganti nama Wear Compose Foundation LazyColumn menjadi TransformingLazyColumn. (I0608b)
  • Parameter preferredHeight EdgeButton telah diganti namanya menjadi buttonSize dan nilainya hanya dapat dipilih dari 4 konstanta dalam class nilai EdgeButtonSize yang baru diperkenalkan. (Icdd70)
  • Kami telah mengubah penamaan ListSubheader menjadi ListSubHeader dan menambahkan nilai default yang dapat diakses secara publik untuk ListHeader dan ListSubHeader. (I96730)
  • Kami telah menambahkan komponen HorizontalPagerScaffold dan VerticalPagerScaffold baru untuk Wear yang menyediakan animasi dan koordinasi baru antara komponen teks waktu dan indikator halaman. (Iff7d0)
  • Kami telah menambahkan dukungan dari alat rotasi ke HorizontalPagerScaffold dan VerticalPagerScaffold, sehingga pengguna dapat menavigasi pager menggunakan perangkat input dari alat rotasi. (I9770d)
  • Kami telah melakukan perubahan MotionScheme API untuk menyederhanakan penggunaan dan meningkatkan konsistensi. Menghapus fungsi remember yang disisipkan dan memindahkan Skema Gerakan bawaan ke objek pendamping MotionScheme khusus. Mengganti nama standardMotionScheme dan expressiveMotionScheme menjadi standar dan ekspresif. (I5fd45)
  • Kami telah menambahkan dukungan untuk skema warna dinamis berdasarkan warna sistem. (I073e9)
  • Kami telah memperbarui Stepper ke spesifikasi UX terbaru. (I622bb)

Perbaikan Bug

  • Kami telah memperbarui tipografi dan padding untuk komponen Kartu. (I3ae48)
  • Kami telah mengubah padding di AlertDialog antara tombol Konfirmasi/Tutup dan konten lainnya dari 8dp menjadi 12dp sesuai dengan spesifikasi UX (Ie55f0)
  • Kami telah memperbarui opasitas warna untuk komponen Penggeser. (Idb383)

Versi 1.0.0-alpha26

2 Oktober 2024

androidx.wear.compose:compose-material3:1.0.0-alpha26 dirilis. Versi 1.0.0-alpha26 berisi commit ini.

Perubahan API

  • Kami telah memperbarui API dan tampilan HorizontalPageIndicator serta menambahkan VerticalPageIndicator untuk digunakan dengan VerticalPager (Ic9309)
  • AlertDialog kini mendukung kemampuan untuk menghilangkan tombol bawah default dari variasi kelompok tombol, untuk tata letak kustom yang tidak memerlukan EdgeButton. (I34fa9)
  • Kami telah menambahkan komponen SwipeToReveal untuk Wear Material 3 (Ic38b2)
  • Kami telah menambahkan dukungan untuk geser dua arah di SwipeToReveal, untuk kasus yang jarang terjadi saat layar saat ini tidak mendukung geser untuk menutup. Setelan defaultnya masih geser untuk menampilkan hanya pada geser dari kanan ke kiri dan sebaiknya ikuti perilaku default untuk menghindari konflik dengan geser untuk menutup. (Ifac04)
  • Kami telah mengganti nama parameter buttonHeight EdgeButton menjadi preferredHeight. (I4fab3)
  • Versi Kotlin telah diupdate ke 1.9 (I1a14c)
  • Kami telah mengganti nama OpenOnPhoneDialogDefaults.Icon menjadi OpenOnPhoneDialogDefaults.OpenOnPhoneIcon untuk menghindari bentrok dengan Icon(I0f391)
  • Kami telah menambahkan dukungan untuk ScrollIndicator di LazyColumn. (Ia546a)
  • Kami telah memperbarui nilai default untuk TextToggleButton dan IconToggleButton. (I7aaa9)
  • Kami telah menyederhanakan Picker dan PickerGroup API. (Id0653)
  • Kami telah menambahkan CardDefaults.Shape dan CardDefaults.Height, yang (sebagai token) bersifat pribadi bagi developer yang menggunakan library. (I1594a, b/347649765)
  • Kami telah mengganti nama parameter progres untuk indikator progres melingkar yang tersegmentasi biner menjadi segmentValue. (Ib72d9)
  • Kami telah memperbarui warna dan tata letak untuk Penggeser. (Ic3eec)

Perbaikan Bug

  • Kami telah memperbarui animasi ikon openOnPhone (I66f85)
  • Sekarang kami menggunakan ikon Simbol Google di Slider, TimePicker, dan DatePicker. (I46c7c)
  • Kami telah memperbarui padding di Confirmation dan OpenOnPhoneDialog. (Iaa82e)

Versi 1.0.0-alpha25

18 September 2024

androidx.wear.compose:compose-material3:1.0.0-alpha25 dirilis. Versi 1.0.0-alpha25 berisi commit ini.

Perubahan API

  • Kami telah menambahkan indikator progres melingkar Tidak Tentu. (I427a7)
  • Kami telah menambahkan dukungan untuk tambahan progres (>100% progres) untuk CircularProgressIndicator dan SegmentedCircularProgressIndicator. Jika progres melebihi 1,0, hal ini akan ditunjukkan dengan warna overflowTrack baru. (Iaaa3d)
  • IconToggleButton dan TextToggleButton bulat kini mendukung variasi animasi bentuk baru, dengan berbagai bentuk yang mewakili status dicentang, tidak dicentang, dan ditekan. Variasi bentuk animasi sebelumnya untuk status yang baru saja ditekan akan terus didukung. (I29f03)
  • Kami telah menghapus dukungan untuk menggunakan EdgeButton dengan Column, karena perlu menentukan tinggi EdgeButton secara eksplisit di ScreenScaffold. (Ie353d)
  • Kami telah menambahkan dukungan untuk LazyColumn Wear Compose dengan ScreenScaffold kami (dan menambahkan implementasi ScrollInfoProvider untuk LazyColumnState). (Ib8d29)
  • Kami telah menggabungkan LocalTextMaxLines, LocalTextAlign, LocalTextOverflow menjadi satu komposisi LocalTextConfiguration lokal untuk memberikan solusi yang lebih skalabel ke depannya. (I5edbc)
  • Kami telah menambahkan arc-large sebagai jenis huruf tambahan, yang dikhususkan untuk string teks header singkat di bagian paling atas atau bawah layar, seperti dalam overlay Konfirmasi. (I60e3e)
  • Kami telah menambahkan setelan default ke Tombol untuk ukuran ikon besar dan ekstra besar yang direkomendasikan serta padding konten. (I84675)

Perbaikan Bug

  • Kami telah memperbarui warna untuk IconButton dan TextButton. (I48324)
  • Kami telah mengubah overload Tombol dasar agar sejajar di tengah secara vertikal untuk konsistensi dengan overload lainnya. Untuk memulihkan perilaku sebelumnya, gunakan Modifier.align dari RowScope. (I66e57)

Versi 1.0.0-alpha24

4 September 2024

androidx.wear.compose:compose-material3:1.0.0-alpha24 dirilis. Versi 1.0.0-alpha24 berisi commit ini.

Perubahan API

  • Kami telah menambahkan skema Gerakan ke tema Material3. Ini akan digunakan oleh komponen di seluruh library untuk menerapkan spesifikasi animasi seperti pegas untuk gerakan ekspresif. (I54ff3)
  • Kami telah menambahkan komponen AppScaffold dan ScreenScaffold ke library Material3, yang mencakup fungsi untuk mengoordinasikan pelapisan dan transisi TimeText dan ScrollIndicator. AppScaffold menyediakan komponen scaffold level teratas yang berada di atas semua layar. Dengan demikian, menambahkan TimeText ke AppScaffold memungkinkannya tetap berada di tempat saat menggeser antarlayar. Layar itu sendiri dapat mengganti atau menyembunyikan teks waktu. ScreenScaffold menyediakan slot untuk ScrollIndicator dan secara otomatis menganimasikan indikator scroll saat men-scroll, termasuk waktu tunggu untuk menyembunyikan indikator scroll setelah tidak aktif. (I047d6)
  • Kami telah menambahkan ScrollIndicator yang menampilkan desain Material3 baru. Thumbnail memiliki ukuran tetap berdasarkan konten daftar awal, untuk menghindari variasi ukuran saat konten lambat dimuat ke dalam daftar. (Ic228d)
  • Kami telah mengubah ScrollAway API sehingga ScreenStage adalah class nilai, bukan class enum, untuk memungkinkan tahap tambahan ditambahkan sesuai kebutuhan ke depannya. (I48c93)
  • Kami telah menambahkan EdgeButton, tombol khusus Wear yang unik dengan bentuk yang mengikuti lengkungan bagian bawah layar (I16369)
  • Kami telah menambahkan slot baru ke ScreenScaffold untuk tombol bawah (seperti EdgeButton), yang akan ditampilkan dan diubah ukurannya bergantung pada konten scroll (I032eb)
  • Kami telah menambahkan Modifier.scrollTransform dan Modifier.targetMorphingHeight untuk menambahkan efek gerakan Material3 ke item di LazyColumn. (Ie229a)
  • Kami telah menambahkan SegmentedCircularProgressIndicator sebagai variasi pada CircularProgressIndicator. Variasi tersegmentasi menampilkan satu nilai progres di semua segmen atau menampilkan setiap segmen sebagai aktif/nonaktif. (I6e059)
  • Kami telah menambahkan LinearProgressIndicator sebagai alternatif untuk CircularProgressIndicator yang ada. (I89182)
  • Kami telah menambahkan AlertDialog, yang menyediakan tata letak untuk menampilkan perintah penting kepada pengguna. Variasi disertakan untuk sepasang tombol konfirmasi/tutup atau satu tombol bawah (biasanya EdgeButton) di bawah kelompok opsi. Kedua variasi tersebut memiliki slot untuk ikon, judul, dan teks tambahan guna memberikan detail lebih lanjut. (Ieb873)
  • Kami telah menambahkan OpenOnPhoneDialog, yang harus digunakan untuk menunjukkan tindakan yang akan dilanjutkan di ponsel pengguna. OpenOnPhoneDialog ditutup setelah waktu tunggu yang ditentukan. (I978fd)
  • Kami telah menambahkan Confirmation, komponen dialog yang memiliki slot untuk ikon dan teks melengkung atau linear. Variasi tertentu disediakan untuk pesan berhasil/gagal. Konfirmasi akan otomatis ditutup setelah waktu tunggu. (Ib43e8)
  • Kami telah menambahkan latar belakang ke TimeText untuk mengurangi masalah saat konten pokok dan TimeText tumpang-tindih, dan mengaburkan waktu. (Ia11fd)
  • Kita telah menambahkan LevelIndicator, yang menampilkan nilai setelan seperti volume, dan dapat digunakan dengan komponen Stepper yang ada untuk membuat layar volume. LevelIndicator mirip dengan ScrollIndicator, tetapi ditampilkan di sisi lain layar dan memiliki lebar goresan yang lebih lebar serta warna indikator yang berbeda secara default. (I8a4ac)
  • Kami telah menambahkan TimePicker, dengan tata letak untuk waktu 24 jam (dengan atau tanpa detik), atau waktu 12 jam dengan pilihan am/pm. (Ia5124)
  • Kami telah menambahkan DatePicker, dengan konfigurasi untuk pengurutan kolom (yaitu hari-bulan-tahun, bulan-hari-tahun, atau tahun-bulan-hari) dan tanggal min/maks opsional. (Ibf13b)
  • Kami telah menambahkan parameter bobot ke fungsi text TimeText. Jika TimeText terdiri dari lebih dari satu elemen teks, hal ini memungkinkan kontrol atas cara ruang didistribusikan. (I36700)
  • Kami telah menambahkan RadioButton dan SplitRadioButton - komponen ini menyederhanakan API sebelumnya dengan menggabungkan (Split)SelectableButton dan kontrol radio turunan (If7ae8)
  • Kami telah menambahkan CheckboxButton dan SplitCheckboxButton - komponen ini menyederhanakan API sebelumnya dengan menggabungkan (Split)ToggleButton dan kontrol Checkbox turunan (Ia8f70)
  • Kami telah menambahkan SwitchButton dan SplitSwitchButton - komponen ini menyederhanakan API sebelumnya dengan menggabungkan (Split)ToggleButton dan kontrol Tombol turunan (I0d349)
  • Kami telah memperbarui dokumentasi AnimatedText untuk menjelaskan perilaku overshoot. (Iff30a)
  • Kami telah menambahkan ButtonGroup untuk menggabungkan 2 atau 3 tombol sehingga penekanan tombol menghasilkan animasi yang terkoordinasi. (Ie27db)
  • Kami telah menambahkan animasi bentuk opsional untuk IconButton dan TextButton saat ditekan. (Iffca5)
  • Kami telah menambahkan variasi warna tambahan, FilledVariant, ke Button, IconButton, TextButton, CompactButton, dan EdgeButton (I65fc3)
  • Kami telah menambahkan parameter forcedSize ke ImageWithScrimPainter, sehingga latar belakang gambar Tombol kini mempertahankan ukuran komponennya secara default. Menetapkan forcedSize = null akan mengadopsi Painter.instrinsicSize. (Ic57af)
  • Kami telah menambahkan klik lama ke Tombol (Ib613d)
  • Dukungan klik lama juga telah ditambahkan ke IconButton dan TextButton. (I38891)
  • Dukungan klik lama telah ditambahkan ke Kartu. (I305d5)
  • Kami telah menambahkan LocalTextMaxLines, LocalTextAlign, LocalTextOverflow sebagai CompositionLocals dan menggunakannya sebagai parameter default di Text. Lokal komposisi kini dapat digunakan oleh komponen seperti CheckboxButton, SwitchButton, RadioButton untuk menerapkan panduan UX, tetapi parameter dapat diganti oleh developer jika diperlukan. (Iab841)
  • Kami telah menambahkan Placeholder untuk membantu menyamarkan konten komponen seperti tombol & kartu hingga data dimuat. (I1a532)
  • Kami telah menambahkan IconToggleButtonColors dan TextToggleButtonColors untuk menggantikan ToggleButtonColors yang sekarang telah dihapus. (Ie0bf1)

Perbaikan Bug

  • Kami telah memperbarui Button, FilledTonalButton, OutlinedButton, ChildButton, CompactButton untuk menggunakan CompositionLocals LocalTextMaxLines, LocalTextAlign, LocalTextOverflow baru untuk menerapkan panduan UX - parameter ini dapat diganti oleh developer di Text secara langsung jika diperlukan (Ie51f7)
  • Kami telah mengubah lebar goresan default LevelIndicator menjadi 6dp untuk membedakannya dengan ScrollIndicator yang memiliki lebar goresan 4dp. (If6f63)
  • Kami telah memperbaiki masalah di TimeText sehingga sudut sapuan yang lebih besar didukung. (Ie489f)
  • Memperbaiki masalah selama rekomposisi EdgeButton. (I4cdca)
  • Memperbaiki tata letak tombol tombol terpisah saat padding konten yang disesuaikan disediakan. (Ia33d3)
  • Membulatkan nilai progres kecil hingga setidaknya lebar garis indikator progres. (I3bd84)

Versi 1.0.0-alpha23

14 Mei 2024

androidx.wear.compose:compose-material3:1.0.0-alpha23 dirilis. Versi 1.0.0-alpha23 berisi commit ini.

Perubahan API

  • Kami telah mengupdate ToggleButton dan RadioButton API sehingga warna yang dinonaktifkan dapat dikonfigurasi. (If13a7)
  • Kami telah menambahkan CircularProgressIndicator baru untuk Material3. (Ib3bd7)

Perbaikan Bug

  • Kami telah memperbaiki bug yang menyebabkan tombol yang dapat dipilih mengumumkan ketuk dua kali untuk beralih saat sudah dipilih. (I7ed88)

Versi 1.0.0-alpha22

1 Mei 2024

androidx.wear.compose:compose-material3:1.0.0-alpha22 dirilis. Versi 1.0.0-alpha22 berisi commit ini.

Perubahan API

  • Kami telah memperbarui ColorScheme Material3. (I7b2b8)
  • Kami telah memperbarui Tombol Material3 - serta beberapa perubahan warna, tanda centang kini cocok dengan yang digunakan untuk Kotak Centang. (Icac7b)

Perbaikan Bug

  • Memperbarui semua demo integrasi untuk menggunakan pengubah rotaryScrollable baru. (I25090)

Versi 1.0.0-alpha21

17 April 2024

androidx.wear.compose:compose-material3:1.0.0-alpha21 dirilis. Versi 1.0.0-alpha21 berisi commit ini.

  • Rilis ini dipicu karena masalah teknis dalam rilis sebelumnya yang menyebabkan jar sumber tidak ada. Tidak ada commit baru dalam rilis ini.

Versi 1.0.0-alpha20

3 April 2024

androidx.wear.compose:compose-material3:1.0.0-alpha20 dirilis. Versi 1.0.0-alpha20 berisi commit ini.

Perbaikan Bug

  • Kami telah menyesuaikan alfa status fokus dan ditekan Ripple untuk kontras. (I59f0a)
  • Kami telah menambahkan spasi antara label primer dan sekunder di Button, ToggleButton, dan RadioButton, mengikuti perubahan terbaru pada gaya tipografi dan tinggi baris. (I2c0ba)

Versi 1.0.0-alpha19

6 Maret 2024

androidx.wear.compose:compose-material3:1.0.0-alpha19 dirilis. Versi 1.0.0-alpha19 berisi commit ini.

Perubahan API

  • Kami telah menambahkan TimeText ke library Wear Compose Material3. Komponen ini menampilkan waktu saat ini (dan status tambahan) di bagian atas layar. Material3 API yang baru dan ringkas menghindari duplikasi antara konten linear dan melengkung. (I4d7c3)
  • Kami telah memperbarui nama parameter dari onSelected menjadi onSelect untuk RadioButton. (I1a971)
  • Buat token RadioButton dan SplitRadioButton, serta faktorkan ulang metode yang ada untuk mengurangi jumlah pencarian CompositionLocal dengan menambahkan instance warna yang di-cache, dan membuat metode RadioButtonColors dan SplitRadioButtonColors bersifat internal. (I02b33)

Versi 1.0.0-alpha18

21 Februari 2024

androidx.wear.compose:compose-material3:1.0.0-alpha18 dirilis. Versi 1.0.0-alpha18 berisi commit berikut ini.

Perubahan API

  • Kami telah memfaktorkan ulang pola default untuk CardColors, ToggleButtonColors, dan SplitToggleButtonColors dengan membuat instance yang di-cache secara internal dan mengurangi penggunaan CompositionLocal. (If3fec)

Versi 1.0.0-alpha17

7 Februari 2024

androidx.wear.compose:compose-material3:1.0.0-alpha17 dirilis. Versi 1.0.0-alpha17 berisi commit ini.

Perubahan API

  • Kami telah memperbarui Button API untuk menggunakan buttonColors secara default dan menghapus filledButtonColors duplikat. (I4fe3b)
  • Kami telah memfaktorkan ulang pola default untuk ButtonColors, IconButtonColors, dan TextButtonColors dengan membuat instance yang di-cache secara internal dan mengurangi penggunaan CompositionLocal. (I5f51c)
  • Kami telah menghapus overhead rememberUpdatedState di class warna khusus Komponen dan menandai metode pengakses di dalam class warna sebagai internal. (If6571)

Perbaikan Bug

  • Kami telah memperbarui Modifier.minimumInteractiveComponentSize untuk menggunakan Modifier.node. (Iba6b7)

Versi 1.0.0-alpha16

24 Januari 2024

androidx.wear.compose:compose-material3:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit berikut ini.

Fitur Baru

  • Kami telah menambahkan CompactButton, yang dapat menggunakan warna isi, warna isi tonal, dan warna garis batas yang sama dengan Tombol.(I05df0)

Perubahan API

  • Kami telah menambahkan RadioButton/SplitRadioButton sebagai penampung untuk kontrol pilihan, seperti kontrol Radio. Hal ini berbeda dengan ToggleButton yang ada karena RadioButton dapat dipilih (dan beroperasi dalam grup pilihan) sedangkan ToggleButton dapat diaktifkan/dinonaktifkan (dan bersifat independen). (I61275)
  • Kami menghapus LocalContentAlpha dari library Wear Compose Material3 untuk konsistensi dengan library Compose Material3. (I49a0a)
  • Komponen material Wear dan material3 Wear yang mengekspos MutableInteractionSource di API-nya telah diupdate sehingga kini mengekspos MutableInteractionSource nullable yang ditetapkan secara default ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan MutableInteractionSource akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa di komponen Anda sendiri. (Ib90fc, b/298048146)
  • Menambahkan ripple API baru di library wear:compose-material dan wear:compose-material3 yang menggantikan rememberRipple yang tidak digunakan lagi. Juga menambahkan CompositionLocal, LocalUseFallbackRippleImplementation sementara, untuk mengembalikan komponen Material agar menggunakan API rememberRipple/RippleTheme yang tidak digunakan lagi. Ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara untuk kasus saat Anda menyediakan RippleTheme kustom. Lihat developer.android.com untuk mengetahui informasi migrasi dan informasi latar belakang selengkapnya tentang perubahan ini. (af92b21)
  • Kami telah melakukan peningkatan kecil pada API HorizontalPageIndicator dan dokumentasinya. (I60efc)
  • Kami telah memperbarui ColorScheme agar tidak dapat diubah, sehingga membuat pembaruan warna satu per satu menjadi kurang efisien, tetapi membuat penggunaan warna yang lebih umum menjadi lebih efisien. Alasan di balik perubahan ini adalah sebagian besar aplikasi tidak akan memperbarui setiap warna sebagai kasus penggunaan utama. Hal ini masih dapat dilakukan, tetapi akan merekomposisi lebih banyak dari sebelumnya, sehingga kami secara signifikan mengurangi jumlah langganan status melalui semua kode material dan akan memengaruhi biaya inisialisasi dan runtime dari kasus penggunaan yang lebih standar. (Ibc2d6)
  • Memperbarui ToggleButton dan SplitToggleButton API untuk memungkinkan warna yang dinonaktifkan disesuaikan. Selain itu, token Desain Material kini digunakan untuk nilai warna dan tipografi. (If087c)
  • Memperbarui warna latar belakang gambar Tombol untuk menggunakan token Desain Material. (Iba215)
  • Kita telah mengubah komponen Checkbox, Switch, dan RadioButton menjadi hanya tampilan, dengan menghapus penanganan klik. Komponen ini diharapkan akan digunakan di (Split)ToggleButton yang menangani klik, sehingga komponen kini lebih jelas ditunjukkan sebagai hanya tampilan (dan tidak dimaksudkan untuk penggunaan mandiri di Wear). (I2322e)

Perbaikan Bug

  • Kami telah menambahkan token untuk nilai gerakan durasi dan easing di Wear Compose Material 3. (I437cd)
  • Kami telah memperbaiki bug di ToggleButton, SplitToggleButton, Checkbox, Switch, dan RadioButton sehingga pengumuman aksesibilitas tidak diulang (sebelumnya, peran semantik diduplikasi). (Ica281)
  • Kami telah menghapus lapisan materialcore untuk CompactButton guna meningkatkan performa. (7902858)

Versi 1.0.0-alpha15

15 November 2023

androidx.wear.compose:compose-material3:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit ini.

Perubahan API

  • Kami telah mengganti nama level Dasar SwipeToDismissBox menjadi BasicSwipeToDismissBox. Hal ini membuat perbedaan lebih jelas antara komponen tingkat Foundation dan SwipeToDismissBox tingkat Material3. Yang terakhir mengambil warna dari MaterialTheme untuk digunakan dalam scrim dan mendelegasikan implementasi yang tersisa ke BasicSwipeToDismissBox. (Ibecfc)

Perbaikan Bug

  • Kami telah menghapus lapisan material-core untuk Tombol Material3 guna meningkatkan performa. (I55555)

Versi 1.0.0-alpha14

18 Oktober 2023

androidx.wear.compose:compose-material3:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.

Perubahan API

  • Kami telah menghapus parameter indicatorStyle dari HorizontalPageIndicator Material3 - sebagai gantinya, parameter ini akan mengikuti bentuk layar perangkat (linear atau bulat). (I83728)
  • Kami telah memisahkan warna untuk SplitToggleButton dari warna untuk ToggleButton, dengan menambahkan class SplitToggleButtonColors baru. (I78bee)

Versi 1.0.0-alpha13

4 Oktober 2023

androidx.wear.compose:compose-material3:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha013 berisi commit berikut ini.

Perubahan API

  • Kami telah menambahkan kolom Subtitel opsional ke TitleCard. (Ifc45a)
  • Kami telah menambahkan token warna Desain Material untuk TextButton. (I769dc)

Versi 1.0.0-alpha12

20 September 2023

androidx.wear.compose:compose-material3:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Perubahan API

  • Kami telah memperbarui IconButton untuk menggunakan token Desain Material. (I3f137)
  • Kami telah memperbarui IconToggleButton untuk menggunakan token Desain Material. (I7d263)
  • Kami telah membuat konstruktor CheckboxColors, RadioButtonColors, SwitchColors menjadi publik. (I82b73)

Versi 1.0.0-alpha11

6 September 2023

androidx.wear.compose:compose-material3:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Perbaikan Bug

  • Kami memperbarui tipografi untuk Kartu Material3 menjadi TitleMedium. (I597bd)
  • Kami telah memperbarui tipografi dan perataan untuk ListHeader dan ListSubheader Material3. (Ib5ceb)

Versi 1.0.0-alpha10

23 Agustus 2023

androidx.wear.compose:compose-material3:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit berikut.

Fitur Baru

  • Tambahkan HorizontalPageIndicator di library Wear Material3. (Ifee99)

Perubahan API

  • Perbarui kode Tombol untuk menggunakan token desain Material3. (I92fe4)
  • Mendeklarasikan Wear Material 3 Stepper dan Slider API sebagai eksperimental karena detail antarmuka pengguna masih dalam proses penyelesaian. (I84d54)
  • Kami telah menghapus ukuran ExtraSmall dari TextButton dan TextToggleButton bulat karena ukuran tersebut hanya berlaku untuk IconButton. (Ibc7d5)

Perbaikan Bug

  • Kami telah memperbarui panduan tentang tipografi untuk TextToggleButton agar menggunakan LabelLarge untuk LargeButtonSize (Ib10fa)
  • Kami telah memperbarui panduan tipografi untuk TextButton agar menggunakan LabelLarge untuk LargeButtonSize (I8f3a7)
  • Kami telah menetapkan target sentuh minimum Kartu menjadi 48 dp untuk aksesibilitas. (Ieb9b1)
  • Menambahkan AppCard dengan demo gambar, menghapus AppCard dengan demo Latar Belakang (Id735f)
  • Memperbaiki bug pada tombol bulat saat pengubah tidak dirantai dengan benar. (I5e162)

Versi 1.0.0-alpha09

9 Agustus 2023

androidx.wear.compose:compose-material3:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.

Fitur Baru

  • Kami telah menambahkan ToggleButton untuk material3 (I6bed6)

Perubahan API

  • Kami telah mengaktifkan anotasi FloatRange sebagai batasan API , yang sebelumnya dinyatakan dalam komentar. (Icb401)
  • Kami telah memperbarui tipografi untuk Wear Material3 agar mematuhi pedoman Material3 terbaru. (I1bad6)

Perbaikan Bug

  • Kami telah memperbarui warna untuk Button, IconButton, dan TextButton agar sesuai dengan desain Material3. (Ib2495)
  • Kami telah memperbaiki visibilitas centang kotak dalam status nonaktif. (Ib25bf)

Versi 1.0.0-alpha08

26 Juli 2023

androidx.wear.compose:compose-material3:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan kontrol pemilihan berikut untuk Material3 - Switch, Checkbox, RadioButton. (Ib918c)
  • Kami telah menambahkan IconToggleButton dan TextToggleButton ke Material3, tombol tombol lingkaran dengan satu slot untuk ikon dan teks. Untuk ukuran ToggleButton yang berbeda, sebaiknya gunakan Modifier.touchTargetAwareSize dengan ukuran yang disediakan di tombol tombol masing-masing. (I9f015)
  • Kita telah menambahkan ListHeader dan ListSubheader ke komponen Material3. (Ibaefe)
  • Kami telah menambahkan SwipeToDismissBox Material3, yang memanggil SwipeToDismissBox Foundation baru dan menyediakan nilai warna default dari temanya. (I275fb)
  • Kami telah menambahkan InlineSlider Material3 ke Wear Compose. Komponen ini memungkinkan pengguna membuat pilihan dari rentang nilai. Rentang pilihan ditampilkan sebagai panel antara nilai rentang minimum dan maksimum, yang memungkinkan pengguna memilih satu nilai. InlineSlider ideal untuk menyesuaikan setelan seperti volume atau kecerahan. (I7085f)

Perubahan API

  • Kami telah memperbarui Bentuk dalam tema Wear Material 3 untuk menggunakan RoundedCornerShape, bukan Bentuk. (Idb133)
  • Kami telah membuat konstanta tinggi untuk Tombol bersifat publik (Idbfde)
  • Mengupdate file API untuk menganotasi penekanan kompatibilitas (I8e87a, b/287516207)
  • Kami telah memperbarui InlineSliderColors di Wear Compose Material 3 agar memiliki konstruktor publik dan properti publik. (I6b632)
  • Kami telah memperbarui semua class warna di Wear Compose Material 3 agar memiliki konstruktor publik dan properti publik. (I17702)
  • Kami telah membuat konstanta padding horizontal dan vertikal Button menjadi publik. (Ieeaf7)

Perbaikan Bug

  • Tombol kini akan menyesuaikan tingginya untuk mengakomodasi konten yang telah bertambah karena font besar untuk aksesibilitas, jika diperlukan (Iaf302)
  • Kami telah memperbarui sejumlah demo Tombol untuk mengatasi masalah aksesibilitas. (I61ce9)
  • Stepper dan InlineSlider kini mendukung klik berulang pada penekanan lama sehingga Anda dapat dengan cepat menaikkan/menurunkan nilai Stepper dan InlineSlider dengan menahan tombol + atau - (I27359)

Versi 1.0.0-alpha07

21 Juni 2023

androidx.wear.compose:compose-material3:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan komponen Stepper ke library Compose untuk Wear OS Material 3. Ini mirip dengan versi Material sebelumnya, tetapi menghilangkan semantik rentang secara default, mengikuti masukan developer. Kami menyediakan Modifier.rangeSemantics kasus saat semantik rentang diperlukan. (Ic39fd)
  • Kami telah menambahkan curvedText ke library Compose untuk Wear OS Material 3. (Ia8ae3)

Perbaikan Bug

  • Kami telah memperbarui wear.compose.foundation menjadi dependensi API wear.compose.material3 (I72004, b/285404743)

Versi 1.0.0-alpha06

7 Juni 2023

androidx.wear.compose:compose-material3:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbarui TextButton untuk menggunakan fungsi ekstensi toDisabledColor untuk nilai alfa yang dinonaktifkan yang benar. (I814c8)

Versi 1.0.0-alpha05

24 Mei 2023

androidx.wear.compose:compose-material3:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan TextButton ke Material3, tombol lingkaran dengan satu slot untuk teks. Untuk berbagai ukuran TextButton, sebaiknya gunakan Modifier.touchTargetAwareSize dan ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, dan LargeButtonSizeIcon yang disediakan di TextButtonDefaults. TextButton default tidak memiliki batas dan latar belakang transparan untuk tindakan penekanan rendah. Untuk tindakan yang memerlukan penekanan tinggi, gunakan filledTextButtonColors; untuk penekanan sedang, TextButton yang digarisbatasi, tetapkan batas ke ButtonDefaults.outlinedButtonBorder; untuk posisi tengah antara garis batas dan terisi, gunakan filledTonalTextButtonColors. (I667e4)
  • Kami telah menambahkan Card, OutlinedCard, AppCard, dan TitleCard ke dalam library Wear Compose Material3. AppCard dan TitleCard juga dapat diberi tampilan garis batas menggunakan CardDefaults.outlinedCardColors dan CardDefaults.outlinedCardBorder(I80e72)

Perubahan API

  • Kami telah memindahkan parameter label Tombol ke bagian akhir untuk mendukung sintaksis lambda akhir dan menghapus parameter peran (karena dapat diganti menggunakan Modifier.semantics). Konstruktor ButtonColors kini bersifat publik. (Ie1b6d)

Versi 1.0.0-alpha04

10 Mei 2023

androidx.wear.compose:compose-material3:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

Fitur Baru

  • Kita telah menambahkan IconButton ke Material3, tombol lingkaran dengan satu slot untuk ikon/gambar. Ada empat variasi: IconButton, FilledIconButton, FilledTonalIconButton, dan OutlinedIconButton. Untuk berbagai ukuran IconButton, sebaiknya gunakan Modifier.touchTargetAwareSize dan ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, dan LargeButtonSizeIcon yang disediakan di IconButtonDefaults. Kami juga menyediakan IconButtonDefaults.iconSizeFor untuk menentukan ukuran ikon yang direkomendasikan untuk ukuran tombol tertentu. (I721d4)

Versi 1.0.0-alpha03

19 April 2023

androidx.wear.compose:compose-material3:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.

Perubahan API

  • Kami telah menambahkan komponen Tombol Material 3 - ini adalah tombol berbentuk stadion dan sebelumnya bernama Chip di library Material Wear Compose (telah diganti namanya menjadi Tombol untuk konsistensi dengan library Compose Material 3). Tombol default memiliki latar belakang yang terisi dan ada variasi tombol untuk FilledTonal (latar belakang yang diredam), Berbingkai (transparan dengan batas tipis), dan Turunan (latar belakang transparan dan tidak ada batas, digunakan untuk tindakan tambahan dengan jumlah keterlihatan terendah). Tombol bulat untuk konten ikon dan teks sederhana akan menyusul dalam rilis mendatang.(Ia6942)

Versi 1.0.0-alpha02

5 April 2023

androidx.wear.compose:compose-material3:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Kami telah menambahkan DefaultTextStyle ke Wear Compose Material 3 yang menetapkan PlatformTextStyle.includeFontPadding ke benar (setelan saat ini) secara default. Hal ini akan memungkinkan kita menyinkronkan penonaktifan padding font secara default dengan library Compose di masa mendatang (lihat Memperbaiki padding font di Compose untuk latar belakang). (I7e461)

Versi 1.0.0-alpha01

22 Maret 2023

androidx.wear.compose:compose-material3:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

  • Material 3 adalah evolusi berikutnya dari Desain Material dan mencakup tema yang diperbarui serta komponen yang didesain ulang. Material 3 di Wear Compose dirancang agar selaras dengan library Compose Material 3 di Android. Rilis alfa pertama ini berisi implementasi awal dan fungsional dari hal berikut:

    • Tema material - mengonfigurasi skema warna, tipografi, dan bentuk secara konsisten di seluruh komponen dalam library. Tema Material3 telah merevisi warna yang mendukung kontras yang mudah diakses. (I84005)
    • Teks/Ikon - elemen penyusun untuk aplikasi Wear Compose (I8e06a)
  • Kami akan terus mengembangkan Material Wear (androidx.wear.compose:compose-material) dan Material Wear 3 (androidx.wear.compose:compose-material3) secara paralel. Rilis material3 mendatang akan memperluas kumpulan widget untuk menyertakan komponen umum lainnya dari Compose untuk Wear OS, seperti tombol, alat pilih, dan penggeser.

  • Library Wear Material dan Wear Material 3 bersifat eksklusif dan tidak boleh dicampur dalam aplikasi yang sama, terutama karena keduanya mereferensikan tema yang berbeda yang akan menyebabkan inkonsistensi yang tidak terduga.

Wear Compose Versi 1.5

Versi 1.5.0-alpha07

11 Desember 2024

androidx.wear.compose:compose-*:1.5.0-alpha07 dirilis. Versi 1.5.0-alpha07 berisi commit ini.

Perubahan API

  • TransformingLazyColumnState kini menyediakan cara untuk mengamati progres scroll saat ini berdasarkan indeks item anchor. (I72b01)
  • Kami telah menambahkan animasi ke TransformingLazyColumn saat menambahkan, menghapus, dan memindahkan item, jika item tersebut memiliki Modifier.animateItem baru. (Iecb9c)
  • TransformingLazyColumn kini mengekspos nilai untuk beforeContentPadding dan afterContentPadding. (Iccd5f)
  • TransformingLazyColumn kini menyediakan komposisi LocalTransformingLazyColumnItemScope lokal yang dapat digunakan komponen (seperti Card dan Button di Material3) untuk berubah secara otomatis saat ditempatkan di dalam TransformingLazyColumn. Pemanggil dapat menonaktifkan perubahan otomatis menggunakan wrapper TransformExclusion baru. (I1652f)

Perbaikan Bug

  • Kami telah memperbarui kecepatan ayun minimum dan maksimum untuk perangkat rotari yang menargetkan U dan seterusnya. (I33559)
  • Kami telah memperbaiki error yang terjadi jika item di TransformingLazyColumn tidak berisi composable apa pun (Idb99d)
  • Kami telah menambahkan dukungan ScrollFeedbackProvider untuk haptik rotasi di Android Vanilla ice cream. (Ibc553)
  • Kami telah menerapkan slop sentuh yang ditingkatkan saat menggunakan SwipeToReveal untuk mengurangi kemungkinan tidak sengaja memicu geser saat men-scroll secara vertikal. (Ic0672)
  • Kami telah memperbarui SwipeDismissableNavHost untuk menggunakan PredictiveBackHandler jika tersedia dengan API 35 dan seterusnya. Dalam hal ini, animasi baru akan diterapkan. (I08c11)

Versi 1.5.0-alpha06

13 November 2024

androidx.wear.compose:compose-*:1.5.0-alpha06 dirilis. Versi 1.5.0-alpha06 berisi commit ini.

Perubahan API

  • Kami telah menyederhanakan ScrollInfoProvider untuk PagerState dengan menghapus parameter orientation, yang tidak lagi diperlukan. Perilaku barunya adalah agar TimeText tetap ada untuk paging horizontal dan vertikal. (I71767)
  • TransformingLazyColumn diperkenalkan dalam rilis sebelumnya. Sekarang kami menghapus alias LazyColumn Wear (yang meneruskan ke TransformingLazyColumn) dan menggantinya dengan nama baru TransformingLazyColumn. Kami juga telah menghapus properti height TransformingLazyColumnVisibleItemInfo - sebagai gantinya, gunakan measuredHeight. (I0ea1e)
  • Kami telah mengubah PagerDefaults.snapFlingBehavior snapAnimationSpec dari spesifikasi Tween menjadi Spring.(I10d02, b/349781047, b/303807950)
  • Kami telah mempromosikan LocalReduceMotion CompositionLocal ke stabil (Ia6f32)

Perbaikan Bug

  • Kami telah memperbarui Modifier.rotaryScrollable untuk menggunakan focusTargetWithSemantics guna mendapatkan dukungan semantik yang lebih baik di rotary. (Ief0a0)
  • Kami telah mengupdate dependensi API minimum ke 1.7.4 untuk library Compose. (I88b46)
  • Kami telah menonaktifkan morphing lebar di TransformingLazyColumn sebagai solusi untuk bug pemangkasan. (I3dfb8)
  • Kami telah memperbaiki bug yang menyebabkan item menghilang setelah overscroll dengan TransformingLazyColumn (Id7668)
  • Kami telah menambahkan LazyLayoutSemantics untuk TransformingLazyColumn. (Ia8f56)

Versi 1.5.0-alpha05

30 Oktober 2024

androidx.wear.compose:compose-*:1.5.0-alpha05 dirilis. Versi 1.5.0-alpha05 berisi commit ini.

Perubahan API

  • Kami telah menambahkan dukungan untuk animateScrollTo di TransformingLazyColumnState sehingga scroll ke item dapat dianimasikan. (I4097d)
  • Kami telah menambahkan requestScrollTo di TransformingLazyColumnState untuk menunda scroll ke pengukuran berikutnya. (I20a5e)
  • Kami telah menambahkan dukungan untuk contentPadding di TransformingLazyColumn. (I3a69c)

Perbaikan Bug

  • Kami telah memperbaiki bug dalam merender TransformingLazyColumn saat tinggi konten lebih pendek dari tinggi layar. (I6c3e1)
  • ScrollInfoProvder untuk TransformingLazyColumn kini melacak item pertama dengan benar. (I1e4a3)
  • TransformingLazyColumnState kini menyimpan statusnya (anchorItemIndex dan anchorItemScrollOffset). (I3d265)

Versi 1.5.0-alpha04

16 Oktober 2024

androidx.wear.compose:compose-*:1.5.0-alpha04 dirilis. Versi 1.5.0-alpha04 berisi commit ini.

Perubahan API

  • Kami telah mengganti nama Wear Compose Foundation LazyColumn menjadi TransformingLazyColumn sehingga perbedaannya lebih jelas antara Wear Compose Foundation LazyColumn dan Compose Foundation LazyColumn. (I0608b)
  • Menambahkan dukungan dari alat rotasi untuk pager Horizontal/Vertikal, yang memungkinkan pengguna menavigasi pager menggunakan perangkat input dari alat rotasi. (I9770d)
  • Kami telah memperbarui PagerDefaults baru untuk memperjelas bahwa pager akan otomatis beralih ke halaman default. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress kini menjadi class nilai yang akan meningkatkan performa. (Ic399e)
  • TransformingLazyColumn kini mendukung rotary secara otomatis. (I05206)
  • TransformingLazyColumnState kini mendukung scrollToItem. (I507b3)
  • Menghapus @ExperimentalWearFoundationApi dari SwipeToReveal API (I34a66)

Versi 1.5.0-alpha03

2 Oktober 2024

androidx.wear.compose:compose-*:1.5.0-alpha03 dirilis. Versi 1.5.0-alpha03 berisi commit ini.

Perubahan API

  • Kami telah menambahkan dukungan untuk geser dua arah di SwipeToReveal, untuk kasus yang jarang terjadi saat layar saat ini tidak mendukung geser untuk menutup. . Setelan defaultnya masih geser untuk menampilkan hanya pada geser dari kanan ke kiri dan sebaiknya ikuti perilaku default untuk menghindari konflik dengan geser untuk menutup. (Ifac04)
  • Kami telah memperbarui LazyColumnState untuk mengganti canScrollForward dan canScrollBackward - tindakan ini sekarang menghentikan scroll saat item pertama atau terakhir berada tepat di tengah layar. (Ia77d7)
  • Kami telah menambahkan komponen HorizontalPager dan VerticalPager baru yang mengatasi masalah umum, seperti penanganan fokus dan berinteraksi dengan geser sistem untuk menutup yang dapat terjadi di Wear. (I2902b)
  • Kami telah menambahkan dukungan untuk LazyColumn guna mengekspos key dan contentType klien melalui layoutItems. (I1bd9c)

Perbaikan Bug

  • Kami telah memperbarui animasi teks melengkung agar lebih halus, menggunakan flag cat. (I73a15)
  • Kami telah memperbarui dokumentasi Dialog Material untuk menunjukkan bahwa onDismissRequest tidak dipanggil setelah tanda tampilkan disetel ke salah. (Ifd8d6)
  • Kami telah memperbaiki bug pada animasi vinyet di Dialog Material (I126bf)

Versi 1.5.0-alpha02

18 September 2024

androidx.wear.compose:compose-*:1.5.0-alpha02 dirilis. Versi 1.5.0-alpha02 berisi commit ini.

Perubahan API

  • Kami telah menambahkan dukungan untuk LazyColumn Wear Compose dengan ScreenScaffold kami (dan menambahkan implementasi ScrollInfoProvider untuk LazyColumnState). (Ib8d29)
  • Kami telah menambahkan viewportSize ke LazyColumnLayoutInfo. (I4187f)

Perbaikan Bug

  • Kami telah memperbaiki bug sehingga scroll putar kini dinonaktifkan di ScalingLazyColumn saat tanda userScrollEnabled ditetapkan ke false. (I490ab, b/360295825)
  • Kami telah melakukan perbaikan bug untuk mengatasi padding vertikal yang tidak terduga pada teks melengkung. Tinggi teks melengkung kini lebih cocok dengan ruang sebenarnya yang digunakan oleh teks. Perhatikan bahwa hal ini kemungkinan akan merusak pengujian screenshot yang melibatkan teks melengkung (Iaa6ef)
  • Kami telah mengembalikan perbaikan bug ke Dialog saat callback onDismissRequest dipanggil saat showDialog disetel ke salah, karena dalam beberapa kasus hal ini menyebabkan onDismissRequest dipanggil beberapa kali. (I64656)

Versi 1.5.0-alpha01

4 September 2024

androidx.wear.compose:compose-*:1.5.0-alpha01 dirilis. Versi 1.5.0-alpha01 berisi commit ini.

Perubahan API

  • Kami telah menambahkan LazyColumn baru ke library Wear Compose Foundation dengan API LazyColumnState dan LazyColumnScope terkait. Hal ini berfungsi sebagai dasar untuk membuat efek penskalaan dan perubahan yang dapat disesuaikan dengan Wear Compose. (Ib3b22)
  • Kami telah menambahkan versi itemsIndexed yang diindeks ke LazyColumnScope sebagai bagian dari LazyColumn API baru. (Ib4a57)
  • Kami telah menambahkan pengubah LazyColumn untuk mendukung perilaku penskalaan dan perubahan bentuk. (Ie229a)
  • HierarchicalFocusCoordinator telah dipromosikan ke stabil. (I31035)
  • Kami telah menambahkan dukungan untuk spasi huruf ke teks melengkung. (I3c740)
  • Menambahkan parameter rotationLocked ke CurvedLayout.curvedComposable untuk menghentikan komponen diputar. (I66898)
  • LocalUseFallbackRippleImplementation API sementara dari material wear dan material wear3 telah dihapus (I62282)
  • Menghapus WearDevices.SQUARE dari multi-pratinjau @WearPreviewDevices (I11c02)

Perbaikan Bug

  • SwipeToReveal kini memosisikan item yang ditampilkan di bagian layar yang terlihat, hal ini membantu saat SwipeToReveal digunakan dalam daftar, sehingga item selalu dapat berinteraksi dan tidak pernah berada di luar layar. (I38929)
  • SwipeToReveal kini mereset lastActionType ke Tidak ada saat animatedTo telah selesai. (I59b03)
  • Meningkatkan dokumentasi untuk parameter rotationLocked baru di curvedComposable. (Ifbd57)
  • Memperbaiki error saat meneruskan NaN ke performFling ScalingLazyColumnSnapFlingBehavior. (Ic13da)
  • Memperbaiki bug pada pengubah ukuran tata letak melengkung (I0fedf)
  • Kami telah menambahkan dukungan untuk spasi huruf yang ditentukan dalam 'sp'. (I9f6e3)
  • Kami telah memperbaiki bug di Dialog Material2 saat callback onDismissRequest tidak dipanggil saat dialog menjadi tidak terlihat (I64656)
  • Mengganti nama LayoutCoordinates.introducesFrameOfReference menjadi LayoutCoordinates.introducesMotionFrameOfReference untuk lebih mencerminkan tujuannya. Mengganti nama fungsi terkait untuk menghitung koordinat berdasarkan tanda tersebut. (I3a330)

Versi 1.4

Versi 1.4.0

4 September 2024

androidx.wear.compose:compose-*:1.4.0 dirilis. Versi 1.4.0 berisi commit ini.

Perubahan penting sejak versi 1.3.0

  • ScalingLazyColumn dan Picker kini mendukung input putar secara default - sebaiknya hapus penanganan putar eksplisit dan tunda ke perilaku sistem default. Jika perlu, gunakan parameter rotaryScrollableBehavior untuk mengonfigurasi perilaku scroll atau snap - untuk perilaku snap, sebaiknya berikan perilaku snap dan kemampuan scroll sentuh menggunakan parameter flingBehavior.
  • Modifier.rotaryScrollable adalah pengubah baru yang menghubungkan peristiwa rotasi dengan penampung yang dapat di-scroll, sehingga pengguna dapat men-scroll menggunakan kenop jam atau bingkai yang berputar di perangkat Wear OS mereka.
  • SwipeDismissableNavHost kini menyediakan animasi entri untuk transisi dalam aplikasi.
  • PositionIndicator kini ditampilkan secara default saat layar pertama kali ditampilkan.

Perubahan lainnya

  • Untuk kumpulan perubahan yang lebih lengkap yang diperkenalkan di versi 1.3.0, lihat catatan rilis beta01.

Versi 1.4.0-rc01

21 Agustus 2024

androidx.wear.compose:compose-*:1.4.0-rc01 dirilis. Versi 1.4.0-rc01 berisi commit ini.

  • Kami telah mengupdate dependensi Compose ke 1.7.0-rc01 dan menyematkan Navigation Wear Compose ke androidx.lifecycle 2.8.3

Versi 1.4.0-beta03

12 Juni 2024

androidx.wear.compose:compose-*:1.4.0-beta03 dirilis. Versi 1.4.0-beta03 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbarui Modifier.rotaryScrollable untuk mengganti penggunaan 'focusable' dengan 'focusTarget' yang meningkatkan performa. (Id294b)
  • Kami telah memperbaiki masalah saat ProgressIndicator mengulangi pengumumannya di bagian TalkBack. (I94563)
  • Kami telah memperbarui profil dasar pengukuran library Wear Compose. (I3cbc3)

Versi 1.4.0-beta02

29 Mei 2024

androidx.wear.compose:compose-*:1.4.0-beta02 dirilis. Versi 1.4.0-beta02 berisi commit ini.

Perbaikan Bug

  • Kami telah meningkatkan lebar batas yang diteruskan ke pembaca layar dari teks melengkung untuk mengatasi masalah pemotongan (Id865f).
  • Kami telah membatasi batas HorizontalPageIndicator yang diteruskan ke pembaca layar - sebelumnya indikator menempati layar penuh (Id8d7a).

Versi 1.4.0-beta01

14 Mei 2024

androidx.wear.compose:compose-*:1.4.0-beta01 dirilis. Versi 1.4.0-beta01 berisi commit ini.

Rilis 1.4-beta01 Compose untuk Wear OS menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci (kecuali jika ditandai sebagai eksperimental). Wear Compose 1.4 menyertakan fungsi baru berikut:

  • Kami telah menambahkan Modifier.rotaryScrollable, pengubah baru yang menghubungkan peristiwa rotasi dengan penampung yang dapat di-scroll, sehingga pengguna dapat men-scroll melalui kenop jam atau bingkai yang berputar di perangkat Wear OS mereka. Selain itu, ScalingLazyColumn dan Picker kini mendukung input putar secara default. Gunakan parameter rotaryScrollableBehavior untuk mengonfigurasi perilaku scroll atau snap. Untuk perilaku snap, sebaiknya berikan snap melalui parameter flingBehavior juga untuk scroll sentuh.
  • SwipeDismissableNavHost kini menyediakan animasi entri untuk transisi dalam aplikasi.
  • PositionIndicator kini ditampilkan secara default saat layar pertama kali ditampilkan.
  • SelectableChip dan SplitSelectableChip telah ditambahkan sebagai variasi pada ToggleChip - gunakan ini dengan RadioButton untuk memberikan semantik yang dapat dipilih, bukan semantik yang dapat diubah untuk aksesibilitas
  • ListHeader kini mendukung penyesuaian tinggi saat konten memerlukan tinggi tambahan untuk mengakomodasi ukuran font besar.

Perbaikan Bug

  • Kami telah memperbaiki bug yang menyebabkan chip yang dapat dipilih mengumumkan ketuk dua kali untuk beralih saat sudah dipilih. (I7ed88)

Versi 1.4.0-alpha08

1 Mei 2024

androidx.wear.compose:compose-*:1.4.0-alpha08 dirilis. Versi 1.4.0-alpha08 berisi commit ini.

Perubahan API

  • Kami telah melakukan perubahan berikut pada API rotari baru: mengganti nama Modifier.rotary menjadi Modifier.rotaryScrollable; mengganti nama antarmuka RotaryBehavior menjadi RotaryScrollableBehavior dan fungsinya handleScrollEvent menjadi performScroll; mengganti nama RotaryScrollableAdapter menjadi RotaryScrollableLayoutInfoProvider dan menghapus properti scrollableState. (I0c8a6)
  • Kami telah melakukan perubahan tambahan pada API rotary: mengganti nama RotaryScrollableLayoutInfoProvider menjadi RotarySnapLayoutInfoProvider (karena penyedia ini hanya diperlukan untuk rotary dengan snap); mengubah jenis parameter snapOffset di RotaryScrollableDefaults.snapBehavior snapOffset dari Int menjadi Dp. (Iddebe)
  • Kami telah mengganti nama parameter clickInteractionSource di SplitSelectableChip menjadi containerInteractionSource. (Ia8f84)
  • Kami telah memperbarui nama parameter callback klik untuk SplitSelectableChip - dari onClick menjadi onSelectionClick dan dari onBodyClick menjadi onContainerClick. (I32237)

Perbaikan Bug

  • Kami telah memperbarui padding horizontal untuk PositionIndicator menjadi 2dp (sebelumnya 5dp), untuk memperbaiki bug saat PositionIndicator (scrollbar) tumpang-tindih dengan konten yang dapat di-scroll. Perhatikan bahwa perubahan ini diperkirakan akan merusak screenshot yang ada yang menyertakan PositionIndicator karena perubahan padding. (I57472)
  • Kami telah meningkatkan dokumentasi untuk API rotari baru dengan menjelaskan perbedaan antara perangkat rotari beresolusi rendah dan beresolusi tinggi. (I63abe)
  • Kami telah mengatasi pengecualian di luar rentang di SwipeDismissableNavHost yang dapat dipicu saat nilai alfa yang diinterpolasi kurang dari nol. (Ib75a1, b/335782510)

Versi 1.4.0-alpha07

17 April 2024

androidx.wear.compose:compose-*:1.4.0-alpha07 dirilis. Versi 1.4.0-alpha07 berisi commit ini.

Perubahan API

  • Kami telah menambahkan Modifier.rotary, pengubah baru yang menghubungkan peristiwa rotasi dengan penampung yang dapat di-scroll, sehingga pengguna dapat men-scroll melalui kenop jam atau bingkai yang berputar di perangkat Wear OS mereka. Selain itu, ScalingLazyColumn dan Pemilih kini mendukung input putar secara default, dengan overload baru yang menyertakan parameter rotaryBehavior untuk menentukan konfigurasi scroll atau snap. Jika parameter rotaryBehavior ditetapkan ke snap, sebaiknya berikan snap juga melalui parameter flingBehavior, untuk scroll sentuh. (I2ef6f)
  • Sumber NestedScroll Tarik dan Ayun diganti dengan UserInput dan SideEffect untuk mengakomodasi definisi yang diperluas dari sumber ini yang kini mencakup animasi (Efek Samping) dan Roda Mouse serta Keyboard (UserInput). (I40579)
  • Kami telah menambahkan SelectableChip dan SplitSelectableChip untuk memperjelas perbedaan antara kontrol tombol seperti Switch/Checkbox dan kontrol yang dapat dipilih seperti RadioButton. Tindakan ini akan menggantikan overload ToggleChip/SplitToggleChip yang ditambahkan sebelumnya dengan parameter selectionControl. (Ia0217)
  • Memperbarui pengubah visibilitas IndeterminateStrokeWidth di ProgressIndicatorDefaults menjadi publik. (I5b5a4)

Versi 1.4.0-alpha06

3 April 2024

androidx.wear.compose:compose-*:1.4.0-alpha06 dirilis. Versi 1.4.0-alpha06 berisi commit ini.

Perbaikan Bug

  • Kami telah menambahkan draf internal dukungan rotary, sebagai bagian dari upaya yang lebih besar untuk memigrasikan perilaku Rotary ke AndroidX dari Horologist. (I617d1)
  • Kami telah menambahkan draf internal dukungan haptik, sebagai bagian dari upaya yang lebih besar untuk memigrasikan perilaku Rotary ke AndroidX dari Horologist. (I5568a)

Versi 1.4.0-alpha05

20 Maret 2024

androidx.wear.compose:compose-*:1.4.0-alpha05 dirilis. Versi 1.4.0-alpha05 berisi commit ini.

Perubahan API

  • Kami telah membuat properti initialCenterItemIndex dan initialCenterItemScrollOffset dari ScalingLazyListState menjadi publik. (I0c616)
  • Kami telah membuat FullScreenStrokeWidth dari ProgressIndicatorDefaults menjadi publik. (Ibea23)

Perbaikan Bug

  • Kami telah meningkatkan performa PositionIndicator dengan mengurangi jumlah panggilan ke layoutInfo dari ScalingLazyColumn. (Idc83d)

Versi 1.4.0-alpha04

6 Maret 2024

androidx.wear.compose:compose-*:1.4.0-alpha04 dirilis. Versi 1.4.0-alpha04 berisi commit ini.

Perubahan API

  • Kami telah menambahkan overload baru untuk ToggleChip dan SplitToggleChip yang menggunakan parameter selectionControl, bukan parameter toggleControl. Ini harus digunakan dengan kontrol RadioButton untuk memberikan semantik yang dapat dipilih, bukan semantik yang dapat diaktifkan/dinonaktifkan untuk aksesibilitas (I1d6d9)
  • Kami telah memperbarui nama parameter untuk overload selectionControl baru dari onSelected menjadi onSelect untuk ToggleChip dan SplitToggleChip (I1a971)

Versi 1.4.0-alpha03

21 Februari 2024

androidx.wear.compose:compose-*:1.4.0-alpha03 dirilis. Versi 1.4.0-alpha03 berisi commit ini.

Perubahan API

  • Wrapper Modifier.inspectable tidak digunakan lagi. API ini akan membuat lebih banyak pembatalan validasi pengubah Anda daripada yang diperlukan, sehingga penggunaannya sekarang tidak dianjurkan. Developer dianjurkan untuk menerapkan metode inspectableProperties() di ModifierNodeElement jika ingin mengekspos properti pengubah ke alat. (Ib3236)

Perbaikan Bug

  • Kami telah memperbaiki bug dokumentasi untuk anotasi WearPreview*. (Id526d)

Versi 1.4.0-alpha02

7 Februari 2024

androidx.wear.compose:compose-*:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbaiki bug pada fitur geser untuk menampilkan, yang memungkinkan interaksi dengan (dan pembatalan) tindakan yang dilakukan pada satu item dengan mulai menggeser item lain.(Ide059)
  • Kami telah memperbarui ListHeader untuk mendukung penyesuaian tinggi saat konten memerlukan tinggi tambahan untuk mengakomodasi ukuran font besar. (I7290c, b/251166127)

Versi 1.4.0-alpha01

24 Januari 2024

androidx.wear.compose:compose-*:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan animasi entri ke SwipeDismissableNavHost untuk transisi dalam aplikasi.(cfeb79a)
  • PositionIndicator kini ditampilkan secara default saat layar pertama kali ditampilkan. Perubahan ini diperkenalkan untuk membantu memenuhi pedoman Kualitas Wear. Sayangnya, hal ini berarti bahwa pengujian screenshot harus diperbarui di layar yang menyertakan PositionIndicator, karena PositionIndicator sebelumnya tidak akan ditampilkan. (419cef7)

Perubahan API

  • Kami telah menambahkan ripple API baru di library wear:compose-material dan wear:compose-material3 yang menggantikan rememberRipple yang tidak digunakan lagi. Juga menambahkan CompositionLocal, LocalUseFallbackRippleImplementation sementara, untuk mengembalikan komponen Material agar menggunakan API rememberRipple/RippleTheme yang tidak digunakan lagi. Ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara untuk kasus saat Anda menyediakan RippleTheme kustom. Lihat developer.android.com untuk mengetahui informasi migrasi dan informasi latar belakang selengkapnya tentang perubahan ini. (af92b21)
  • Kami telah memperbarui ColorScheme agar tidak dapat diubah, sehingga membuat pembaruan warna satu per satu menjadi kurang efisien, tetapi membuat penggunaan warna yang lebih umum menjadi lebih efisien. Alasan di balik perubahan ini adalah sebagian besar aplikasi tidak akan memperbarui setiap warna sebagai kasus penggunaan utama. Hal ini masih dapat dilakukan, tetapi akan merekomposisi lebih banyak dari sebelumnya, sehingga kami secara signifikan mengurangi jumlah langganan status melalui semua kode material dan akan memengaruhi biaya inisialisasi dan runtime dari kasus penggunaan yang lebih standar. (f5c48b7)
  • Komponen material Wear dan material3 Wear yang mengekspos MutableInteractionSource di API-nya telah diupdate sehingga kini mengekspos MutableInteractionSource nullable yang secara default ditetapkan ke null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan MutableInteractionSource akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance secara lambat saat diperlukan, yang meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya teruskan null. Sebaiknya Anda juga membuat perubahan serupa di komponen Anda sendiri. (f8fa920)
  • Kami telah memperbarui rememberExpandableState untuk menyimpan status yang dapat diluaskan. Hal ini memastikan data disimpan saat membuka layar lain dan dipulihkan saat kembali ke layar asli. (5c80095)

Perbaikan Bug

  • Kami telah memperbarui setelan ReduceMotion untuk menggunakan pemroses yang mendukung siklus proses. (7c6b122)
  • Kami telah memperbarui Pendengar TouchExplorationStateProvider agar mengetahui siklus proses (be28b01)
  • Kami telah menghapus lapisan materialcore untuk CompactButton guna meningkatkan performa (25db8e9)
  • Kami telah membuat BasicSwipeToDismissBox lebih andal terhadap offset NaN untuk menghindari pengecualian (b983739)
  • Kami telah memperbarui BasicSwipeToDismissBox untuk memastikan nilai alfa berada dalam rentang 0,1
  • Kami telah memperbaiki bug di ToggleButton, SplitToggleButton, Checkbox, Switch, dan RadioButton sehingga pengumuman aksesibilitas tidak diulang (sebelumnya, peran semantik diduplikasi) (d11eeb7)

Versi 1.3

Versi 1.3.1

3 April 2024

androidx.wear.compose:compose-*:1.3.1 dirilis. Versi 1.3.1 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbaiki bug pada fitur geser untuk menampilkan, yang memungkinkan interaksi dengan (dan pembatalan) tindakan yang dilakukan pada satu item dengan mulai menggeser item lain. (Ide059)

Versi 1.3.0

24 Januari 2024

androidx.wear.compose:compose-*:1.3.0 dirilis. Versi 1.3.0 berisi commit berikut ini.

Perubahan penting sejak versi 1.2.0

  • Class SwipeToDismissBoxState, enumerasi SwipeToDismissValue, dan fungsi ekstensi Modifier.edgeSwipeToDismiss kini menjadi bagian dari paket androidx.wear.compose.foundation, bukan paket androidx.wear.compose.material. Arsitektur yang diperbarui ini memungkinkan Anda menerapkan penanganan gestur secara terpisah dari pertimbangan desain lainnya. Alur kerja Desain Material, seperti menerapkan warna dari tema yang dikonfigurasi, ditangani secara terpisah.
  • Class SwipeToRevealCard dan SwipeToRevealChip membantu Anda menerapkan recommended swipe-to-reveal guidance. Class SwipeToRevealSample menunjukkan cara menggunakan komponen ini.
  • Rilis 1.3.0-alpha02 kami memperkenalkan perubahan yang menyebabkan objek Chip dan ToggleChip bertambah tinggi untuk mendukung penskalaan font yang dipilih pengguna dengan lebih baik. Hal ini dapat menyebabkan beberapa pemotongan. Untuk memperbaiki masalah ini, bentuk large untuk MaterialTheme kini menggunakan radius sudut yang lebih besar (26 dp, bukan 24 dp). Objek Chip dan ToggleChip menggunakan radius sudut baru ini untuk menghindari pemotongan konten di sudut Chip dan ToggleChip.

    • Sebagian besar Chips dan ToggleChips tidak berubah, mengingat tinggi default-nya adalah 52 dp. Namun, objek Chip dan ToggleChip yang berisi beberapa baris teks label utama atau sekunder, atau yang tingginya telah diganti, dapat menyebabkan pengujian screenshot rusak.

Perubahan lainnya

Untuk kumpulan perubahan yang lebih lengkap yang diperkenalkan di versi 1.3.0, lihat catatan rilis beta01.

Rekomendasi untuk penerapan

  • Jika aplikasi Anda memungkinkan pengguna menggeser konten layar, seperti di aplikasi berbasis peta, nonaktifkan penanganan geser dengan menetapkan userSwipeEnabled ke false di composable SwipeDismissableNavHost, dan sertakan tombol yang memungkinkan pengguna membuka layar sebelumnya.
  • Untuk menonaktifkan animasi indikator posisi selama animasi memudar dan perubahan posisi dalam daftar scroll, gunakan objek SnapSpec.
  • Saat menunggu aplikasi media memuat konten untuk diputar, tampilkan composable Placeholder kosong.
  • Untuk membuat koleksi item yang dapat diluaskan sesuai permintaan, sebaiknya gunakan class ExpandableStateMapping eksperimental.

Versi 1.3.0-rc01

10 Januari 2024

androidx.wear.compose:compose-*:1.3.0-rc01 dirilis. Version 1.3.0-rc01 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbarui bentuk besar MaterialTheme untuk menggunakan radius sudut membulat 26dp dan sekarang akan digunakan oleh Chip dan ToggleChip. Perubahan ini diperlukan untuk mendukung penyesuaian tinggi saat konten memerlukan tinggi ekstra untuk mengakomodasi ukuran font besar. Jika tidak, bentuk stadion yang ada akan memotong beberapa konten teks.

    Teks terpotong di sudut
    Gambar 1: Teks terpotong di sudut.
    Teks tidak terpotong
    Gambar 2: Teks tidak terpotong.

    Perubahan ini dapat menyebabkan kerusakan pada pengujian screenshot. (I2e6ae)

Versi 1.3.0-beta02

13 Desember 2023

androidx.wear.compose:compose-*:1.3.0-beta02 dirilis. Versi 1.3.0-beta02 berisi commit ini.

Perbaikan Bug

  • Kami telah memulihkan gerakan geser yang diinginkan di BasicSwipeToDismissBox. Hal ini telah diubah dalam rilis sebelumnya, sehingga bagian geser dari transisi terjadi saat jari menyentuh layar. (Id8e76)

Versi 1.3.0-beta01

15 November 2023

androidx.wear.compose:compose-*:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.

Rilis 1.3-beta01 Compose untuk Wear OS menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci (kecuali jika ditandai sebagai eksperimental). Wear Compose 1.3 menyertakan fungsi baru berikut:

  • SwipeToDismissBoxState, SwipeToDismissValue, dan Modifier.edgeSwipeToDismiss telah dimigrasikan dari androidx.wear.compose.material ke androidx.wear.compose.foundation, beserta implementasi geser untuk menutup yang mendasarinya di BasicSwipeToDismissBox. Hal ini memungkinkan penanganan gestur untuk geser-untuk-menutup digunakan secara terpisah dari Desain Material, misalnya dari SwipeDismissableNavHost di androidx.wear.compose.navigation. SwipeToDismissBox dari androidx.wear.compose.material masih direkomendasikan untuk digunakan dengan Desain Material, karena mengambil warna dari MaterialTheme, lalu mendelegasikan implementasi yang tersisa ke BasicSwipeToDismissBox.
  • SwipeDismissableNavHost kini mendukung parameter userSwipeEnabled baru sehingga penanganan geser dapat dinonaktifkan untuk layar yang tidak memerlukannya.
  • BasicSwipeToDismissBox telah meningkatkan penanganan fokus menggunakan HierarchicalFocusCoordinator.
  • SwipeToReveal memiliki composable SwipeToRevealCard dan SwipeToRevealChip baru di Material yang mengikuti panduan UX yang direkomendasikan untuk Card dan Chip. Aplikasi ini juga memiliki dukungan urungkan untuk tindakan sekunder.
  • DefaultTextStyle kini menonaktifkan padding font agar konsisten di seluruh Platform Android.
  • Chip dan ToggleChip kini menyesuaikan tingginya untuk mengakomodasi konten yang telah bertambah karena font besar untuk aksesibilitas
  • PositionIndicator kini memiliki spesifikasi animasi individual untuk animasi fade-in, fade-out, dan perubahan posisi. Untuk alasan performa, sebaiknya nonaktifkan efek memudar dan perubahan posisi saat digunakan dengan daftar yang dapat di-scroll.
  • ExpandableStateMapping menyediakan cara baru untuk membuat ExpandableStates saat perlu dibuat sesuai permintaan dan tidak harus dengan cakupan @Composable.
  • Placeholder kini memungkinkan reset jika konten tidak lagi dalam status siap. Selain itu, setelan kurangi gerakan kini berlaku untuk efek berkilau dan gerakan penghapusan di Placeholder.

Masalah Umum

  • PositionIndicator awalnya tidak ditampilkan saat layar pertama kali ditampilkan. Kami bermaksud membuat perubahan pada alfa 1.4 awal sehingga akan ditampilkan pada awalnya, tetapi tanpa animasi apa pun.

Perubahan API

  • Kami telah mengganti nama level Dasar SwipeToDismissBox menjadi BasicSwipeToDismissBox. Hal ini membuat perbedaan lebih jelas antara komponen tingkat Foundation dan SwipeToDismissBox tingkat Material. Yang terakhir mengambil warna dari MaterialTheme untuk digunakan dalam scrim dan mendelegasikan implementasi yang tersisa ke BasicSwipeToDismissBox. (Ibecfc)
  • Kami telah menandai rememberExpandableStateMapping sebagai eksperimental dan meningkatkan performa expandableItem. (I5f6bc)
  • Kami telah mengganti class SwipeToRevealAction di Card dan Chip API SwipeToReveal Material dengan API berbasis slot menggunakan composable SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction, dan SwipeToRevealUndoAction. Lihat kode contoh untuk mengetahui contoh cara menggunakan API baru. (Ia8943)
  • Kami telah mengganti flag animasi PositionIndicator dengan parameter AnimationSpec. Setiap animasi dapat dinonaktifkan dengan meneruskan snap sebagai AnimationSpec. (I6c523)

Perbaikan Bug

  • Kami telah memperbaiki bug yang dipicu oleh teks melengkung terbatas saat ukuran dibatasi (I50efe)
  • Kami telah mengatasi potensi error NaN yang terkait dengan curvedComposable (I970eb)
  • Kami telah mengembalikan penghapusan animasi sorotan perubahan posisi di PositionIndicator. (Ieb424)
  • Kami telah menghapus lapisan material-core untuk Chip material guna meningkatkan performanya. (If2dcb)

Versi 1.3.0-alpha08

18 Oktober 2023

androidx.wear.compose:compose-*:1.3.0-alpha08 dirilis. Versi 1.3.0-alpha08 berisi commit ini.

Perubahan API

  • Kami telah menambahkan flag individual ke overload PositionIndicator, untuk mengontrol animasi yang berbeda: showFadeInAnimation, showFadeOutAnimation, dan showPositionAnimation. API sebelumnya tidak digunakan lagi dan meneruskan panggilan ke API baru. Untuk alasan performa dan konsistensi UX, saat PositionIndicator digunakan dengan daftar yang dapat di-scroll, sebaiknya nonaktifkan tanda showFadeInAnimation dan showPositionAnimation. Jika PositionIndicator digunakan sebagai indikator mandiri, misalnya untuk perubahan volume, sebaiknya aktifkan ketiga animasi. (I44294)
  • Kami telah menghentikan penggunaan SwipeToDismissBoxState, SwipeToDismissValue, dan edgeSwipeToDismiss Material setelah migrasi fungsi Geser untuk Menutup ke wear.compose.foundation. Ganti dengan wear.compose.foundation yang setara. (Iee8c9)

Perbaikan Bug

  • Kami telah memperbarui profil dasar pengukuran untuk library dasar, material, dan navigasi wear compose. (Idb060)
  • Kami telah mengembalikan perubahan perilaku untuk PositionIndicator yang diperkenalkan di CL sebelumnya, sehingga PositionIndicator dianimasikan saat layar pertama kali ditampilkan. Kami bermaksud membuat perubahan serupa di alfa awal 1.4, sehingga PositionIndicator awalnya ditampilkan, tetapi tanpa animasi apa pun. (I41843)
  • Kami telah mengatasi beberapa masalah performa di PositionIndicator. (I1c654, b/302399827)
  • Kami telah mengoptimalkan performa penerapan default penyedia status eksplorasi sentuh agar mengandalkan State<Boolean>, bukan status turunan. (Ieec4d)
  • Kami telah menetapkan persegi panjang systemGestureExclusion untuk Android 13 dan yang lebih baru. (Ib1f4b)

Versi 1.3.0-alpha07

4 Oktober 2023

androidx.wear.compose:compose-*:1.3.0-alpha07 dirilis. Versi 1.3.0-alpha07 berisi commit ini.

Perubahan API

  • Kami telah menambahkan flag individual ke PositionIndicator untuk mengontrol animasi yang berbeda: showFadeInAnimation, showFadeOutAnimation, dan showPositionAnimation. API sebelumnya tidak digunakan lagi dan meneruskan panggilan ke API baru. Untuk alasan performa dan konsistensi UX, saat PositionIndicator digunakan dengan daftar yang dapat di-scroll, sebaiknya nonaktifkan tanda showFadeInAnimation dan showPositionAnimation. Jika PositionIndicator digunakan sebagai indikator mandiri, misalnya untuk perubahan volume, sebaiknya aktifkan ketiga animasi. (Ia2d63)

Perbaikan Bug

  • Kami telah melakukan peningkatan pada gerakan geser untuk menampilkan dengan menambahkan animasi memudar ke teks tindakan utama, dan memudarkan tindakan sekunder/mengubah skala ikon pada perluasan geser penuh. (Ib7223)
  • Sebaiknya tindakan Geser untuk Menampilkan dapat diakses dan kami telah menambahkan tindakan aksesibilitas kustom ke contoh Geser untuk Menampilkan. (I42224)
  • Kami telah meningkatkan performa SwipeToDismissBox, termasuk pemfaktoran ulang untuk memastikan bahwa logika awal tidak memicu rekomposisi. SwipeToDismissBox kini digambar sebagai ukuran layar penuh. (Ie0aa2)
  • Kami telah memperbaiki bug saat PositionIndicator menghilang secara tidak benar. (I2091a)
  • Meningkatkan performa PositionIndicator dengan mengoptimalkan rekomposisi. Flag baru untuk mengontrol animasi (fadeIn, fadeOut, dan positionChange) telah ditambahkan secara berurutan (lihat Perubahan API) (Ifac7d)
  • Kami telah menambahkan pengujian Microbenchmark untuk PositionIndicator (Idf875)

Versi 1.3.0-alpha06

20 September 2023

androidx.wear.compose:compose-*:1.3.0-alpha06 dirilis. Versi 1.3.0-alpha06 berisi commit ini.

Perbaikan Bug

  • Kami telah menambahkan dukungan untuk Modifier.edgeSwipeToDismiss dengan SwipeToReveal. (I95774, b/293444286)
  • Kami telah menambahkan contoh untuk Material SwipeToRevealChip dan SwipeToRevealCard. (Ieb974)
  • Kami telah memperbarui profil dasar pengukuran untuk library Wear Compose Foundation dan Material. (I1dd1f)

Versi 1.3.0-alpha05

6 September 2023

androidx.wear.compose:compose-*:1.3.0-alpha05 dirilis. Versi 1.3.0-alpha05 berisi commit ini.

Perbaikan Bug

  • Kami telah menambahkan penanganan di Geser untuk Menampilkan sehingga hanya satu item yang dapat digeser pada satu waktu. (I3cd7a)
  • Meningkatkan dokumentasi ScalingLazyColumnDefaults agar lebih sesuai dengan perilaku sebenarnya. (I886d3)

Versi 1.3.0-alpha04

23 Agustus 2023

androidx.wear.compose:compose-*:1.3.0-alpha04 dirilis. Versi 1.3.0-alpha04 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan dukungan urungkan untuk tindakan sekunder SwipeToReveal. (I7a22d)

Perubahan API

  • Tambahkan HorizontalPageIndicator di library Wear Material3. (Ifee99)
  • Memperbarui alat pratinjau Wear Compose untuk menggunakan library androidx.wear.tooling.preview. (Ib036e)

Perbaikan Bug

  • Memperbaiki bug pada tombol bulat saat pengubah tidak dirantai dengan benar. (I5e162)

Versi 1.3.0-alpha03

9 Agustus 2023

androidx.wear.compose:compose-*:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.

Perubahan API

  • Kami telah menambahkan dua composable baru di Material untuk menerapkan SwipeToReveal dengan Kartu dan Chip. Composable ini mengikuti panduan UX yang direkomendasikan pada komponen dan mempermudah developer menerapkan SwipeToReveal dengan komponen yang ada di Wear Material. (I7ec65)
  • Kami telah mengaktifkan anotasi FloatRange sebagai batasan API, yang sebelumnya dinyatakan dalam komentar. (Icb401)

Perbaikan Bug

  • Kami telah memindahkan logika scroll awal ScalingLazyColumn ke dalam onGloballyPositioned(). (Ic90f1)
  • Sekarang kita menggunakan drawWithCache di PositionIndicator, ProgressIndicator, dan SelectionControls untuk mengoptimalkan alokasi goresan. (I5f225, b/288234617)
  • Kami telah memperbaiki visibilitas centang kotak dalam status nonaktif. (Ib25bf)
  • Kami telah memperbarui Placeholder untuk memungkinkan reset guna menampilkan placeholder jika konten tidak lagi dalam status siap. (Ibd820)
  • Kami telah melakukan beberapa perbaikan pada pengujian Placeholder yang tidak stabil (Idb560)

Versi 1.3.0-alpha02

26 Juli 2023

androidx.wear.compose:compose-*:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.

Perubahan API

  • Kami telah menyediakan ExpandableStateMapping, cara baru untuk membuat ExpandableStates, untuk kasus saat ExpandableStates perlu dibuat sesuai permintaan, tidak harus dalam cakupan @Composable (Iff9e0)
  • SwipeToDismissBox telah dimigrasikan dari paket androidx.wear.compose.material ke androidx.wear.compose.foundation. (I275fb)
  • Memperbarui file API untuk menganotasi penekanan kompatibilitas. (I8e87a, b/287516207)
  • Kami telah membuat konstanta tinggi untuk Chip, CompactChip, dan ToggleChip menjadi publik (Idbfde)
  • Kami telah membuat padding horizontal dan vertikal untuk Chip dan CompactChip menjadi publik. (Ieeaf7)
  • Menambahkan fungsi untuk menonaktifkan penanganan geser di SwipeDismissableNavHost melalui parameter userSwipeEnabled baru. (Id2a0b, b/230865655)
  • Kami telah memperbarui library Navigasi Wear Compose untuk menggunakan SwipeToDismissBox baru dari Wear Compose Foundation. (I4ff8e)

Perbaikan Bug

  • Kami telah memperbaiki bug urutan z saat expandedItem tidak menampilkan konten yang benar setelah mengklik perilaku tombol saat memiliki tombol. (I1899d, b/289991514)
  • Meningkatkan penanganan fokus SwipeToDismissBox (dan SwipeDismissableNavHost) menggunakan HierarchicalFocusCoordinator (I45362, b/277852486)
  • Kami telah melakukan perbaikan pada penanganan gestur di SwipeableV2 . (I89737)
  • Kami telah menyelesaikan profil dasar pengukuran untuk rilis 1.2. (Id5740)
  • Setelah migrasi SwipeToDismissBox ke Foundation, implementasi SwipeToDismissBox Material kini diteruskan ke Foundation dan menyediakan nilai warna default dari temanya.(If8451)
  • Kami telah menambahkan semantik judul ke ListHeader. (Ic5420)
  • Chip dan ToggleChip kini akan menyesuaikan tingginya untuk mengakomodasi konten yang telah bertambah karena font besar untuk aksesibilitas, jika diperlukan. (Iaf302)
  • Memperbaiki bug pada peran semantik area ketuk SplitToggleChip, untuk aksesibilitas. (Ieed3a)
  • Setelan kurangi gerakan kini menonaktifkan efek berkilau dan gerakan penghapusan pada placeholder. (I91046)
  • Stepper dan InlineSlider kini mendukung klik berulang pada penekanan lama sehingga Anda dapat dengan cepat menaikkan/menurunkan nilai Stepper dan InlineSlider dengan menahan tombol + atau -. (I27359)

Versi 1.3.0-alpha01

21 Juni 2023

androidx.wear.compose:compose-*:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit berikut.

Perbaikan Bug

  • Seperti yang diumumkan di 1.2.0-alpha07 dan 1.2.0-alpha10, sekarang kami mengubah DefaultTextStyle untuk menonaktifkan padding font agar konsisten di seluruh Platform Android. Hal ini akan mengatasi beberapa kasus pemotongan teks dengan ukuran font besar dan juga dapat memengaruhi tata letak layar, sehingga pengujian screenshot perlu diperbarui. Misalnya, kita melihat pemotongan teks di sini (Ic6a86)
Teks terpotong dengan ukuran font besar
Gambar 1: Teks terpotong.
  • Tidak ada lagi jika padding font dinonaktifkan:
Teks tidak terpotong dengan ukuran font besar
Gambar 2: Teks tidak terpotong.
  • Kami telah mengupdate wear.compose.foundation menjadi dependensi API wear.compose.material (I72004, b/285404743)
  • Kami telah memperbaiki bug di SwipeToDismissBox. Kunci latar belakang dan konten kini diteruskan ke blok remember sehingga pengubah baru dibuat saat konten atau latar belakang berubah. (Ib876c, b/280392104)
  • Kami telah memperbarui TimeText untuk menggunakan lokalitas saat memilih format untuk waktu 12 atau 24 jam. (If4a3d)
  • Kami telah memperbaiki inkonsistensi dalam parameter default SwipeToDismissBox contentScrimColor. (I2d70f)
  • Kami telah meningkatkan penanganan gerakan di SwipeToReveal. (I28fb7)

Masalah Umum

  • Mendukung ukuran font yang dikonfigurasi pengguna adalah persyaratan aksesibilitas. Kami tahu bahwa Chip multibaris dapat menyebabkan pemangkasan teks saat ditampilkan dengan ukuran font besar, jadi kami akan mengupdate Chip dalam versi alfa 1.3 awal untuk melakukan penyesuaian tinggi dalam kasus tersebut.

Versi 1.2

Versi 1.2.1

18 Oktober 2023

androidx.wear.compose:compose-*:1.2.1 dirilis. Versi 1.2.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki bug saat PositionIndicator menghilang secara tidak benar. (7a167f)

Versi 1.2.0

9 Agustus 2023

androidx.wear.compose:compose-*:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.

Perubahan penting sejak 1.1.0

Versi 1.2.0-rc01

26 Juli 2023

androidx.wear.compose:compose-*:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.

Perbaikan Bug

  • Kami telah menyelesaikan profil dasar pengukuran untuk rilis 1.2 (Id5740)

Versi 1.2.0-beta02

7 Juni 2023

androidx.wear.compose:compose-*:1.2.0-beta02 dirilis. Versi 1.2.0-beta02 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan variabel LocalReduceMotion CompositionLocal eksperimental baru yang menonaktifkan penskalaan dan memudar pada ScalingLazyColumn. (I58024)

Perbaikan Bug

  • Kami telah memperbarui profil dasar pengukuran untuk library material dan fondasi wear compose(I4725d)
  • Kami telah memperbaiki inkonsistensi pada nilai default untuk parameter SwipeToDismissBox contentScrimColor (I2d70f)
  • Kami telah memperbaiki nilai default DefaultTextStyle yang digunakan untuk setelan IncludeFontPadding (I737ed)

Versi 1.2.0-beta01

24 Mei 2023

androidx.wear.compose:compose-*:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.

Yang ada di Compose untuk Wear OS 1.2

Rilis 1.2-beta01 Compose untuk Wear OS menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci (kecuali jika ditandai sebagai eksperimental). Wear Compose 1.2 menyertakan fungsi baru berikut:

  • expandableItem dan expandableItems adalah dua komponen Foundation baru yang mendukung perluasan item dalam ScalingLazyColumn. Gunakan expandableItem untuk satu item yang dapat diluaskan, seperti Teks yang berisi jumlah baris. Gunakan expandableItems untuk grup item yang dapat diluaskan dan expandableButton untuk menyederhanakan pembuatan tombol yang diciutkan setelah konten diluaskan.
  • HierarchicalFocusCoordinator - composable eksperimental ini memungkinkan penandaan sub-hierarki komposisi saat fokus diaktifkan atau fokus dinonaktifkan.
  • Picker - API kini menyertakan userScrollEnabled untuk mengontrol apakah pemilih aktif untuk di-scroll oleh pengguna.
  • PickerGroup - composable baru untuk menangani beberapa pemilih secara bersamaan. Atribut ini menangani fokus antar-pemilih menggunakan HierarchicalFocusCoordinator API dan memungkinkan pemusatan otomatis item pemilih.
  • Placeholder - kami telah melakukan pembaruan pada animasi shimmer dan 'Hapus Total'. Efek penghapusan total kini langsung diterapkan saat konten siap.
  • ScalingLazyColumn - kami telah memigrasikan ScalingLazyColumn dan class terkait dari androidx.wear.compose.material.ScalingLazyColumn ke androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Update untuk menggunakan versi Foundation.Lazy.
  • SwipeToReveal - kami telah menambahkan dukungan eksperimental untuk geser untuk menampilkan sebagai cara untuk mengakses tindakan sekunder, yang melengkapi pola 'tekan lama' yang ada.
  • Stepper - kini memiliki overload dengan parameter enableRangeSemantics tambahan untuk memfasilitasi penonaktifan semantik rentang default.
  • Previews - kami telah menambahkan anotasi kustom berikut untuk melihat pratinjau composable di layar Wear: WearPreviewSmallRound melihat pratinjau composable di perangkat bulat kecil; WearPreviewLargeRound melihat pratinjau composable di perangkat bulat besar; WearPreviewSquare melihat pratinjau composable di perangkat persegi. Selain itu, anotasi berikut dan multi-pratinjau: WearPreviewFontScales melihat pratinjau composable di perangkat Wear dengan beberapa ukuran font, sedangkan WearPreviewDevices melihat pratinjau composable di perangkat Wear yang berbeda.
  • Kami telah menambahkan DefaultTextStyle ke Wear Compose yang menetapkan properti PlatformTextStyle.includeFontPadding ke benar (true) secara default (ini adalah setelan saat ini). Hal ini akan memungkinkan kita menyinkronkan penonaktifan padding font secara default dengan library Compose dalam versi alfa 1.3 awal - lihat 1.2.0-alpha10 untuk mengetahui informasi selengkapnya.

Fitur Baru

  • Kami telah menambahkan dukungan eksperimental untuk penskalaan yang dinonaktifkan dan animasi memudar saat setelan reduce_motion diaktifkan. (I58024)

Perbaikan Bug

  • Meningkatkan dokumentasi untuk angularWidthDp di CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost kini mencatat peringatan dalam log dengan potensi penyebab data sebelumnya kosong. Hal ini dilakukan untuk mencegah error tak terduga yang disebabkan oleh IllegalArgumentException yang ditampilkan saat data sebelumnya kosong. (I04a81, b/277700155)

Versi 1.2.0-alpha10

10 Mei 2023

androidx.wear.compose:compose-*:1.2.0-alpha10 dirilis. Versi 1.2.0-alpha10 berisi commit berikut.

Fitur Baru

  • Kami telah menambahkan dukungan untuk Geser untuk Menampilkan, sebagai cara untuk mengakses tindakan sekunder. Pola ini melengkapi pola 'tekan lama', cara yang ada bagi pengguna untuk menampilkan tindakan sekunder (yang berbeda). (I60862)

Perubahan API

  • Kami telah menambahkan RevealScope ke composable tindakan di SwipeToReveal, yang memberikan akses ke offset tempat tindakan tambahan ditampilkan. (I3fd56)

Perbaikan Bug

  • Memperbaiki masalah ScalingLazyColumn yang macet di Wear API 33 setelah ayun (Ic4599)
  • Kami telah melakukan beberapa peningkatan performa pada PositionIndicator untuk pengurangan jank. (I35e92)
  • Kami telah memperbaiki bug di Chip dan CompactChip yang menyebabkan peran semantik tidak lagi ditetapkan ke Role.Button. (I93f91, b/277326264)

Masalah Umum

  • Kami telah mengidentifikasi bug di Android Studio yang menyebabkan kegagalan dalam merender pratinjau saat dianotasi dengan @WearPreviewDevices dan @WearPreviewFontScales - perbaikan direncanakan untuk segera dirilis. Perhatikan bahwa anotasi pratinjau Wear lainnya berfungsi sebagaimana mestinya di Android Studio Giraffe 2022.3.1 dan yang lebih baru.

  • Pada versi 1.2.0-alpha07, kami menambahkan DefaultTextStyle ke Wear Compose, mempertahankan nilai PlatformTextStyle.includeFontPadding yang ada sebagai benar (true) - untuk latar belakang, lihat Memperbaiki padding font di Compose. Kami akan mengubah DefaultTextStyle untuk menonaktifkan padding font di versi awal 1.3 alpha, agar konsisten di seluruh Platform Android. Hal ini akan mengatasi beberapa kasus pemotongan teks dengan ukuran font besar dan juga dapat memengaruhi tata letak layar, sehingga pengujian screenshot perlu diperbarui. Misalnya, dengan ukuran font besar, kita melihat teks terpotong di sini:

Teks terpotong dengan ukuran font besar
Gambar 1: Teks terpotong.
  • Tidak ada lagi jika padding font dinonaktifkan:
Teks tidak terpotong dengan ukuran font besar
Gambar 2: Teks tidak terpotong.

Setelan baru dapat diterapkan sekarang dengan mengganti tipografi di tema Anda - lihat contoh kode.

Versi 1.2.0-alpha09

19 April 2023

androidx.wear.compose:compose-*:1.2.0-alpha09 dirilis. Versi 1.2.0-alpha09 berisi commit berikut ini.

Perubahan API

  • Menambahkan angularSizeDp ke CurvedModifier API untuk menetapkan lebar sudut dalam DP (I89a52)

Perbaikan Bug

  • Kami telah memperbaiki masalah aksesibilitas dalam demo pemilih waktu kami(Id0eb7)

Versi 1.2.0-alpha08

5 April 2023

androidx.wear.compose:compose-*:1.2.0-alpha08 dirilis. Versi 1.2.0-alpha08 berisi commit ini.

Perubahan API

  • Kami telah mengganti nama ExpandableItemsState menjadi ExpandableState. (If85ea)
  • Kami telah menambahkan expandableButton untuk menyederhanakan pembuatan tombol yang diciutkan saat konten diluaskan dan juga memperbarui contoh yang dapat diluaskan. (Iae309)

Perbaikan Bug

  • Contoh yang dapat diperluas telah ditingkatkan untuk menampilkan lebih banyak kemungkinan. Mengubah animasi expandableItem agar kontennya tetap di tengah melalui animasi. (I2f637)
  • Memperbarui ToggleControls untuk menghindari rekomposisi tambahan saat menganimasikan warna secara manual menggunakan Status. (I5d319)

Versi 1.2.0-alpha07

22 Maret 2023

androidx.wear.compose:compose-*:1.2.0-alpha07 dirilis. Versi 1.2.0-alpha07 berisi commit ini.

Perubahan API

  • Kami telah memindahkan komponen Item yang Dapat Diperluas (ditambahkan di 1.2.0-alpha06) dari material ke foundation, karena tidak memiliki referensi yang bermakna ke MaterialTheme. (Ib0525)

Perbaikan Bug

  • Kami telah memperbaiki error yang terjadi di layar menggunakan PickerGroup, dengan memastikan bahwa PickerGroup menangani fokus dengan benar saat tidak ada Pemilih yang memiliki fokus. Juga menambahkan dukungan untuk scroll RSB dalam demo Pemilih kami. (If8c19)
  • Kami telah meningkatkan transisi dialog - transisi pengantar kini lebih lancar agar cocok dengan transisi outro. (Ib5af9)
  • Kami telah menambahkan DefaultTextStyle ke Wear Compose yang menetapkan properti PlatformTextStyle.includeFontPadding ke benar (true) secara default (ini adalah setelan saat ini). Hal ini akan memungkinkan kita menyinkronkan penonaktifan padding font secara default dengan library Compose di masa mendatang - lihat (Memperbaiki padding font di Compose) untuk latar belakang. (I2aee8)
  • Mengembalikan dependensi pratinjau UpsideDownCake melalui activity-compose yang memblokir aplikasi publikasi ke Google Play Store. (I6443d)

Versi 1.2.0-alpha06

8 Maret 2023

androidx.wear.compose:compose-*:1.2.0-alpha06 dirilis. Versi 1.2.0-alpha06 berisi commit ini.

Perubahan API

  • Menambahkan komponen CurvedBox, yang menempatkan komponen di atas satu sama lain di dunia melengkung. (I29200)
  • Menambahkan Item yang Dapat Diperluas - dua komponen baru untuk mendukung grup item yang dapat diperluas di ScalingLazyColumn, atau satu item yang dapat diperluas, seperti Teks yang jumlah barisnya diperluas. (I95dd5)
  • Kami telah menambahkan anotasi kustom berikut untuk melihat pratinjau composable di layar Wear: WearPreviewSmallRound melihat pratinjau composable di perangkat bulat kecil; WearPreviewLargeRound melihat pratinjau composable di perangkat bulat besar; WearPreviewSquare melihat pratinjau composable di perangkat persegi. Selain itu, anotasi berikut dan multi-pratinjau: WearPreviewFontScales melihat pratinjau composable di perangkat Wear dengan beberapa ukuran font, sedangkan WearPreviewDevices melihat pratinjau composable di perangkat Wear yang berbeda. Untuk menggunakan pratinjau ini, Anda harus menggunakan Android Studio terbaru (Giraffe Canary 6) atau yang lebih baru. Perhatikan bahwa jika anotasi ini tidak sesuai dengan tujuan Anda, Pratinjau masih dapat digunakan dan mendukung penyesuaian lebih lanjut melalui parameter. (I397ff)
  • Kami telah menandai HierarchicalFocusCoordinator sebagai eksperimental karena dianggap sebagai kandidat untuk dipindahkan ke library compose inti, mengingat penerapannya yang luas. (I3a768)

Perbaikan Bug

  • Memperbaiki bug pada HierarchicalFocusCoordinator, saat lambda yang diteruskan untuk parameter focusEnabled diubah, kini kita menggunakan parameter baru dengan benar. (Icb353)
  • Kami telah memperbarui warna konten nonaktif default menjadi Latar Belakang saat menggunakan warna primer sebagai latar belakang di Button, CompactButton, Chip, CompactChip, dan ToggleButton. Hal ini meningkatkan kontras untuk aksesibilitas. (I527cc)

Versi 1.2.0-alpha05

22 Februari 2023

androidx.wear.compose:compose-*:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit ini.

Perubahan API

  • Memperbarui PickerGroup API untuk mengizinkan penyebaran batasan min ke composable secara opsional. Jika ditetapkan sebagai benar (true), batasan minimum yang diteruskan dari composable induk akan diizinkan di PickerGroup. Jika disetel ke salah (false), PickerGroup akan mereset batasan minimum. (I3e046)
  • Kami telah menambahkan animateScrollToOption ke Picker API untuk mendukung animasi terprogram ke opsi Pemilih tertentu (I6fe67)

Perbaikan Bug

  • Kami telah memperbarui HorizontalPageIndicator untuk mendukung tata letak kanan ke kiri. (Ia4359)
  • Menambahkan pengujian Screenshot untuk tata letak kanan-ke-kiri di HorizontalPageIndicator (I6fbb8)
  • Menambahkan pengujian lebih lanjut ke SwipeDismissableNavHostTest yang menggunakan TestNavHostController (I61d54)

Versi 1.2.0-alpha04

8 Februari 2023

androidx.wear.compose:compose-*:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.

Fitur Baru

  • PickerGroup untuk menangani beberapa pemilih secara bersamaan menggunakan Focus API. Atribut ini menangani fokus antara pemilih yang berbeda, memungkinkan pemusatan otomatis pemilih berdasarkan parameter dan memungkinkan developer mengubah fokus antar-pemilih yang berbeda saat menangani peristiwa dari grup. Dalam mode TalkBack, PickerGroup akan menangani fokus TalkBack dengan memindahkan fokus ke Picker yang dipilih dari grup. (I60840)

Perubahan API

  • Kami telah menambahkan overload ke Stepper dengan parameter enableRangeSemantics tambahan untuk memfasilitasi penonaktifan semantik rentang default (Ia61d4)

Perbaikan Bug

  • Mengizinkan ScalingLazyColumn disusun secara bertingkat di dalam halaman yang di-scroll secara horizontal (Iec3f8, b/266555016)
  • Peningkatan kdocs Stepper dan pembersihan pengujian StepperTest. (Ic118e)
  • Mengupdate dependensi androidx.navigation ke versi 2.5.3 (If58ed)

Versi 1.2.0-alpha03

25 Januari 2023

androidx.wear.compose:compose-*:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.

Perubahan API

  • Kami telah memigrasikan ScalingLazyColumn (dan class terkait) dari androidx.wear.compose.material.ScalingLazyColumn ke andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (lihat contoh ini untuk migrasi). Lokasi baru ini lebih cocok dengan compose.foundation.lazy.LazyColumn dan lebih alami karena bukan merupakan komponen Material yang tidak dapat berubah. Perubahan ini sedang dilakukan sebagai persiapan library Material3 baru, yang akan kami kerjakan secara paralel dengan library Material yang ada. (I060e7)

Perubahan berikut adalah bagian dari migrasi ScalingLazyColumn dari Material ke Foundation.Lazy:

  • API PositionIndicator yang menargetkan Material ScalingLazyColumn tidak digunakan lagi - update ke Foundation.Lazy ScalingLazyColumn. Selain itu, kolom anchorType telah ditambahkan ke ScalingLazyListLayoutInfo. (I29d95)
  • ScalingLazyColumn telah ditandai sebagai tidak digunakan lagi dalam paket Wear Compose Material (I16d34)
  • Kami telah memperbarui pengubah ScrollAway untuk menggunakan ScalingLazyListState dari Wear Compose Foundation.Lazy dan tidak lagi menggunakan overload yang mengambil ScalingLazyListState dari Wear Compose Material. (Ifc42c)
  • Kami telah memperbarui Dialog API untuk menggunakan ScalingLazyListState dari Foundation.Lazy dan tidak lagi menggunakan overload yang menggunakan Material ScalingLazyListState (Ic8960)
  • Kami telah memperbarui Picker API untuk menggunakan ScalingParams dari Foundation.Lazy dan tidak lagi menggunakan overload yang menggunakan Material ScalingParams. (Idc3d8)

Perbaikan Bug

  • Kami telah memperbaiki bug yang menyebabkan rekomposisi yang tidak perlu di ScalingLazyListState.centerItemIndex dengan memastikan bahwa kode tersebut hanya mengirim update saat nilai benar-benar berubah (Ia9f38)
  • Kami telah meningkatkan performa SwipeToDismissBox (I3933b)
  • Menambahkan pengujian benchmark untuk ScalingLazyColumn di Wear Compose Foundation (Ie00f9)
  • Kami telah memperbarui beberapa metode class ScalingLazyColumn internal di Material untuk menggunakan padanannya dari Foundation.Lazy (I38aab)
  • Kami telah memperbaiki beberapa masalah dalam pengujian Pemilih dan menambahkan lebih banyak pengujian untuk memeriksa scroll dengan offset (I6ac34)
  • Kami memigrasikan Demo Integrasi ScalingLazyColumn untuk bergantung pada Foundation.Lazy, bukan Material ScalingLazyColumn (Ic6caa)
  • Kami telah menambahkan parameter fromDate/toDate opsional ke demo DatePicker kami (I961cd)

Versi 1.2.0-alpha02

11 Januari 2023

androidx.wear.compose:compose-*:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.

Perubahan API

  • Pengujian UI Android Compose kini akan menjalankan penerusan tata letak untuk setiap frame saat menjalankan frame agar masuk ke mode tidak ada aktivitas (misalnya melalui waitForIdle). Hal ini dapat memengaruhi pengujian yang menyatakan nilai di tiap frame animasi tata letak. (I8ea08, b/222093277)
  • Parameter minLines ditambahkan ke Wear Text untuk perilaku yang konsisten dengan BasicText (I24874)
  • CompactChipTapTargetPadding telah disetel ke publik agar dapat muncul di dokumentasi (If1e70, b/234119038)

Perbaikan Bug

  • Menonaktifkan build multiplatform untuk paket wear.compose (Iad3d7)
  • Memperbaiki kdocs untuk scrollToOption (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() diperbarui untuk menggunakan rememberUpdatedState sehingga status akan diperbarui jika lambda onContentReady. (I02635, b/260343754)
  • Kami telah memperbaiki masalah jitter teks yang terlihat di komponen Picker dengan memanfaatkan strategi komposisi baru yang ditambahkan ke Modifier.graphicsLayer. (I99302)
  • Kami telah memperbaiki bug yang menyebabkan tampilan berkedip dalam demo DatePicker kami (I660bd)
  • Kami telah meningkatkan aksesibilitas untuk demo pemilih tanggal dan waktu 12 jam (I05e12)
  • Kami telah memperbarui demo pemilih waktu dan tanggal sehingga pemilih tidak terpengaruh oleh perubahan RSB saat tidak dipilih (I4aecb)

Versi 1.2.0-alpha01

7 Desember 2022

androidx.wear.compose:compose-*:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.

Fitur Baru

  • Kami telah mengubah fungsi Placeholder eksperimental sehingga efek “Hapus Total” langsung diterapkan saat konten siap, bukan menunggu loop animasi berikutnya dimulai. Kami juga telah melakukan beberapa pembaruan pada shimmer dan menghapus total animasi. (I5a7f4)

Perubahan API

  • Kami telah menambahkan composable HierarchicalFocusCoordinator untuk mengaktifkan penandaan sub-hierarki komposisi saat fokus diaktifkan atau fokus dinonaktifkan.(I827cb)
  • Kami telah menambahkan properti baru untuk mengganti peran semantik untuk ToggleButton.(I67132)
  • Kami telah memperbarui TimeTextDefaults.TimeFormat12Hours untuk menghapus AM/PM pada TimeText. Tindakan ini akan mengubah nilai default parameter timeSource di TimeText API. (I1eb7f)
  • Kami telah memperluas Picker API untuk meningkatkan aksesibilitas layar dengan multi-alat pilih. Ada userScrollEnabled properti baru untuk mengontrol apakah pemilih aktif untuk di-scroll oleh pengguna. (I3c3aa)

Perbaikan Bug

  • Kami telah mengubah lebar pembatas default untuk OutlinedButton/OutlinedCompactButton dari 2.dp menjadi 1.dp agar sesuai dengan spesifikasi UX akhir. (Icf84d)
  • Untuk mengurangi efek item pertama yang ditambahkan ke ScalingLazyColumn kosong yang muncul untuk men-scroll ke tempatnya, kami telah menambahkan estimasi autoCentering topPadding saat konten kosong. Perubahan ini menghitung jumlah padding atas yang diperlukan dengan mengasumsikan item awal dengan tinggi 0.dp. Untuk ScalingLazyListAnchorType.ItemStart, perubahan akan menghitung padding atas yang benar. Untuk ScalingLazyListAnchorType.ItemCenter, penghitungan ini akan salah karena tinggi item diperlukan agar dapat mengukur konten dengan benar sehingga menghasilkan efek scroll kecil berdasarkan tinggi sebenarnya item.(I239a4)
  • Kami telah memperbarui scrim latar belakang yang diterapkan pada animasi SwipeToDismiss agar sesuai dengan platform Wear. (I9003e)
  • Kami telah memperbaiki penanganan PositionIndicator dari LazyListState dan ScalingLazyListState untuk item daftar berukuran 0 guna menghindari error pembagian dengan nol.(Ic28dd)

Versi 1.1

Versi 1.1.2

8 Februari 2023

androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2, dan androidx.wear.compose:compose-navigation:1.1.2 dirilis. Versi 1.1.2 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbaiki bug yang menyebabkan rekomposisi yang tidak perlu di ScalingLazyListState.centerItemIndex dengan memastikan bahwa kode tersebut hanya mengirim update saat nilai benar-benar berubah (Ia9f38)

Versi 1.1.1

11 Januari 2023

androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1, dan androidx.wear.compose:compose-navigation:1.1.1 dirilis. Versi 1.1.1 berisi commit ini.

Perbaikan Bug

  • PlaceholderState.rememberPlaceholderState() diperbarui untuk menggunakan rememberUpdatedState sehingga status akan diperbarui jika lambda onContentReady. (I02635, b/260343754)

Versi 1.1.0

7 Desember 2022

androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0, dan androidx.wear.compose:compose-navigation:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.

Perubahan penting sejak versi 1.0.0

Fitur Baru

  • Kami telah mengubah fungsi Placeholder eksperimental sehingga efek “Hapus Total” langsung diterapkan saat konten siap, bukan menunggu loop animasi berikutnya dimulai. Kami juga telah melakukan beberapa pembaruan pada shimmer dan menghapus total animasi. (I5a7f4)

Perbaikan Bug

  • Kami telah mengubah lebar pembatas default untuk OutlinedButton/OutlinedCompactButton dari 2.dp menjadi 1.dp agar sesuai dengan spesifikasi UX akhir. (Icf84d)
  • Untuk mengurangi efek item pertama yang ditambahkan ke ScalingLazyColumn kosong yang muncul untuk men-scroll ke tempatnya, kami telah menambahkan estimasi autoCentering topPadding saat konten kosong. Perubahan ini menghitung jumlah padding atas yang diperlukan dengan mengasumsikan item awal dengan tinggi 0.dp. Untuk ScalingLazyListAnchorType.ItemStart, perubahan akan menghitung padding atas yang benar. Untuk ScalingLazyListAnchorType.ItemCenter, penghitungan ini akan salah karena tinggi item diperlukan agar dapat mengukur konten dengan benar sehingga menghasilkan efek scroll kecil berdasarkan tinggi sebenarnya item.(I239a4)
  • Kami telah memperbarui scrim latar belakang yang diterapkan pada animasi SwipeToDismiss agar sesuai dengan platform Wear.(I9003e)
  • Kami telah memperbaiki penanganan PositionIndicator dari LazyListState dan ScalingLazyListState untuk item daftar berukuran 0 guna menghindari error pembagian dengan nol.(Ic28dd)

Versi 1.1.0-rc01

9 November 2022

androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01, dan androidx.wear.compose:compose-navigation:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.

Perbaikan Bug

  • Kami telah menambahkan aturan profil dasar pengukuran untuk Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip, dan OutlinedCompactChip. (I8249c)
  • Kami telah memperbaiki bug di Modifier.scrollAway sehingga jika itemIndex yang ditentukan tidak valid (misalnya, jika indeks item tersebut berada di luar rentang), TimeText sekarang akan tetap ditampilkan. (I2137a)
  • Kami telah memperbarui animasi SwipeToDismissBox agar sesuai dengan implementasi platform. Setelah animasi squeeze awal, layar sekarang bergeser ke kanan setelah penutupan dipicu. (I41d34)
  • Sebagai pengoptimalan, kami telah memperbarui Modifier.scrollAway agar hanya membaca scrollState di dalam blok pengukuran sehingga tidak mengubah rekomposisi pengubah setelah setiap pengukuran ulang. (I4c6f1)
  • Kami telah menambahkan dokumentasi dan contoh ke placeholder agar menampilkan urutan yang benar untuk Modifier.placeholder dan Modifier.placeholderShimmer saat diterapkan ke composable yang sama. (Ie96f4, b/256583229)
  • Kami telah mengubah lebar pembatas default untuk OutlinedCompactChip/OutlinedChip dari 2.dp menjadi 1.dp agar sesuai dengan spesifikasi UX akhir. (Ib3d8e)
  • Kami telah memperbaiki bug di rememberPickerState saat input yang diperbarui tidak disimpan, sehingga composable tidak diperbarui setelah perubahan pada input. (I49ff6, b/255323197)
  • Kami telah membuat beberapa pembaruan UI pada placeholder, 1) mengubah gradien shimmer menjadi 1,5x ukuran layar, 2) menambahkan easing (bezier kubik) dari progresi shimmer dan 3) mempercepat animasi penghapusan total (250 md). (Id29c1)
  • Kami telah memperbaiki bug UI dalam efek wipeOff placeholder yang menyebabkan latar belakang Chip dan Card dihapus total lebih awal karena tidak memperhitungkan posisi komponen di layar. (I2c7cb)
  • Kami telah memperbarui gambar latar belakang placeholder untuk menggabungkan warna, bukan melapisinya, jika memungkinkan untuk mengurangi risiko pencampuran alfa berbagai lapisan yang dipangkas agar warna dasar tidak berubah pada tepi latar belakang placeholder. (I2ea26)
  • Kami telah memperbaiki penghitungan ScalingLazyListState.centerItemIndex/centerItemOffset sehingga jika dua item berada di kedua sisi garis tengah area pandang, item yang paling dekat akan dianggap sebagai centerItem. (I30709, b/254257769)
  • Kami telah memperbaiki bug di ScalingLazyListState.layoutInfo.visibleItemsInfo yang melaporkan offset yang salah selama inisialisasi ScalingLazyColumn. Sekarang daftar kosong akan ditampilkan hingga semua item daftar terlihat dan memiliki offset yang benar. Memeriksa ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() akan mengonfirmasi bahwa inisialisasi ScalingLazyColumn selesai dan item terlihat. (I3a3b8)

Versi 1.1.0-beta01

24 Oktober 2022

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01, dan androidx.wear.compose:compose-navigation:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.

Yang ada di Compose untuk Wear OS 1.1

Versi 1.1.0-beta01 dari Compose untuk Wear OS menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci.

  • Rilis Wear Compose 1.1 menyertakan fungsi baru berikut:
    • Picker - Peningkatan aksesibilitas untuk Picker sehingga layar multi-pemilih dapat dinavigasi dengan pembaca layar dan deskripsi konten dapat diakses
    • Parameter contentDescription Picker kini hanya digunakan untuk opsi Picker yang dipilih dan menggunakan String nullable (di commit sebelumnya, pemetaan perlu diteruskan dari opsi ke deskripsi konten, tetapi hanya opsi yang dipilih yang digunakan).
    • Item Picker sekarang selalu rata tengah, yang memperbaiki bug saat menyetel gradientRatio ke nol menyebabkan efek samping dari perubahan perataan.
    • Chip/ToggleChip - Kami telah memperbarui gradien default untuk Chip/ToggleChip agar sesuai dengan spesifikasi UX terbaru. ChipDefaults.gradientBackgroundChipColors telah diperbarui agar dimulai dari 50% primer, bukan 32,5%.
    • Chip/ToggleChip - Menambahkan overload untuk mengubah bentuk Chip
    • Chip/Button/ToggleButton - Menambahkan gaya bergaris batas baru untuk Chip dan Button serta composable OutlinedChip dan OutlinedButton baru yang menyediakan Chip/Button yang transparan dengan batas tipis.
    • Card - Memperbarui gradien default untuk Card agar sesuai dengan spesifikasi UX terbaru. CardDefaults.cardBackgroundPainter telah diperbarui agar dimulai dari 30% primer dan berakhir pada 20% onSurfaceVariant (sebelumnya 20% menjadi 10% onSurfaceVariant). ToggleChip.toggleChipColors berubah dari gradien linier 75% permukaan ke 32,5% primer, ke 0% permukaan dan menjadi 50% primer.
    • Button/ToggleButton - Menambahkan properti untuk mengubah bentuk tombol.
    • Theme - Kami telah memperbarui sejumlah warna default dalam MaterialTheme untuk meningkatkan aksesibilitas karena warna asli tidak memiliki cukup kontras yang mengakibatkan kesulitan bagi pengguna untuk membedakan latar belakang chip/kartu/tombol dari warna latar belakang tema.
    • InlineSlider/Stepper - Peran Button ditambahkan sehingga Talkback dapat mengenalinya sebagai tombol.
    • Scaffold - PositionIndicator kini diposisikan dan disesuaikan ukurannya sehingga hanya menggunakan ruang yang diperlukan. Hal ini berguna, misalnya, jika informasi semantik ditambahkan ke dalamnya. TalkBack kini mendapatkan batas PositionIndicator yang benar di layar.
    • CurvedText/TimeText - Menambahkan Modifier.scrollAway, yang men-scroll item secara vertikal ke dalam/ke luar tampilan, berdasarkan status scroll (dengan overload yang berfungsi dengan Column, LazyColumn, dan ScalingLazyColumn). ScrollAway biasanya digunakan untuk men-scroll TimeText keluar dari tampilan saat pengguna mulai men-scroll daftar item ke atas.
    • CurvedText/TimeText - Menambahkan dukungan untuk fontFamily, fontStyle, dan fontSynthesis di CurvedTextStyle, yang dapat digunakan pada curvedText dan basicCurvedText.
    • CurvedText/TimeText - Menambahkan fontWeight ke konstruktor dan metode penyalinan di CurvedTextStyle
    • ToggleControls - Menambahkan animasi kontrol tombol Checkbox, Switch, dan RadioButton untuk digunakan dengan ToggleChip dan SplitToggleChip. Ini dapat digunakan sebagai pengganti ikon statis yang disediakan oleh ToggleChipDefaults (switchIcon, checkboxIcon, dan radioIcon).
    • Placeholder - Menambahkan dukungan placeholder eksperimental. Ini memiliki tiga efek visual berbeda yang dirancang untuk bekerja sama.
    • Pertama, efek kuas latar belakang placeholder yang digunakan dalam penampung seperti Chip dan Card untuk menggambar di atas latar belakang normal saat menunggu konten dimuat.
    • Kedua, pengubah (Modifier.placeholder()) untuk menggambar widget placeholder berbentuk elips di atas konten yang sedang dimuat.
    • Ketiga, efek gradien/berkelip pengubah (Modifier.placeholderShimmer()) yang digambar di atas efek lain untuk menunjukkan kepada pengguna bahwa kita sedang menunggu data dimuat.
      • Semua efek ini dirancang untuk berkoordinasi, berkelip, serta dihapus total dengan cara teratur.
  • Dependensi Core Compose diupdate dari 1.2 menjadi 1.3

Perubahan API

  • Parameter font (fontFamily, fontWeight, fontStyle & fontSynthesis) kini dapat ditentukan secara langsung sebagai parameter curvedText (Idc422)

Perbaikan Bug

  • curveText dan basicCurvedText kini akan berfungsi dengan baik dengan talkback (memiliki node compose-ui dengan ukuran dan penempatan yang benar (tetapi kosong) yang dikaitkan dengan keduanya, menggunakan teks sebagai deskripsi konten) (I7af7c, b/210721259)
  • Perbaikan bug pada Picker saat PickerState.repeatedItems = false untuk menambahkan setelan eksplisit parameter autoCentering pada ScalingLazyColumn internal Picker untuk memastikan opsi nol dapat di-scroll ke tengah tampilan. (I8a4d7)

Versi 1.1.0-alpha07

5 Oktober 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07, dan androidx.wear.compose:compose-navigation:1.1.0-alpha07 dirilis. Versi 1.1.0-alpha07 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan dukungan placeholder eksperimental. Ini memiliki tiga efek visual berbeda yang dirancang untuk bekerja sama. Pertama, efek kuas latar belakang placeholder yang digunakan dalam penampung seperti Chip dan Card untuk menggambar di atas latar belakang normal saat menunggu konten dimuat. Kedua, pengubah (Modifier.placeholder()) untuk menggambar widget placeholder berbentuk elips di atas konten yang sedang dimuat. Ketiga, efek gradien/berkelip pengubah (Modifier.placeholderShimmer()) yang digambar di atas efek lain untuk menunjukkan kepada pengguna bahwa kita sedang menunggu data dimuat. Semua efek ini dirancang untuk berkoordinasi, berkelip, serta dihapus total dengan cara teratur. (I3c339)

Perubahan API

  • Menambahkan dukungan untuk fontWeight, fontFamily, fontStyle, dan fontSynthesis di CurvedTextStyle, yang dapat digunakan pada curvedText dan basicCurvedText. Parameter tersebut dapat digunakan untuk menentukan font dan gaya yang akan digunakan pada teks melengkung.(Iaa1a8),(I72759)
  • Memperbarui parameter offset Modifier.scrollAway menjadi Dp agar konsisten dengan Modifier.offset (sebelumnya dalam piksel). Selain itu, dilakukan pemfaktoran ulang sebagai LayoutModifier untuk efisiensi. (I9f94b)
  • Sebagai bagian dari API kontrol tombol baru, kami telah mengganti nama RadioButton’s circleColor menjadi ringColor. (I28fa9)
  • Kami telah menambahkan animasi kontrol tombol Checkbox, Switch, dan RadioButton untuk digunakan dengan ToggleChip dan SplitToggleChip. Ini dapat digunakan sebagai pengganti ikon statis yang disediakan oleh ToggleChipDefaults (switchIcon, checkboxIcon, dan radioIcon). (I8a8c4)

Versi 1.1.0-alpha06

21 September 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06, dan androidx.wear.compose:compose-navigation:1.1.0-alpha06 dirilis. Versi 1.1.0-alpha06 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan Modifier.scrollAway, yang men-scroll item secara vertikal ke dalam/ke luar tampilan, berdasarkan status scroll (dengan overload yang berfungsi dengan Column, LazyColumn, dan ScalingLazyColumn). ScrollAway biasanya digunakan untuk men-scroll TimeText keluar dari tampilan saat pengguna mulai men-scroll daftar item ke atas. (I61766)

Perbaikan Bug

  • PositionIndicator kini diposisikan dan disesuaikan ukurannya sehingga hanya menggunakan ruang yang diperlukan. Hal ini berguna, misalnya, jika informasi semantik ditambahkan ke dalamnya. TalkBack kini mendapatkan batas PositionIndicator yang benar di layar. (Ie6106, b/244409133)

Versi 1.1.0-alpha05

7 September 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05, dan androidx.wear.compose:compose-navigation:1.1.0-alpha05 dirilis. Versi 1.1.0-alpha05 berisi commit ini.

Perbaikan Bug

  • Peran Button ditambahkan ke InlineSlider dan Stepper sehingga Talkback dapat mengenalinya sebagai tombol. (Icb46c, b/244260275)
  • Kami telah memperbaiki urutan z posisi dan indikator halaman di Scaffold. Indikator kini akan berada di atas vinyet dan tidak akan terhalang oleh vinyet jika ada. (Ib988f, b/244207528)

Versi 1.1.0-alpha04

24 Agustus 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04, dan androidx.wear.compose:compose-navigation:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.

Perubahan API

  • Kami telah memperbarui sejumlah warna default dalam MaterialTheme untuk meningkatkan aksesibilitas karena warna asli tidak memiliki cukup kontras yang mengakibatkan kesulitan bagi pengguna untuk membedakan latar belakang chip/kartu/tombol dari warna latar belakang tema. Warna yang diperbarui adalah surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8), dan onError(0xFF202124->0xFF000000). Perubahan warna meskipun relatif samar dapat memengaruhi pengujian screenshot yang ada. (81ab09)

Perbaikan Bug

  • Memperbaiki bug logika di ScalingLazyColumn yang dapat menyebabkan daftar dengan jumlah kecil (biasanya 2) item daftar tidak menyelesaikan inisialisasi dan akibatnya menjadi transparan. (504347)

Versi 1.1.0-alpha03

10 Agustus 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03, dan androidx.wear.compose:compose-navigation:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan gaya bergaris batas baru untuk Chips dan Buttons serta composable OutlinedChip dan OutlinedButton baru yang menyediakan Chip/Button yang transparan dengan batas tipis. (Id5972)

Perubahan API

  • Menambahkan overload untuk mengubah bentuk tombol (Icccde)

Perbaikan Bug

  • Kami telah memperbaiki ukuran area kontrol tombol ToggleChip karena tidak sesuai dengan spesifikasi UX-nya. UX Spec meminta pengatur jarak 4.dp di antara label dan area ikon kontrol tombol 24x24.dp dengan total lebar 28.dp. Namun, penerapan salah memberikan area kontrol tombol 36x24.dp. Hasilnya, area label teks yang dapat digunakan berkurang 8.dp. CATATAN: Perbaikan bug ini memberikan ruang tambahan untuk label teks dan hasilnya (secara positif) dapat memengaruhi tata letak teks untuk teks tambahan. Jika Anda memiliki pengujian screenshot yang menyertakan ToggleChips, pengujian tersebut mungkin perlu diperbarui. (I514c8, b/240548670)

Versi 1.1.0-alpha02

27 Juli 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02, dan androidx.wear.compose:compose-navigation:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.

Fitur Baru

  • Kami telah mengalihkan dependensi Compose untuk Wear OS pada library Compose inti dari 1.2.0 ke 1.3.0-alpha0X

Perubahan API

  • Menambahkan overload untuk mengubah bentuk chip (I02e87)

Perbaikan Bug

  • Kami telah menganimasikan visibilitas vinyet saat menampilkan/menyembunyikan Dialog, agar konsisten dengan animasi penskalaan yang ada. (Ida33e)
  • Kami telah memperbaiki bug yang memungkinkan pembagian dengan nol untuk beberapa perilaku ayunkan jari pada saat men-scroll. (I86cb6)
  • Memperbaiki bug di ChipDefaults.childChipColor() untuk memastikan bahwa warna latar belakang yang dinonaktifkan sepenuhnya transparan. (I2b3c3, b/238057342)

Versi 1.1.0-alpha01

29 Juni 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01, dan androidx.wear.compose:compose-navigation:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.

Perubahan API

  • Parameter contentDescription Picker sekarang hanya digunakan untuk opsi Picker yang dipilih dan menggunakan String nullable (sebelumnya, perlu meneruskan pemetaan dari opsi ke deskripsi konten, tetapi hanya opsi yang dipilih yang digunakan). (Ife6a7)
  • Kami telah membuat peningkatan aksesibilitas ke Picker sehingga layar multi-pemilih dapat dinavigasi dengan pembaca layar dan deskripsi konten dapat diakses (I64edb)

Perbaikan Bug

  • Kami telah memperbarui aturan profil dasar pengukuran yang dikemas dengan library Wear Compose (I9c694)
  • Kami telah mengoreksi arah gradien untuk Chip dalam mode kanan ke kiri. Arah sebelumnya kiri atas->kanan bawah, dan sekarang kanan atas->kiri bawah. (Ic2e77)
  • Kami telah memperbarui gradien default untuk Chip/ToggleChip/Card agar sesuai dengan spesifikasi UX terbaru. ChipDefaults.gradientBackgroundChipColors telah diperbarui agar dimulai dari 50% primer, bukan 32,5%. CardDefaults.cardBackgroundPainter telah diperbarui agar dimulai dari 30% primer dan berakhir pada 20% onSurfaceVariant (sebelumnya 20% ke 10% onSurfaceVariant). ToggleChip.toggleChipColors berubah dari gradien linear 75% permukaan ke 32,5% primer menjadi 0% permukaan ke 50% primer. (I43bbd)
  • Kami telah menambahkan warna latar belakang (MaterialTheme.color.surface) di belakang Chip/ToggleChips yang memiliki latar belakang gradien untuk memastikan bahwa warna tersebut terlihat benar jika warna terang digunakan di belakangnya. (Ibe1a4, b/235937657)
  • Item Picker sekarang selalu rata tengah, yang memperbaiki bug saat menyetel gradientRatio ke nol menyebabkan efek samping dari perubahan perataan. (I712b8)

Versi 1.0

Versi 1.0.2

7 September 2022

androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2, dan androidx.wear.compose:compose-navigation:1.0.2 dirilis. Versi 1.0.2 berisi commit ini.

Perbaikan Bug

  • Kami telah memperbaiki urutan z posisi dan indikator halaman di Scaffold. Indikator kini akan berada di atas vinyet dan tidak akan terhalang oleh vinyet jika ada. (Ib988f, b/244207528)

Versi 1.0.1

24 Agustus 2022

androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1, dan androidx.wear.compose:compose-navigation:1.0.1 dirilis. Versi 1.0.1 berisi commit ini.

Perbaikan Bug

  • Memperbaiki bug logika di ScalingLazyColumn yang dapat menyebabkan daftar dengan jumlah kecil (biasanya 2) item daftar tidak menyelesaikan inisialisasi dan akibatnya menjadi transparan. (076c61)

Versi 1.0.0

27 Juli 2022

androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0, dan androidx.wear.compose:compose-navigation:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.

Fitur utama 1.0.0

  • Ini adalah rilis stabil pertama Compose untuk Wear OS (baca selengkapnya).
  • Compose untuk Wear OS dibuat berdasarkan library Compose inti yang menyediakan komponen khusus perangkat wearable tambahan dan, jika sesuai, implementasi alternatif komponen Compose inti yang disesuaikan untuk perangkat wearable.
  • Untuk daftar komponen utama di Wear Compose, lihat catatan rilis untuk (Compose untuk Wear OS Beta01).

Perbaikan Bug

  • Kami telah menganimasikan visibilitas vinyet saat menampilkan/menyembunyikan Dialog, agar konsisten dengan animasi penskalaan yang ada. (Ida33e)
  • Kami telah memperbaiki bug yang memungkinkan pembagian dengan nol untuk beberapa perilaku ayunkan jari pada saat men-scroll. (I86cb6)
  • Memperbaiki bug di ChipDefaults.childChipColor() untuk memastikan bahwa warna latar belakang yang dinonaktifkan sepenuhnya transparan. (I2b3c3, b/238057342)

Versi 1.0.0-rc02

22 Juni 2022

androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02, dan androidx.wear.compose:compose-navigation:1.0.0-rc02 dirilis. Versi 1.0.0-rc02 berisi commit ini.

Perbaikan Bug

  • Kami telah mengoreksi arah gradien untuk Card dalam mode kanan ke kiri (RTL). Arah sebelumnya kiri atas->kanan bawah, dan sekarang kanan atas->kiri bawah. (Ic2e77)
  • Kami telah memperbarui gradien default untuk Chip/ToggleChip/Card agar sesuai dengan spesifikasi UX terbaru. ChipDefaults.gradientBackgroundChipColors telah diperbarui agar dimulai dari 50% primer, bukan 32,5%. CardDefaults.cardBackgroundPainter telah diperbarui agar dimulai dari 30% primer dan berakhir pada 20% onSurfaceVariant (sebelumnya 20% ke 10% onSurfaceVariant). ToggleChip.toggleChipColors berubah dari gradien linear permukaan 75% ke 32,5% primer menjadi 0% permukaan ke 50% primer. (I43bbd)
  • Kami telah menambahkan warna latar belakang (MaterialTheme.color.surface) di belakang Chip/ToggleChips yang memiliki latar belakang gradien untuk memastikan bahwa warna tersebut terlihat benar jika warna terang digunakan di belakangnya. (Ibe1a4, b/235937657)
  • Kami telah memperbarui aturan profil dasar pengukuran yang dikemas dengan library Wear Compose (I9c694)

Versi 1.0.0-rc01

15 Juni 2022

androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01, dan androidx.wear.compose:compose-navigation:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.

Perubahan API

  • Antarmuka di library Compose kini dibuat menggunakan metode antarmuka default jdk8 (I5bcf1)

Perbaikan Bug

  • Kami telah menghapus panggilan eksplisit ke fillMaxWidth() di header daftar karena tidak diperlukan dan dapat menimbulkan masalah jika ScalinglazyColumn memiliki gabungan komponen ListHeader() dan Chip() karena lebarnya cenderung membesar/mengecil saat item ListHeader di-scroll ke dalam/ke luar tampilan. (I37144, b/235074035)
  • Kami telah memperbaiki bug di ScalingLazyColumn yang dapat menyebabkan item daftar tidak tergambar dengan benar hingga di-scroll jika item daftar ke-0 cukup besar (termasuk padding) (Ic6159, b/234328517)
  • Kami telah melakukan penyesuaian kecil di easing ScalingLazyColumn karena item mencapai tepi layar untuk menyesuaikan dengan pembaruan spesifikasi UX. Nilai lama CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nilai baru CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Untuk mempertahankan perilaku lama, Anda dapat mengganti scalingParams ScalingLazyColumn (Ie375c)
  • Kami telah menambahkan padding ke CompactChip untuk memastikan bahwa ukuran target ketuknya minimal setinggi 48.dp untuk memenuhi panduan aksesibilitas Material. Hal ini dapat memengaruhi tata letak yang Anda pakai menggunakan CompactChips karena akan menggunakan ruang tambahan. (I3d57c)

Versi 1.0.0-beta03

1 Juni 2022

androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03, dan androidx.wear.compose:compose-navigation:1.0.0-beta03 dirilis. Versi 1.0.0-beta03 berisi commit ini.

Fitur Baru

  • Kami telah membuat ScalingLazyColumn berfungsi dalam mode @Preview Compose. (I3b3b6, b/232947354)

Perubahan API

  • Kami telah mengubah nilai default untuk properti ScalingLazyColumn.horizontalAlignment dari Start menjadi CenterHorizontally untuk memastikan bahwa saat item daftar tidak mengisi seluruh lebar kolom, item daftar tersebut akan disejajarkan untuk visibilitas maksimum. Untuk beralih kembali ke perilaku sebelumnya, tetapkan horizontalAlignment = Alignment.Start.(I9ed4b)

Masalah Umum

  • Tinggi area ketuk/sentuh CompactChip lebih kecil daripada panduan aksesibilitas Material. Masalah ini akan diperbaiki pada rilis berikutnya (15 Juni). Jika Anda menggunakan CompactChip, hal ini akan memengaruhi tata letak karena CompactChips kini akan memiliki padding tambahan di atas dan di bawah. Harap sesuaikan dan uji tata letak Anda atau lihat komentar bug untuk mengetahui solusi saat menggunakan perilaku yang sudah ada. (b/234332135)

Perbaikan Bug

  • Demo baru untuk menganimasikan penambahan atau penghapusan teks awal di TimeText. (I16d75)
  • Menambahkan pengujian untuk HorizontalPageIndicator.PagesState (I64ed0)
  • Memperbarui TimeText lebih dekat dengan spesifikasi UX (Ib7ea1)

Versi 1.0.0-beta02

18 Mei 2022

androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02, dan androidx.wear.compose:compose-navigation:1.0.0-beta02 dirilis. Versi 1.0.0-beta02 berisi commit ini.

Fitur Baru

  • Picker sekarang selalu merespons peristiwa scroll bahkan saat dalam mode hanya baca. Dengan demikian, pengguna tidak perlu mengetuk Picker terlebih dahulu sebelum dapat men-scroll. Dalam mode hanya baca, opsi selain yang saat ini dipilih akan dikaburkan oleh shim di gradientColor. (I72925)
  • Kami telah mengubah perilaku UX Chip/ToggleChip/CompactChip/SplitToggleChip agar berhenti melakukan fillMaxWidth secara default. Sebaliknya, perilaku ini akan menyesuaikan kontennya. Untuk mempertahankan perilaku sebelumnya, cukup tambahkan modifier = Modifier.fillMaxWidth() (I60a2c, b/232206371)

Perbaikan Bug

  • Konstruktor CurvedTextStyle yang menggunakan TextStyle kini juga mematuhi fontWeight (Ini dapat ditambahkan ke konstruktor dan metode penyalinan dalam revisi API mendatang) (Ieebb9)
  • Peningkatan fitur geser tepi. Saat Modifier.edgeSwipeToDismiss digunakan dan geser ke kiri dipicu dari area tepi, gestur ini tidak lagi memicu geser-untuk-menutup saat arah geser berubah ke kanan. Sebelumnya, Anda dapat memicu geser-untuk-menutup dengan menggeser ke kiri, lalu menggeser ke kanan. (I916ea)
  • HorizontalPageIndicator kini menampilkan hingga 6 halaman di layar. Jika total ada lebih dari 6 halaman, indikator akan menunjukkan setengah ukuran di sisi kiri atau kanan, dengan transisi yang lancar antar-halaman. (I2ac29)
  • Meningkatkan perilaku snap default pada ScalingLazyColumn dan Picker (I49539)
  • Peningkatan fitur geser tepi. Saat Modifier.edgeSwipeToDismiss digunakan, geser-untuk-menutup hanya dipicu saat sentuhan pertama mendarat di tepi dan digeser ke kanan. Sebelumnya, Anda dapat memicu geser-untuk-menutup dengan menggeser dari bagian mana pun pada layar jika tindakan scroll mencapai bagian awal. (I8ca2a)

Versi 1.0.0-beta01

11 Mei 2022

androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01, dan androidx.wear.compose:compose-navigation:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.

Yang ada di Compose untuk Wear OS 1.0

1.0.0-beta01 Compose untuk Wear OS menandai pencapaian penting karena library selesai dan API terkunci.

Komponen Wear Compose Material dalam rilis 1.0 meliputi:

  • Tema Material - digunakan sebagai pengganti Compose untuk MaterialTheme Seluler, menyediakan warna, bentuk, dan tipografi untuk mem-build komponen di perangkat Wearable yang mengimplementasikan panduan UX Desain Material Wear.
  • Button, CompactButton, dan ToggleButton - Button menawarkan satu slot untuk mengambil ikon, gambar, atau teks pendek (maks. 3 karakter). Berbentuk lingkaran dengan ukuran yang disarankan untuk tombol default, besar, atau kecil. CompactButton menawarkan satu slot untuk mengambil konten apa pun (ikon, gambar, atau teks) dan berbentuk lingkaran dengan ukuran latar belakang ekstra kecil. CompactButton memiliki padding transparan opsional di sekitar latar belakang yang meningkatkan area yang dapat diklik. ToggleButton adalah tombol yang menawarkan satu slot untuk mengambil konten apa pun (teks singkat, ikon, atau gambar) dan memiliki status aktif/nonaktif (dicentang/tidak dicentang) dengan warna dan ikon yang berbeda untuk menunjukkan apakah kotak dicentang atau tidak
  • Card - digunakan untuk menampilkan informasi tentang aplikasi seperti notifikasi. Desain yang fleksibel untuk berbagai kasus penggunaan dengan AppCard dan TitleCard memberikan berbagai tata letak dan dukungan untuk gambar sebagai konten kartu atau latar belakang.
  • Chip - komponen berbentuk elips yang serupa dengan tombol, tetapi dengan area yang lebih besar dan beberapa slot untuk memungkinkan label, label sekunder, dan ikon. Dengan berbagai ukuran dan dengan dukungan untuk gambar sebagai latar belakang.
  • ToggleChips dan SplitToggleChips - Chip dengan status dicentang/tidak dicentang dan penambahan slot ToggleControl untuk menampilkan ikon seperti tombol akses atau tombol pilihan untuk menampilkan status komponen yang dicentang. Selain itu, SplitToggleChip memiliki dua area yang dapat diketuk, satu dapat diklik dan satu lagi dapat diganti.
  • CircularProgressIndicator - Indikator progres Material Wear dengan dua variasi. Yang pertama mengekspresikan proporsi penyelesaian tugas yang sedang berlangsung dan mendukung celah di jalur melingkar antara sudut awal dan akhir. Yang kedua menunjukkan progres yang tidak tentu untuk waktu tunggu yang tidak ditentukan.
  • curvedText - membentuk bagian dari DSL untuk mendeskripsikan CurvedLayouts, serta curvedRow dan curvedColumn, untuk menata letak komponen di sekitar perangkat melingkar. Lihat Wear Component Foundation di bawah ini untuk detail CurvedLayout dan CurvedModifier lebih lanjut (memainkan peran yang mirip dengan Pengubah di dunia non-curved dan memungkinkan konfigurasi berbagai aspek tata letak, padding, gradien, dll.).
  • Dialog, Pemberitahuan, dan Konfirmasi - Dialog menampilkan dialog layar penuh, melapisi konten lainnya, dan mendukung geser-untuk-menutup. Satu slot diperlukan yang diharapkan menjadi konten dialog Material Wear yang bersifat dogmatis seperti Pemberitahuan atau Konfirmasi. Pemberitahuan adalah konten dialog opini dengan slot untuk ikon, judul, dan pesan. Notifikasi memiliki overload untuk dua tombol negatif dan positif yang ditampilkan secara berdampingan atau slot untuk satu atau beberapa chip yang ditumpuk secara vertikal. Konfirmasi adalah konten dialog opini yang menampilkan pesan selama durasi tertentu. Class ini memiliki slot untuk ikon atau gambar (yang dapat dianimasikan).
  • HorizontalPageIndicator - menampilkan posisi halaman horizontal dengan cara yang sesuai dengan faktor bentuk perangkat Wearable. Didesain untuk mengambil layar penuh dan menampilkan indikator melengkung pada perangkat bulat. Dapat digunakan dengan penampil halaman Accompanist.
  • Ikon - Implementasi Wear dari Ikon yang mengambil warna dan alfa dari Tema Material Wear. Untuk ikon yang dapat diklik, lihat Tombol atau Chip.
  • Pemilih - menampilkan daftar item yang dapat di-scroll untuk dipilih. Secara default, item akan diulang ‘tanpa batas’ di kedua arah. Dapat ditampilkan dalam mode hanya baca untuk menyembunyikan opsi yang tidak dipilih.
  • PositionIndicator - menampilkan posisi scroll atau indikasi posisi lainnya dengan cara yang sesuai dengan faktor bentuk Wearable. Didesain untuk mengambil layar penuh dan menampilkan indikator melengkung pada perangkat bulat.
  • Scaffold - mengimplementasikan struktur tata letak visual Desain Material dasar. Komponen ini menyediakan API untuk menyusun beberapa komponen Material Wear (seperti TimeText, PositionIndicator, dan Vignette) yang membuat layar, memastikan strategi tata letak yang tepat untuk layar tersebut dan mengumpulkan data yang diperlukan sehingga komponen ini akan bekerja sama dengan benar.
  • ScalingLazyColumn - komponen daftar scrolling/fisheye scroll yang membentuk bagian penting dari bahasa Desain Material Wear. Memberikan efek penskalaan dan transparansi ke item konten. ScalingLazyColumn dirancang agar dapat menangani sejumlah besar item konten, yang hanya terwujud dan disusun saat dibutuhkan.
  • Penggeser - memungkinkan pengguna membuat pilihan dari rentang nilai. Rentang pilihan ditampilkan sebagai panel, yang secara opsional dapat ditampilkan dengan pemisah.
  • Stepper - komponen layar penuh yang memungkinkan pengguna membuat pilihan dari rentang nilai, menggunakan tombol naikkan/turunkan di bagian atas dan bawah layar, dengan slot di tengah untuk Teks atau Chip.
  • SwipeToDismissBox - menangani gestur geser-untuk-menutup. Dibutuhkan satu slot untuk latar belakang (hanya ditampilkan selama gestur geser) dan konten latar depan. Secara opsional, dapat digabungkan dengan library navigasi androidx menggunakan SwipeDismissableNavHost (lihat library Navigasi Wear Compose di bawah).
  • Teks - Implementasi Wear dari komponen Teks Material Compose, mengambil warna dan alfa dari Tema Material Wear
  • TimeText - komponen untuk menampilkan Waktu dan status aplikasi di bagian atas layar. Menyesuaikan dengan bentuk layar dengan menggunakan teks melengkung pada layar bulat.
  • Vignette - tindakan pada layar untuk digunakan dalam Scaffold yang memburamkan bagian atas dan bawah layar saat konten yang dapat di-scroll digunakan.

  • Komponen berikut juga disertakan dari Wear Compose Foundation:

  • CurvedLayout - CurvedLayout Wear Foundation adalah composable tata letak yang menempatkan turunannya dalam lengkungan, memutarnya sesuai kebutuhan. Komponen ini mirip dengan tata letak Baris yang melengkung menjadi segmen dari anulus. Perlu diperhatikan bahwa konten CurvedLayout bukan lambda composable - melainkan, DSL (bahasa khusus domain). Semua elemen dalam DSL CurvedLayout mendukung parameter pengubah opsional, yang dibuat dari CurvedModifier.

  • basicCurvedText - elemen di DSL CurvedLayout, basicCurvedText memungkinkan developer menulis teks melengkung dengan mudah mengikuti kelengkungan lingkaran (biasanya di tepi layar melingkar). basicCurvedText hanya dapat dibuat dalam CurvedLayout untuk memastikan pengalaman terbaik, seperti dapat menentukan posisi dan menggunakan CurvedModifiers. Perlu diperhatikan bahwa dalam kebanyakan kasus, curvedText harus digunakan, karena menggunakan tema Material.

  • curvedComposable - menggabungkan konten composable normal sehingga dapat digunakan dengan CurvedLayout. Jika curvedComposable memiliki beberapa elemen di dalamnya, elemen tersebut akan digambar di atas satu sama lain (seperti Kotak). Untuk menempatkan beberapa composable di sepanjang lengkungan, gabungkan setiap composable dengan curvedComposable.

  • curvedRow dan curvedColumn - mirip dengan Baris dan Kolom, curvedRow dan curvedColumn dapat ditempatkan di dalam CurvedLayout untuk menata letak elemen sesuai kebutuhan. Untuk curvedRow, arah tata letak sudut dan perataan radial mungkin sudah ditentukan. Untuk curvedColumn, perataan sudut dan arah radial dapat ditentukan.

  • CurvedModifier - semua komponen melengkung menerima parameter pengubah yang bisa dibuat dengan menggunakan CurvedModifier: latar belakang, ukuran, bobot, dan padding didukung.

  • Komponen berikut juga disertakan dari Navigasi Wear Compose:

  • SwipeDismissableNavHost - menyediakan tempat dalam hierarki Compose untuk navigasi mandiri yang akan terjadi, dengan navigasi mundur yang disediakan oleh gestur geser. Konten ditampilkan dalam SwipeToDismissBox, menunjukkan tingkat navigasi saat ini. Selama gestur geser-untuk-menutup, tingkat navigasi sebelumnya (jika ada) ditampilkan di latar belakang.

  • Lihat catatan rilis sebelumnya untuk ragam rilis Alfa untuk mengetahui detail selengkapnya tentang apa yang telah ditayangkan.

Perubahan API

  • Menambahkan fungsi CurvedModifier.padding*. Ini digunakan untuk menentukan ruang tambahan yang akan ditambahkan di sekitar komponen yang melengkung. (I4dbb4)
  • Menghapus class internal CompositionLocal (I42490)
  • Kami telah menambahkan nilai konstanta untuk ukuran ikon Button, CompactButton, dan ToggleButton, sebagai panduan (I57cab)
  • Menambahkan parameter yang diaktifkan ke AppCard dan TitleCard. Sekarang memiliki API yang serupa dengan Kartu androidx.compose.material. Jika parameter disetel ke salah (false), kartu tersebut tidak akan dapat diklik. (Idc48d, b/228869805)

Perbaikan Bug

  • Stepper kini menonaktifkan tombol turunkan dan naikkan saat batas bawah/atas telah tercapai (dan menerapkan ContentAlpha.disabled ke iconColor) (I4be9f)
  • Kami telah menambahkan padding 1 dp di sekitar konten Pemilih saat digambar dengan gradien untuk mencegah jitter pada teks yang terlihat saat menggeser. (I0b7b9)
  • Menambahkan pengujian screenshot untuk PositionIndicator (I5e8bc)
  • Menambahkan pengujian lainnya untuk AppCard dan TitleCard (I85391, b/228869805)

Versi 1.0.0-alpha21

20 April 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21, dan androidx.wear.compose:compose-navigation:1.0.0-alpha21 dirilis. Versi 1.0.0-alpha21 berisi commit ini.

Fitur Baru

  • Menambahkan pengubah melengkung baru untuk menentukan latar belakang elemen melengkung: CurvedModifier.background, .radialGradientBackground, dan .angularGradientBackground (I8f392)
  • Memungkinkan mode tambahan teks melengkung (clip/ellipsis/visible) untuk ditetapkan. (I8e7aa)
  • Menambahkan pengubah CurvedModifier.weight, serupa dengan yang ada di Compose. Ini dapat digunakan pada turunan curvedRow dan CurvedLayout (untuk lebar) dan turunan curvedColumn (untuk tinggi). (I8abbd)
  • Menambahkan pengubah CurvedModifier.size, .angularSize, dan .radialSize untuk menentukan ukuran elemen melengkung. (I623c7)

Perubahan API

  • Mengatur ulang parameter untuk memastikan latar belakang sebelum warna secara konsisten di seluruh Wear Compose API (I43208)
  • Menghapus parameter searah jarum jam & insideOut dan mengganti dengan konstanta yang lebih ekspresif di class baru. Arah tata letak melengkung kini dapat mengetahui LayoutDirection, dan diwariskan jika tidak ditentukan (If0e6a)
  • Kami telah mengganti autoCenter: Boolean dengan autoCenter: AutoCentringParams untuk memperbaiki masalah API pada ScalingLazyColumn. (Ia9c90)
  • Kami telah mengganti nama iconTintColor dan toggleControlTintColor menjadi iconColor dan toggleControlColor di seluruh API (Chip/ToggleChip/Dialog/Slider/Stepper/...) saat warna diterapkan ke slot icon/toggleControl. (Ied238)
  • Menulis ulang enum PageIndicatorStyle ke dalam class nilai (I2dc72)
  • Kami telah menambahkan RowScope/ColumnScope/BoxScope ke beberapa slot di Composable untuk menunjukkan apa itu asumsi tata letak kepada developer. Tindakan ini akan memungkinkan developer menggunakan pengubah tambahan pada beberapa konten slot dan menghindari kebutuhan untuk memberikan elemen tata letak tambahan. Selain itu, kami telah melakukan beberapa perubahan kecil pada warna AppCard/TitleCard sehingga timeColor dan appColor ditetapkan secara default ke contentColor. Semua properti tersebut tetap dapat diganti secara terpisah jika diperlukan. (I26b59)
  • Membuat objek SwipeToDismissBoxState.Companion menjadi pribadi (I39e84)
  • Memperbaiki urutan parameter untuk InlineSlider dan Stepper. Perubahan sederhana untuk mengikuti panduan api (I11fec)
  • Kami telah menghapus objek Saver untuk SwipeToDismissBoxState karena tidak digunakan. (Ifb54e)
  • Kami telah mengupdate CompactChip menjadi bagian dari Spesifikasi UX terbaru. Padding telah dikurangi menjadi horizontal = 12.dp dan vertikal = 0.dp. Font untuk label telah diubah dari tombol menjadi teks1. Ukuran ikon yang direkomendasikan adalah 20x20 jika ikon dan label ada, dan 24x24 untuk chip ringkas hanya ikon. Untuk kasus penggunaan hanya ikon, kami juga memastikan agar ikon berada di tengah. (Iea2be)
  • Kami telah menambahkan sejumlah kolom baru ke ScalingLazyListLayoutInfo agar developer dapat mengetahui jumlah contentPadding dan autoCenteringPadding yang telah diterapkan. Ini dapat berguna bagi developer saat menghitung gerakan mengayun/scroll (I7577b)
  • Kami telah menerapkan transisi masuk/keluar untuk Dialog. Parameter showDialog telah ditambahkan dan Dialog kini mengontrol visibilitasnya sendiri (ini memungkinkan Dialog untuk menjalankan animasi intro dan outro saat Dialog ditampilkan/disembunyikan). Perhatikan bahwa animasi outro tidak dijalankan ketika pengguna meninggalkan dialog melalui tindakan geser-untuk-menutup. Kami juga telah menambahkan nilai default untuk status di overload SwipeToDismissBox yang baru ditambahkan. (I682a0)
  • Untuk mendukung i18n dan a11y dengan lebih baik, kami telah mengubah ToggleChip dan SplitToggleChip sehingga tidak lagi memiliki setelan default untuk slot toggleControl. Kami juga telah mengubah ToggleChipDefaults sehingga metode berikut kini menampilkan ImageVector, bukan Icon (perhatikan bahwa karena metode tidak lagi menampilkan @Composables, metode tersebut telah berubah menjadi dimulai dengan huruf kecil), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon(), dan RadioIcon()->radioIcon() - ini memungkinkan dan mendorong developer untuk membuat composable Icon() mereka sendiri dengan kumpulan contentDescription yang sesuai. (I5bb5b)
  • Kami telah menambahkan parameter SwipeDismissableNavHostState ke SwipeDismissableNavHost. Ini mendukung penggunaan geser tepi pada layar yang digunakan sebagai tujuan navigasi, karena SwipeToDismissBoxState kini dapat ditarik dan digunakan untuk melakukan inisialisasi SwipeDismissableNavHostState dan Modifier.edgeSwipeToDismiss pada layar yang memerlukan geser tepi. (I819f5, b/228336555)

Perbaikan Bug

  • Memastikan tata letak melengkung diupdate saat diperlukan. (Ie8bfa, b/229079150)
  • Perbaikan bug untuk https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • Menghapus anotasi eksperimental yang tidak diperlukan (I88d7e)

Versi 1.0.0-alpha20

6 April 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20, dan androidx.wear.compose:compose-navigation:1.0.0-alpha20 dirilis. Versi 1.0.0-alpha20 berisi commit ini.

Fitur Baru

  • Menambahkan pengubah edgeSwipeToDismiss untuk SwipeToDismiss. Mengizinkan swipeToDismiss untuk hanya aktif di tepi kiri area pandang. Digunakan saat bagian tengah layar harus dapat menangani paging horizontal, seperti men-scroll 2-d peta atau menggeser horizontal antar-halaman.(I3fcec, b/200699800)

Perubahan API

  • Implementasi dasar CurvedModifiers, ini akan membuka cara untuk memperkenalkan cara menyesuaikan konten melengkung (tetapi belum ada CurvedModifiers yang disediakan, dan kemampuan untuk membuat pengubah kustom mungkin tersedia nanti) (I9b8df)
  • Dokumentasi pengubah EdgeSwipe dan nilai default diperbarui untuk mendapatkan pemahaman yang lebih baik. (I6d00d)
  • Tambahkan slot PageIndicator ke Scaffold. Dengan menambahkan PageIndicator langsung ke Scaffold, kami dapat memastikan bahwa file tersebut akan ditampilkan dengan benar di perangkat melingkar. (Ia6042)
  • Menghapus Ikon default dari parameter InlineSlider dan Stepper. Hal ini akan membantu developer untuk lebih memperhatikan persyaratan pelokalan dan aksesibilitas. Penggunaan ikon default ditampilkan dalam demo dan sampel. (I7e6fd)
  • Mengganti nama parameter Trailing dan Leading dengan Start dan End di TimeText (Iaac32)
  • Kami telah menambahkan overload SwipeToDismissBox dengan parameter onDismissed untuk mendukung penggunaan umum pemicuan peristiwa navigasi saat gestur geser selesai. (I50353, b/226565726)
  • Menghapus anotasi ExperimentalWearMaterialApi dari penggunaan TimeText (Ide520)
  • Kami telah menandai antarmuka cakupan dan info ScalingLazyList/Column sebagai disegel karena tidak dimaksudkan untuk diterapkan oleh developer eksternal dan ini akan memungkinkan kami menambahkan anggota baru di dalamnya tanpa perubahan yang dapat menyebabkan gangguan biner. (I7d99f)
  • Kami telah menambahkan properti flingBehaviour baru ke Picker dan metode PickerDefaults.flingBehaviour() untuk mengaktifkan konfigurasi perilaku fling seperti menambahkan dukungan RSB. PickerState sekarang mengimplementasikan antarmuka ScrollableState. (Ib89c7)

Perbaikan Bug

  • Update aturan profil dasar pengukuran Android Runtime (ART) untuk library Wear Compose. ART dapat memanfaatkan aturan profil di perangkat untuk terlebih dahulu mengompilasi subkumpulan aplikasi tertentu guna meningkatkan performa aplikasi. Perhatikan bahwa tindakan ini tidak akan berpengaruh pada aplikasi yang dapat di-debug. (Iaa8ef)
  • Meningkatkan kualitas dokumentasi (I2c051)

Versi 1.0.0-alpha19

23 Maret 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19, dan androidx.wear.compose:compose-navigation:1.0.0-alpha19 dirilis. Versi 1.0.0-alpha19 berisi commit ini.

Perubahan API

  • Mengganti nama CurvedRow menjadi CurvedLayout, dan mengerjakan ulang agar menjadi cakupan dengan DSL. Dengan DSL ini, tata letak melengkung yang lebih kompleks dapat ditentukan menggunakan serangkaian curvedRow dan curvedColumn bertingkat (yang merupakan tata letak melengkung yang setara dengan Baris dan Kolom). Di dalam elemen tata letak ini, tiga elemen dapat digunakan: curvedComposable (untuk menambahkan @Composable), basicCurvedText (teks melengkung dasar) dan curvedText (teks melengkung berbasis material Wear). (Ib776a)
  • Menjadikan sisi PositionIndicator dapat dikonfigurasi. Posisi PositionIndicator dasar sekarang dapat dikonfigurasi menjadi End (berbasis arah tata letak), OppositeRsb (mempertimbangkan rotasi layar, untuk memosisikan dirinya berlawanan dengan RSB fisik), atau absolut Left & Right. (I2f1f3)
  • Untuk SwipeToDismissBox, kami telah mengganti nama SwipeDismissTarget. Original menjadi SwipeToDismissValue.Default dan SwipeDismissTarget.Dismissal menjadi SwipeToDismissValue.Dismissed. Kami juga telah memindahkan SwipeToDismissBoxDefaults.BackgroundKey dan SwipeToDismissBoxDefaults.ContentKey masing-masing ke SwipeToDismissKeys.Background dan SwipeToDismissKeys.Content. (I47a36)
  • Kami telah menambahkan mode hanya baca ke Alat Pilih, untuk layar dengan beberapa Alat Pilih yang hanya memiliki satu Alat Pilih yang dapat diedit pada satu waktu. Jika bersifat hanya baca, Alat Pilih akan menampilkan opsi yang saat ini dipilih dan label jika sudah disediakan. (I879de)
  • SwipeToDismissBoxState telah difaktorkan ulang untuk membatasi cakupan ExperimentalWearMaterialApi menjadi Modifier.swipeable dan SwipeableState, yang kini digunakan secara internal. SwipeToDismissBoxState kini memiliki anggota currentValue, targetValue, isAnimationRunning, dan snapTo untuk mendukung kasus penggunaan umum. Beri tahu kami jika Anda ingin menjadikan properti lain agar tersedia. Juga memperbaiki perilaku SwipeableState jika selisih geser berada dalam error pembulatan anchor. (I58302)

Perbaikan Bug

  • Menyederhanakan dan menetapkan kode untuk mendeteksi apakah konten ScalingLazyColumn dapat di-scroll (digunakan untuk menentukan apakah kita akan menampilkan scrollbar atau tidak) (I7bce0)
  • Memperbaiki bug pada Indikator Posisi saat digunakan dengan lebih dari satu status dan beralih antar-status (I320b5)
  • Kami telah memperbarui tipografi/font tema Compose untuk Wear OS default agar sesuai dengan panduan UX terbaru kami. Dari catatan display1 (40.sp) dan display2 (34.sp) sekarang lebih kecil dari nilai sebelumnya dan berbagai pembaruan kecil lainnya untuk tinggi baris dan spasi baris telah dibuat. (Ie3077)
  • Kami telah menambahkan resistensi ke SwipeToDismissBox sehingga gerakan hanya terjadi saat menggeser untuk menutup dan tidak sama sekali jika ke arah yang berlawanan. (Ifdfb9)
  • Kami telah mengubah beberapa nilai parameter default untuk fungsi CircularProgressIndicator agar sesuai dengan panduan UX Desain Material Wear. Untuk versi Spinner/Indeterminant, ukuran (40->24 dp), indicatorColor (primary->onBackground), transparansi trackColor (30%->10%) dan lebar goresan (4->3 dp) telah diperbarui. Untuk versi Progress/Determinate, transparansi trackColor (30%->10%) telah diperbarui. (I659cc)
  • Kami telah memperbarui parameter penskalaan default ScalingLazyColumn agar sesuai dengan spesifikasi UX Desain Material Wear terbaru. Secara visual, hal ini menyebabkan item daftar mulai diskalakan lebih dekat ke pusat daftar, tetapi menjadi lebih kecil pada tepi daftar daripada sebelumnya. (Ica8f3)
  • Beberapa penyesuaian pada ScalingLazyColumnDefaults.snapFlingBehavior untuk meningkatkan akhir animasi (If3260)

Versi 1.0.0-alpha18

9 Maret 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18, dan androidx.wear.compose:compose-navigation:1.0.0-alpha18 dirilis. Versi 1.0.0-alpha18 berisi commit ini.

Perubahan API

  • Beberapa peningkatan pada PositionIndicator: ShowResult diganti namanya menjadi PositionIndicatorVisibility. Beberapa peningkatan performa untuk menghindari penghitungan ulang jika tidak diperlukan (Iaed9d)
  • Pewarnaan yang direkomendasikan untuk SplitToggleChip telah diperbarui. SplitToggleChip kini memiliki latar belakang berwarna solid saat dicentang atau dihapus centangnya dengan warna ToggleControl menjadi indikasi utama apakah komponen dicentang atau tidak. Kami telah menambahkan ToggleDefaults.splitToggleChipColors() baru untuk mendukung skema warna baru. Kami juga telah menyederhanakan metode toggleChipColors() yang menghapus splitBackgroundOverlayColor (I7e66e)
  • Kami telah menambahkan unadjustedSize ke ScalingLazyListItemInfo karena tidak aman untuk menghitung ukuran item asli menggunakan ukuran yang diskalakan dan faktor penskalaan karena presisi matematika float. (I54657, b/221079441)
  • Menambahkan HorizontalPageIndicator. Ini menunjukkan jumlah total halaman dan halaman yang dipilih. Dapat berbentuk linear atau melengkung, bergantung pada bentuk perangkat. Ini juga mendukung bentuk indikator kustom, yang menentukan cara setiap indikator ditampilkan secara visual. (Iac898)
  • Kami telah memperbarui PickerState sehingga numberOfOptions dapat diperbarui. Ini mendukung kasus penggunaan seperti DatePicker, saat jumlah hari dalam sebulan berubah bergantung pada bulan yang dipilih. Parameter konstruktor untuk PickerState telah diubah menjadi initialNumberOfOptions. (Iad066)
  • Menyembunyikan PositionIndicator saat ada scrollbar dan tidak dapat di-scroll. (Id0a7f)
  • Agar konsisten dengan Scaffold, komponen Dialog layar penuh kini menampilkan PositionIndicator dan Vignette. Kami juga sekarang menggunakan ScalingLazyColumn, bukan Column, yang berarti konten Dialog kini berada di ScalingLazyListScope (dan biasanya harus diapit oleh item { /* content */ }). Dialog mendukung parameter verticalArrangement. (Idea13)
  • Kami telah mengubah nama properti toggleIcon ToggleChip dan SplitToggleChip menjadi toggleControl agar selaras dengan Desain Material untuk membantu desainer dan developer menjelajahi API. (If5921, b/220129803)
  • Kami telah menambahkan entri caption3 baru ke Tipologi Tema Material Wear. Caption3 adalah font kecil yang digunakan untuk tulisan panjang seperti teks hukum. (I74b13, b/220128356)

Perbaikan Bug

  • Menghentikan animasi snap saat kita berada di sana. (Idb69d)
  • Menganimasikan perubahan pada PositionIndicator. (I94cb9)
  • Berdasarkan masukan UI/UX, kami telah mengubah autoCentering ScalingLazyColumn sehingga hanya akan menyediakan cukup ruang untuk memastikan item dengan indeks ScalingLazyListState.initialCenterItemIndex atau yang lebih tinggi dapat di-scroll sepenuhnya ke tengah area pandang. Hal ini memungkinkan developer untuk menempatkan satu atau dua item tentang item yang awalnya tidak berada di tengah, yang tidak dapat di-scroll ke tengah. Ini berarti bahwa ScalingLazyColumn dengan autoCenter tidak akan dapat di-scroll di atas initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • Kami telah menambahkan demo untuk Alat Pilih Tanggal dan memperbaiki bug di PickerState saat initiallySelectedOption tidak diterapkan hingga Alat Pilih ditampilkan. (Id0d7e)
  • Untuk mengurangi pemotongan item ScalingLazyColumn yang lebih lebar di layar lingkaran, kami telah meningkatkan padding konten horizontal default dari 8 menjadi 10 dp. (I0d609)
  • Memastikan PositionIndicator ditampilkan saat men-scroll. (Ied9a2)

Versi 1.0.0-alpha17

23 Februari 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17, dan androidx.wear.compose:compose-navigation:1.0.0-alpha17 dirilis. Versi 1.0.0-alpha17 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan dukungan snap yang dapat digunakan dengan ScalingLazyColumn. Setel flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) untuk mengaktifkan dukungan snap. (I068d3, b/217377069)
  • Kami telah menambahkan demo untuk Alat pilih yang digunakan untuk memilih waktu dalam 24 jam atau 12 jam. (Ie5552)

Perubahan API

  • Memperbaiki masalah terkait font & gaya kustom TimeText di perangkat persegi (Iea76e)
  • ScalingLazyListLayoutInfo sekarang memiliki properti reverseLayout, viewportSize, dan orientasi yang cocok dengan properti dari LazyListLayoutInfo (I4f258, b/217917020)
  • ScalingLazyColumn sekarang memiliki properti userScrollEnabled yang cocok dengan properti dari LazyList (I164d0, b/217912513)
  • Alat pilih sekarang memiliki gradien di bagian atas dan bawah secara default (Iab92a)

Perbaikan Bug

  • Kami telah memodifikasi ScalingLazyColumn sehingga tidak lagi mengisi semua ruang di induknya. Sebagai gantinya, ukuran akan disesuaikan dengan ukuran kontennya. Hal ini membuatnya konsisten dengan perilaku LazyColumn. Jika Anda ingin mengaktifkan kembali perilaku lama, teruskan Modifier.fillMaxWidth()/width()/widthIn() ke ScalingLazyColumn (I51bf8)
  • Kami telah meningkatkan pesan pengecualian dalam SwipeDismissableNavHost.kt yang dipicu jika data navigasi sebelumnya kosong. (I1b1dc)

Versi 1.0.0-alpha16

9 Februari 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16, dan androidx.wear.compose:compose-navigation:1.0.0-alpha16 dirilis. Versi 1.0.0-alpha16 berisi commit ini.

Fitur Baru

  • Menambahkan CircularProgressIndicator. Indikator progres menampilkan durasi proses atau waktu tunggu yang tidak ditentukan. Mendukung celah (cutout) untuk TimeText atau komponen lain jika digunakan dalam layar penuh. (Iab8da)

Perubahan API

  • Alat pilih sekarang memiliki parameter flingBehavior, dan nilai default membuat alat pilih untuk snap ke opsi terdekat saat men-scroll/mengayunkan jari. (I09000)
  • API bilangan bulat tambahan untuk InlineSlider dan Stepper (I1b5d6)

Perbaikan Bug

  • Kami telah mengubah initialCenterItemIndex default untuk ScalingLazyListState dari 0->1. Artinya, kecuali jika diganti pada konstruksi status dengan ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), item daftar kedua (indeks == 1) akan ditempatkan di tengah area pandang saat inisialisasi dan item pertama (indeks == 0 ) akan ditempatkan sebelumnya. Hal ini memungkinkan efek visual default yang lebih baik secara otomatis karena sebagian besar area pandang akan diisi dengan item daftar. (I0c623, b/217344252)
  • Kami telah mengurangi extraPadding default ScalingLazyColumn yang disediakan untuk memastikan bahwa ada banyak item daftar yang dapat digambar (bahkan saat kami menurunkan ukuran sebagian item daftar tersebut) dari 10% menjadi 5%. Tindakan ini akan menghindari komposisi item daftar tambahan yang mungkin tidak muncul di area pandang. Jika scalingParams non-standar digunakan (misalnya, penskalaan yang lebih ekstrem), developer dapat menyesuaikan padding tambahan menggunakan viewportVerticalOffsetResolver. (I76be4)
  • Memperbaiki masalah TimeText di beberapa baris pada perangkat persegi (Ibd3fb)
  • Kami telah memodifikasi ScalingLazyColumn sehingga tidak lagi mengisi semua ruang di induknya. Sebagai gantinya, ukuran akan disesuaikan dengan ukuran kontennya. Hal ini membuatnya konsisten dengan perilaku LazyColumn. Jika Anda ingin mengaktifkan kembali perilaku lama, teruskan Modifier.fillMaxSize() ke ScalingLazyColumn - CATATAN: Perubahan ini tidak lengkap dan akan ditangani dalam perubahan lanjutan pada rilis Alfa berikutnya. (I3cbfa)

Versi 1.0.0-alpha15

26 Januari 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15, dan androidx.wear.compose:compose-navigation:1.0.0-alpha15 dirilis. Versi 1.0.0-alpha15 berisi commit ini.

Perubahan API

  • Kami telah menambahkan properti baru autoCentering ke ScalingLazyColumn. Jika disetel ke benar (default), ini akan memastikan bahwa semua item termasuk yang pertama dan terakhir dapat di-scroll sehingga terlihat di tengah area pandang daftar. Perhatikan bahwa jika menggunakan pemusatan otomatis, Anda mungkin ingin menyetel padding konten vertikal ke 0.dp. Jika autoCentering dan padding konten vertikal disediakan, keduanya akan menghasilkan ruang tambahan yang tersedia sebelum item daftar pertama dan setelah item daftar terakhir, yang memungkinkan item daftar di-scroll lebih lanjut. (I2a282, b/214922490)
  • Kami telah menambahkan komponen Dialog yang memungkinkan semua composable memicu dialog layar penuh yang berada di atas konten lainnya. Jika ditampilkan, dialog akan mendukung gestur geser-untuk-menutup dan akan menampilkan konten induknya di latar belakang selama gestur geser. Konten dialog diharapkan berupa Alert atau Confirmation (diganti namanya dari komponen AlertDialog dan ConfirmationDialog sebelumnya) - Alert, Confirmation, dan Dialog, semuanya ada di paket androidx.wear.compose.material.dialog. Notifikasi dan Konfirmasi dapat digunakan sebagai tujuan navigasi. Selain itu, ColumnScope bisa ditambahkan ke parameter Notifikasi dan Konfirmasi jika perlu. (Ia9014)
  • Kami telah menghapus onSurfaceVariant2 dari Warna Tema Material Compose for WearOS dan mengganti penggunaan di library dengan onSurfaceVariant. (Icd592)
  • Menambahkan metode untuk memilih opsi secara terprogram di PickerState, opsi yang awalnya dipilih kini juga dapat ditentukan saat membuat PickerState. (I92bdf)
  • Kami telah menambahkan dukungan untuk menyesuaikan perilaku fling ScalingLazyColumn. (I1ad2e, b/208842968)
  • Kami telah menambahkan NavController.currentBackStackEntryAsState() ke library Wear.Compose.Navigation. (If9028, b/212739653)
  • Menambahkan Modifier.onRotaryScrollEvent() dan Modifier.onPreRotaryScrollEvent() untuk perangkat Wear dengan tombol samping yang berputar.(I18bf5, b/210748686)

Versi 1.0.0-alpha14

12 Januari 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14, dan androidx.wear.compose:compose-navigation:1.0.0-alpha14 dirilis. Versi 1.0.0-alpha14 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan sejumlah metode ke ScalingLazyListState untuk memungkinkan developer mengontrol scroll ke item daftar tertentu dan juga menyetel offset dan item daftar awal.

    Sebagai bagian dari perubahan ini, kami juga telah mengubah ScalingLazyList agar berorientasi pada bagian tengah area pandang ScalingLazyList, bukan awal area pandang.

    Properti baru anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter telah ditambahkan ke ScalingLazyList untuk mengontrol apakah bagian tengah (ScalingLazyListAnchorType.ItemCenter) atau Edge (ScalingLazyListAnchorType.ItemStart) harus sejajar dengan garis tengah area pandang.

    Akibatnya, ScalingLazyListItemInfo.offset dan ScalingLazyListItemInfo.adjustedOffset telah berubah dan sekarang akan mencerminkan offset item tersebut sehubungan dengan posisi item daftar dan anchorType daftar. Misalnya, untuk ScalingLazyColumn dengan anchorType dari ItemCenter dan item daftar yang diposisikan dengan tengahnya di garis tengah area pandang, offsetnya adalah 0.

    Metode baru tersebut adalah scrollTo, animatedScrollTo, centerItemIndex, dan centerItemOffset. (I61b61)

  • Kami telah menambahkan pengendali tombol kembali ke SwipeDismissableNavHost, sehingga menekan tombol kembali akan membuka tingkat sebelumnya di hierarki navigasi. (I5b086, b/210205624)

Versi 1.0.0-alpha13

15 Desember 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13, dan androidx.wear.compose:compose-navigation:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha13 berisi commit ini.

Perubahan API

  • Kami telah membuat RangeIcons internal (direferensikan secara internal oleh InlineSlider dan Stepper). (I927ec)

Perbaikan Bug

  • Memperbaiki masalah yang menyebabkan SwipeDismissableNavHost menambahkan tujuan ke hierarki Compose sebelum mencapai status Siklus Proses CREATED, sehingga menghasilkan IllegalStateException. Perbaikan ini merupakan prasyarat untuk mengupdate dependensi pada navigation-compose ke 2.4.0-beta02 dan seterusnya. (I40a2b, b/207328687)

  • Menambahkan class enum Drawable untuk mendapatkan resource drawable dalam library Wear Compose sehingga refleksi tersebut tidak diperlukan lagi. Hal ini memperbaiki bug saat drawable library dihapus saat minifyEnabled=true atau shrinkResources=true). (Ib2a98)

  • Menambahkan pengujian untuk Stepper di Wear Compose (I2d03a)

  • Menambahkan sampel untuk SwipeDismissableNavHost di Navigasi Wear Compose. (I85f06)

Versi 1.0.0-alpha12

1 Desember 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12, dan androidx.wear.compose:compose-navigation:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan komponen Stepper yang memungkinkan pengguna membuat pilihan dari rentang nilai. Stepper adalah kontrol layar penuh dengan tombol naikkan dan turunkan di bagian atas dan bawah, serta slot di tengah (diharapkan menggunakan Chip atau Teks). Ikon tombol dapat disesuaikan jika perlu. (I625fe)

  • Kami telah menambahkan 2 composable baru untuk menampilkan dialog: AlertDialog menunggu respons dari pengguna dan menampilkan judul, ikon, pesan, dan a) dua tombol untuk pilihan positif/negatif sederhana atau b) chip yang ditumpuk secara vertikal atau mengalihkan chip untuk pilihan yang lebih fleksibel, ConfirmationDialog menampilkan konfirmasi dengan waktu tunggu. Dialog sederhana ini memiliki slot untuk judul dan ikon (animasi). (Ic2cf8)

Perubahan API

  • Tambahkan unit (milidetik) ke nilai durasi dialog yang disarankan. (I09b48)

Versi 1.0.0-alpha11

17 November 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11, dan androidx.wear.compose:compose-navigation:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Fitur Baru

  • Kami telah menambahkan komponen alat pilih yang memungkinkan pengguna memilih item dari daftar scroll. Secara default, daftar item yang dapat dipilih diulang 'tak terbatas' di kedua arah, untuk memberikan kesan silinder berputar yang terlihat dari samping. Dua fitur akan ditambahkan dalam rilis berikutnya: snap ke nilai setelah geser/ayun jari; menambahkan fungsi ke PickerState untuk menyetel/men-scroll ke nilai saat ini. (I6461b)

Perubahan API

  • Menambahkan ScalingLazyItemScope dan beberapa pengubah baru fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight agar ukuran item daftar dapat disesuaikan berdasarkan ukuran penampung induk. Item dapat disetel untuk mengisi semua atau sebagian kecil ukuran induk. Fungsi mengekspos ini sudah tersedia di LazyRow/Column (I4612f)
  • Menambahkan dukungan untuk ScalingLazyColumn agar item dapat memiliki kunci. Juga menambahkan metode praktis untuk memungkinkan penambahan item dari Array dan List. (Ic1f89)

Perbaikan Bug

  • Contoh tambahan untuk TimeText (I8cb64)

Versi 1.0.0-alpha10

3 November 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10, dan androidx.wear.compose:compose-navigation:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit berikut ini.

Fitur Baru

  • Menambahkan InlineSlider untuk wear compose. InlineSlider memungkinkan pengguna membuat pilihan dari rentang nilai. Rentang pilihan ditampilkan sebagai panel antara nilai rentang minimum dan maksimum, yang memungkinkan pengguna memilih satu nilai. (If0148)

  • Lihat Compose baru untuk Codelab WearOS.

Perubahan API

  • Macrobenchmark kini memiliki minSdkVersion 23. (If2655)

Perbaikan Bug

  • Memperbarui penanganan transisi di SwipeDismissableNavHost in a SideEffect (I04994, b/202863359)
  • Memperbarui penanganan transisi di SwipeDismissableNavHost (I1cbe0, b/202863359)

Versi 1.0.0-alpha09

27 Oktober 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09, dan androidx.wear.compose:compose-navigation:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.

Fitur Baru

  • Kami telah meluncurkan Pratinjau Developer Compose di Wear OS - lihat postingan blog kami yang meninjau composable utama dan link ke referensi lebih lanjut untuk mulai menggunakannya.

Perubahan API

  • Kami telah menambahkan dukungan bagi developer agar dapat menyesuaikan semua warna pada tema Warna Desain Material Wear. (I4759b, b/199754668)

Perbaikan Bug

  • Menambahkan contoh SwipeToDismissBox yang mempertahankan status (Ibaffe)
  • Menambahkan link ke panduan developer.android.com dari KDocs untuk CurvedText, TimeText, dan SwipeToDismissBox. (I399d4)
  • SwipeDismissableNavHost kini menampilkan jika tidak ada tujuan saat ini (menunjukkan bahwa NavGraph tidak di-build dengan fungsi utilitas wear.compose.navigation.composable) (I91403)
  • Menambahkan dokumentasi dan contoh tambahan untuk penggunaan sumber waktu di TimeText (I4f6f0)

Versi 1.0.0-alpha08

13 Oktober 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08, dan androidx.wear.compose:compose-navigation:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit berikut ini.

Perubahan API

  • Kami telah mengganti nama properti body AppCard dan TitleCard menjadi content dan memindahkannya ke akhir daftar properti untuk memungkinkan properti disediakan sebagai lambda akhir. Kami juga mengganti nama bodyColor menjadi contentColor agar konsisten dengan nama slot yang baru. (I57e78)

Perbaikan Bug

  • Menambahkan link ke panduan developer.android.com dari KDocs untuk komponen tombol, kartu, chip, tema, indikator posisi, dan kolom lambat penskalaan. (I22428)
  • Memperbaiki SwipeToDismissBox WearOS yang terkadang tidak menangani gestur geser. (I9387e)
  • Menambahkan sampel untuk Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
  • Menambahkan pengujian performa microbenchmark untuk Card, Chip, ToggleChip, TimeText, dan ScalingLazyColumn. (If2fe9)

Versi 1.0.0-alpha07

29 September 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07, dan androidx.wear.compose:compose-navigation:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit berikut ini.

Fitur Baru

  • Menambahkan komponen CurvedText dalam material, komponen yang memungkinkan developer menulis teks melengkung dengan mudah mengikuti kelengkungan lingkaran (biasanya di tepi layar melingkar). (I19593)

Perubahan API

  • Menambahkan pengujian untuk TimeText (Idfead)
  • Mengubah ArcPaddingValues menjadi antarmuka. (Iecd4c)
  • Menambahkan animasi ke SwipeToDismissBox (I9ad1b)
  • Menambahkan parameter hasBackground ke SwipeToDismissBox API sehingga gestur geser dapat dinonaktifkan saat tidak ada konten latar belakang yang ditampilkan. (I313d8)
  • rememberNavController() sekarang menggunakan kumpulan Navigator instance opsional yang akan ditambahkan ke NavController yang dikembalikan untuk mendukung Navigator opsional lebih baik seperti dari Accompanist Navigation Material. (I4619e)
  • Mereferensikan NamedNavArgument dari navigation-common dan menghapus salinan dari wear.compose.navigation. (I43af6)

Perbaikan Bug

  • Memperbaiki kegagalan pengujian CurvedRow di perangkat yang lebih kecil. (If7941)
  • Memperbaiki kemungkinan berkedip pada CurvedRow saat konten diperbarui, dan memastikan baris melengkung diukur ulang (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors() telah diupdate sesuai perubahan Spesifikasi UX. Gradien sekarang dimulai dengan MaterialTheme.colors.primary dengan alfa 32,5% dan diakhiri dengan MaterialTheme.colors.surface dengan alfa @ 0% di atas latar belakang MaterialTheme.colors.surface @ 75% alfa. (Id1548)
  • Kami telah memperbarui warna ToggleChips saat dalam status yang dipilih agar cocok dengan panduan Spesifikasi UX Desain Material Wear terbaru. Jika ToggleChips terpilih sekarang memiliki latar belakang gradasi dari MaterialTheme.color.surface @ 0% alfa, kiri atas, ke MaterialTheme.color.primary @ 32% alfa, kanan bawah, dengan latar belakang MaterialTheme.color.surface @ 75% alfa. Hasilnya, perbedaan menjadi lebih samar antara yang dicentang dan tidak dicentang untuk ToggleChip. (Idd40b)

Versi 1.0.0-alpha06

15 September 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06, dan androidx.wear.compose:compose-navigation:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit berikut ini.

Fitur Baru

  • Kami telah menambahkan composable aplikasi tingkat atas ke Scaffold yang memberikan struktur untuk menangani posisi PositionIndicators (seperti Scroll atau Volume), area di bagian atas layar untuk menampilkan waktu dan status aplikasi, serta mendukung Vignette untuk memburamkan tepi atas dan bawah layar untuk konten yang dapat di-scroll. Area utama Scaffold adalah tempat konten aplikasi berada. (I5e0bf)
  • Menambahkan implementasi TimeText untuk Wear Compose (I5654c)

Library Navigasi Wear Compose

  • Kami telah menambahkan rilis pertama library Navigasi Wear Compose, yang menyediakan integrasi antara library Navigasi Wear Compose dan Androidx. Ini memberikan cara sederhana untuk menavigasi di antara fungsi @Composable sebagai tujuan di aplikasi Anda.

  • Rilis awal ini menyediakan:

    • Composable SwipeDismissableNavHost yang menghosting grafik navigasi dan memberikan navigasi mundur melalui gestur geser
    • Ekstensi NavGraphBuilder.composable untuk membantu pembuatan grafik navigasi
    • rememberSwipeDismissableNavController() untuk memungkinkan pengangkatan status
  • Contoh penggunaan saat kami membuat dua layar dan menavigasi di antara layar tersebut:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Navigasi Wear Compose dikemas sebagai library terpisah sehingga aplikasi WearCompose sederhana yang mengimplementasikan navigasi yang diluncurkan secara langsung dan mandiri tidak perlu bergantung pada library Navigasi Androidx.

Perubahan API

  • Memperbarui SwipeDismissableNavHost untuk mendukung rememberSaveable dengan menetapkan identitas kunci untuk latar belakang dan konten (I746fd)
  • Kami telah menambahkan adaptor PositionIndicator yang dapat menangani LazyListState (I21b88)
  • Memperbarui SwipeToDismissBox untuk mendukung rememberSaveable (Ie728b)
  • Kami telah menambahkan dukungan reverseLayout ke ScalingLazyColumn. Tindakan ini memungkinkan pembatalan arah scroll dan tata letak (I9e2fc)
  • performGesture dan GestureScope tidak digunakan lagi, telah diganti dengan performTouchInput dan TouchInjectionScope. (Ia5f3f, b/190493367)
  • Kami telah mengganti nama VignetteValue menjadi VignettePosition dan mengganti nama VignetteValue.Both menjadi VignettePosition.TopAndBottom. (I57ad7)
  • Kami telah mengganti nama ScalingLazyColumnState menjadi ScalingLazyListState, ScalingLazyColumnItemInfo menjadi ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo menjadi ScalingLazyListLayoutInfo, dan ScalingLazyColumnScope menjadi ScalingLazyListScope jika nantinya kami memutuskan untuk menambahkan implementasi ScalingLazyRow. (I22734)

Perbaikan Bug

  • Memperbarui dokumentasi CompactChip untuk mendeskripsikan hal yang terjadi jika ikon atau label tidak disediakan. (I4ba88)
  • Kami telah melakukan beberapa penyesuaian pada komponen kartu Wear. (I6b3d0)
    1. Spasi TitleCard di antara Judul dan Isi dikurangi dari 8.dp menjadi 2.dp.
    2. Font header TitleCard diubah dari body menjadi title3.
    3. Gradien latar belakang kartu diubah agar latar belakang tampak lebih gelap.

Versi 1.0.0-alpha05

1 September 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 dan androidx.wear.compose:compose-material:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Perubahan API

  • Menandai ArcPaddingValues sebagai @Stable (I57deb)
  • ScalingLazyColumnState sekarang mengimplementasikan antarmuka ScrollableState yang memberikan akses terprogram kepada developer untuk men-scroll komponen. (I47dbc)

Perbaikan Bug

  • Kami telah mengurangi spasi antara Ikon dan Teks di Chip dan ToggleChip agar selaras dengan update pada Spesifikasi UX. (I83802)

Versi 1.0.0-alpha04

18 Agustus 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 dan androidx.wear.compose:compose-material:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit berikut ini.

Fitur Baru

  • Menambahkan SwipeToDismissBox dan pengubah yang dapat digeser yang dapat digunakan untuk mendukung gestur geser dari kiri ke kanan untuk menutup. Meskipun komponen navigasi terpisah, hal ini diharapkan akan digunakan untuk keluar dari satu layar dan membuka layar lainnya. Menambahkan pengujian integrasi ke demo geser-untuk-menutup. (I7bbaa)
  • Kami telah menambahkan antarmuka ScalingLazyColumnItemInfo dan ScalingLazyColumnLayoutInfo ke class ScalingLazyColumnState agar developer dapat mengetahui posisi dan ukuran item yang sebenarnya di ScalingLazyColumn setelah penskalaan diterapkan. Kami juga telah memperbaiki bug dengan cara penskalaan dihitung saat padding konten 'top' diterapkan pada ScalingLazyColumn. (I27c07)

Perubahan API

  • Menambahkan class CurvedTextStyle untuk menentukan Opsi gaya teks melengkung. Mirip dengan TextStyle, tetapi sekarang hanya mendukung warna, fontSize, dan latar belakang. Opsi gaya lainnya akan ditambahkan di masa mendatang. (I96ac3)
  • Kami telah menambahkan antarmuka ScalingLazyColumnItemInfo dan ScalingLazyColumnLayoutInfo ke class ScalingLazyColumnState agar developer dapat mengetahui posisi dan ukuran item yang sebenarnya di ScalingLazyColumn setelah penskalaan diterapkan. Kami juga telah memperbaiki bug dengan cara penskalaan dihitung saat padding konten 'top' diterapkan pada ScalingLazyColumn. (I27c07)
  • Menambahkan @ExperimentalWearMaterialApi ke enum SwipeDismissTarget, bagian dari SwipeToDismissBox API. (I48b5e)

Perbaikan Bug

  • Menambahkan materi pengujian untuk SwipeToDismissBox (I9febc)

Versi 1.0.0-alpha03

4 Agustus 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha03 dan androidx.wear.compose:compose-material:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit berikut ini.

Perubahan API

  • Menambahkan komponen CurvedText, yang memungkinkan developer mudah menulis teks mengikuti lengkungan lingkaran (biasanya di tepi layar melingkar) (Id1267)
  • Kami telah mengganti nama CardDefaults.imageBackgroundPainter() menjadi CardDefaults.imageWithScrimBackgroundPainter() untuk memperjelas bahwa gambar latar digambar scrim di atasnya. (I53206)
  • Menambahkan komponen ScalingLazyColumn yang menyediakan komponen daftar untuk Wear Material yang memberikan tampilan mata ikan dengan ukuran konten daftar yang diperkecil dan menjadi transparan saat diskalakan ke tepi komponen. (I7070c)

Perbaikan Bug

  • Kami mengubah warna default konten appName di AppCard sebagai respons terhadap update Spesifikasi UX. Warna default untuk appName sekarang adalah MaterialTheme.colors.onSurfaceVariant. Selain itu, menambahkan deskripsi dokumen parameter yang tidak ada untuk slot judul. (Ic4ad1)

Versi 1.0.0-alpha02

21 Juli 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha02 dan androidx.wear.compose:compose-material:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Fitur Baru

  • Menambahkan class CurvedRow baru untuk menata composable pada arc (I29941)
  • Menambahkan jenis kartu baru untuk penggunaan dalam aplikasi (TitleCard), serta menambahkan dukungan agar gambar menjadi latar belakang Kartu untuk menekankan kontennya (I53b0f)

Perubahan API

  • Menambahkan dukungan untuk perataan radial ke CurvedRow (mirip dengan perataan vertikal dalam satu baris) (Id9de5)
  • Menambahkan class baru CurvedRow untuk menata composable pada arc (I29941)
  • Menambahkan jenis kartu baru untuk penggunaan dalam aplikasi (TitleCard), serta menambahkan dukungan agar gambar menjadi latar belakang Kartu untuk menekankan kontennya (I53b0f)
  • Menambahkan ikon beralih (kotak centang, tombol akses, dan tombol pilihan) ke ToggleChipDefaults untuk memudahkan developer mengonfigurasi ToggleChip dan SplitToggleChips (I7b639)
  • Padding konten awal dan akhir untuk Chip telah diperbarui sehingga konsisten 14.dp, terlepas dari apakah Chip memiliki ikon atau tidak (sebelumnya 12.dp jika ada ikon dan 14.dp jika tidak) (I34c86)

Perbaikan Bug

  • Menambahkan pengujian untuk CurvedRow (I93cdb)
  • Mengikat dependensi Wear Compose ke Compose 1.0.0-rc01. (Ie6bc9)
  • Mengubah penanganan lukisan gambar latar di Kartu dan Chip sehingga gambar dipangkas, bukan diregangkan untuk mempertahankan proporsi gambar. (I29b41)
  • Menambahkan lebih banyak demo dan pengujian integrasi untuk Button dan ToggleButton. (5e27ed2)
  • Menambahkan lebih banyak pengujian Chip untuk mencakup warna konten untuk imageBackgroundChips (Ia9183)

Versi 1.0.0-alpha01

1 Juli 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha01 dan androidx.wear.compose:compose-material:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.

Fitur Baru

Wear Compose adalah library berbasis Kotlin Compose yang mendukung desain Wear Material, ekstensi Desain Material untuk perangkat wearable Wear OS. Rilis alfa pertama ini berisi implementasi awal dan fungsional dari hal berikut:

  • Tema material - mengonfigurasi warna, tipografi, dan bentuk secara konsisten di seluruh komponen yang digunakan dari library ini.
  • Chip, CompactChip - chip berbentuk stadion dan tersedia variasi untuk mengambil ikon, label, dan konten label sekunder.
  • - ToggleChip, SplitToggleChip - jenis chip khusus yang menyertakan slot untuk ikon beralih dua status seperti tombol pilihan atau kotak centang. Selain itu, SplitToggleChip memiliki dua area yang dapat diketuk, yang satu dapat diklik dan yang satunya dapat dialihkan.
  • Tombol, CompactButton - tombol berbentuk lingkaran, dengan slot konten tunggal untuk ikon atau teks minimal (maksimum 3 karakter).
  • ToggleButton - tombol yang mengaktifkan atau menonaktifkan tindakan, dengan slot tunggal untuk ikon atau teks minimal (maksimum 3 karakter).
  • Kartu, AppCard - berbentuk persegi panjang dengan sudut membulat, menawarkan slot untuk konten seperti waktu, judul, isi dan ikon aplikasi.

Rilis di masa mendatang akan memperluas dukungan penambahan serangkaian Widget untuk alat pilih, penggeser, daftar, indikator halaman, dialog, indikator scroll rsb, toast, dan lainnya untuk Desain Material Wear.

Selain itu, dukungan akan disediakan untuk fitur Khusus Wearable lainnya seperti tata letak dan teks melengkung, serta petunjuk untuk memudahkan developer membuat aplikasi/overlay Wearable.

Wear Compose Material dirancang dengan prinsip yang sama seperti Compose Material, meskipun ditargetkan di perangkat wearable. Library Wear Compose Material harus digunakan sebagai pengganti library Compose Material saat membuat perangkat Wearable.

Kedua library “Material” harus dianggap sama-sama eksklusif dan tidak boleh dicampur dalam aplikasi yang sama. Jika developer menyertakan library Compose Material dalam dependensinya, hal ini akan menandakan bahwa a) ada komponen yang hilang dari library Wear Compose Material, harap beri tahu kami apa yang Anda butuhkan, atau b) ada penggunaan komponen yang tidak kami rekomendasikan untuk Perangkat Wearable.