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
17 April 2024 1.3.1 - - 1.4.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.3.1"

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

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.1")
    
    // 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.3.1")

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

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

    // 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-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 mengakibatkan 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 Ripple yang menekan dan memfokuskan alfa status untuk kontras. (I59f0a)
  • Kami telah menambahkan spasi antara label utama dan sekunder di Button, ToggleButton, dan RadioButton, setelah 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 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 dalam 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 isian, tonal, dan warna garis batas yang sama dengan Button.(I05df0)

Perubahan API

  • Kami telah menambahkan RadioButton/SplitRadioButton sebagai penampung untuk kontrol pemilihan, seperti Kontrol radio. Ini berbeda dengan ToggleButton yang ada karena RadioButton dapat dipilih (dan beroperasi dalam grup pemilihan), sedangkan ToggleButton dapat diganti statusnya (dan independen). (I61275)
  • Kami menghapus LocalContentAlpha dari library Wear Compose Material3 agar konsisten dengan library Compose Material3. (I49a0a)
  • Komponen material Wear dan material3 Wear yang mengekspos MutableInteractionSource dalam API-nya telah diupdate untuk kini mengekspos MutableInteractionSource nullable yang secara default menampilkan null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan kode akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen untuk tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain untuk hanya membuat instance secara lambat saat diperlukan, sehingga meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya Anda meneruskan null sebagai gantinya. Sebaiknya Anda juga membuat perubahan yang serupa pada 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 sementara, LocalUseFallbackRippleImplementation, untuk mengembalikan komponen Material agar menggunakan rememberRipple/RippleTheme API yang tidak digunakan lagi. Fitur ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara jika Anda memberikan RippleTheme kustom. Lihat developer.android.com untuk mengetahui informasi migrasi dan informasi latar belakang selengkapnya di balik perubahan ini. (af92b21)
  • Kami telah melakukan sedikit peningkatan pada HorizontalPageIndicator API dan dokumentasinya. (I60efc)
  • Kami telah memperbarui ColorScheme agar tidak dapat diubah, sehingga pembaruan warna individual 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 memungkinkan, tetapi akan merekomposisi lebih banyak daripada sebelumnya, yang pada gilirannya kami mengurangi jumlah langganan status secara signifikan melalui semua kode material dan akan memengaruhi inisialisasi dan biaya runtime pada kasus penggunaan yang lebih standar. (Ibc2d6)
  • Mengupdate ToggleButton API dan SplitToggleButton API untuk memungkinkan penyesuaian warna yang dinonaktifkan. Selain itu, token Desain Material sekarang digunakan untuk nilai warna dan tipografi. (If087c)
  • Memperbarui warna latar belakang gambar Tombol untuk menggunakan token Desain Material. (Iba215)
  • Kami telah mengubah komponen Checkbox, Switch, dan RadioButton menjadi hanya display, dengan menghapus penanganan klik. Komponen ini diharapkan akan digunakan di (Split)ToggleButton yang menangani klik, sehingga komponen kini ditunjukkan dengan lebih jelas sebagai khusus display (dan tidak ditujukan 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 tingkat Dasar SwipeToDismissBox menjadi BasicSwipeToDismissBox. Hal ini memperjelas perbedaan antara komponen tingkat Dasar dan SwipeToDismissBox tingkat Material3. Fungsi kedua menarik warna dari MaterialTheme untuk digunakan dalam scrim dan mendelegasikan implementasi yang tersisa ke BasicSwipeToDismissBox. (Ibecfc)

Perbaikan Bug

  • Kami telah menghapus lapisan material-core untuk Material3 Button 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 tersebut akan mengikuti bentuk layar perangkat (linier atau bulat). (I83728)
  • Kita 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 memublikasikan konstruktor CheckboxColors, RadioButtonColors, SwitchColors. (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

  • Menambahkan HorizontalPageIndicator di library Wear Material3. Ifee99

Perubahan API

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

Perbaikan Bug

  • Kami telah memperbarui panduan 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 demo AppCard dengan Latar Belakang (Id735f)
  • Memperbaiki bug pada tombol bulat yang 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 centang 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 beralih melingkar dengan slot tunggal untuk ikon dan teks. Untuk berbagai ukuran ToggleButton, sebaiknya gunakan Modifier.touchTargetAwareSize dengan ukuran yang disediakan di masing-masing tombol. (I9f015)
  • Kami 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. 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 cocok untuk menyesuaikan setelan seperti volume atau kecerahan. (I7085f)

Perubahan API

  • Kami telah memperbarui Bentuk di tema Material 3 Wear untuk menggunakan berbasis RoundedCornerShape, bukan Bentuk. Idb133
  • Kami telah membuat konstanta tinggi untuk Button menjadi publik (Idbfde)
  • Mengupdate file API untuk menganotasi penghentian 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

  • Sekarang tombol akan menyesuaikan tingginya untuk mengakomodasi konten yang telah bertambah karena ukuran font yang besar untuk aksesibilitas, jika diperlukan (Iaf302)
  • Kami telah memperbarui sejumlah demo Tombol untuk mengatasi masalah aksesibilitas. (I61ce9)
  • Stepper dan InlineSlider kini mendukung klik berulang dengan menekan lama sehingga Anda dapat dengan cepat menambah/mengurangi 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 ketika semantik rentang diperlukan. (IC39fd)
  • Kami telah menambahkan curvedText ke library Compose untuk Wear OS Material 3. (Ia8ae3)

Perbaikan Bug

  • Kita memiliki update 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 agar menggunakan fungsi ekstensi toDisabledColor untuk nilai alfa yang dinonaktifkan dengan 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, dengan garis batas TextButton, tetapkan batas ke ButtonDefaults.outlinedButtonBorder; untuk jalan tengah antara garis batas dan isian, gunakan filledTonalTextButtonColors. (I667e4)
  • Kami telah menambahkan Card, OutlinedCard, AppCard, dan TitleCard ke library Wear Compose Material3. AppCard dan TitleCard juga dapat diberi tampilan yang diuraikan menggunakan CardDefaults.outlinedCardColors dan CardDefaults.outlinedCardBorder(I80e72)

Perubahan API

  • Kami telah memindahkan parameter label Button 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

  • Kami 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 disarankan 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 elips dan sebelumnya bernama Chip di library Wear Compose Material (telah diganti namanya menjadi Button agar konsisten dengan library Compose Material 3). Tombol default memiliki latar belakang yang terisi dan terdapat variasi tombol untuk FilledTonal (latar belakang yang dibisukan), Outlined (transparan dengan batas tipis), dan Turunan (latar belakang transparan dan tanpa batas, digunakan untuk tindakan tambahan dengan tingkat keterlihatan terendah). Tombol bulat untuk ikon sederhana dan konten teks akan menyusul di 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 default PlatformTextStyle.includeFontPadding ke benar (true) (setelan saat ini). Tindakan 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 dan komponen yang didesain ulang. Material 3 di Wear Compose dirancang agar menyatu dengan library Compose Material 3 di Android. Rilis alfa pertama ini berisi implementasi awal dan fungsional dari hal berikut:

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

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

Versi 1.4

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 putar dengan penampung yang dapat di-scroll, yang memungkinkan pengguna men-scroll melalui mahkota atau bingkai yang berputar di perangkat Wear OS. Selain itu, ScalingLazyColumn dan Picker sekarang mendukung input dari alat rotasi secara default, dengan overload baru yang menyertakan parameter rotaryBehavior untuk menentukan konfigurasi scroll atau snap. Jika parameter rotaryBehavior disetel untuk snap, sebaiknya juga sediakan snap melalui parameter flingBehavior, untuk scroll sentuh. (I2ef6f)
  • Sumber NestedScroll, Tarik dan Fling digantikan dengan UserInput dan SideEffect untuk mengakomodasi definisi yang diperluas dari sumber ini, yang sekarang menyertakan animasi (Efek Samping) serta Roda Mouse dan 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 dari alat rotasi, sebagai bagian dari upaya yang lebih besar untuk memigrasikan perilaku dari alat rotasi ke AndroidX dari Horologist. (I617d1)
  • Kami telah menambahkan draf internal dukungan haptic, sebagai bagian dari upaya yang lebih besar untuk memigrasikan perilaku Putar 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 menjadikan properti initialCenterItemIndex dan initialCenterItemScrollOffset dari ScalingLazyListState bersifat publik. (I0c616)
  • Kami telah menjadikan FullScreenStrokeWidth dari ProgressIndicatorDefaults bersifat 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 diganti statusnya 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 invalidasi pengubah lebih banyak dari yang diperlukan, sehingga penggunaannya sekarang tidak disarankan. Developer dianjurkan untuk menerapkan metode inspectableProperties() pada 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 dalam fitur geser untuk mengungkapkan, yang memungkinkan untuk berinteraksi dengan (dan membatalkan) 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 yang 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 sekarang ditampilkan secara default saat layar pertama kali ditampilkan. Perubahan ini diperkenalkan untuk membantu memenuhi pedoman Kualitas Wear. Sayangnya, ini berarti pengujian screenshot perlu diperbarui di layar yang menyertakan PositionIndicator, karena PositionIndicator sebelumnya tidak pernah ditampilkan. (419cef7)

Perubahan API

  • Kami telah menambahkan API ripple baru di library wear:compose-material dan wear:compose-material3 yang menggantikan rememberRipple yang tidak digunakan lagi. Juga menambahkan CompositionLocal sementara, LocalUseFallbackRippleImplementation, untuk mengembalikan komponen Material agar menggunakan rememberRipple/RippleTheme API yang tidak digunakan lagi. Fitur ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara jika Anda memberikan RippleTheme kustom. Lihat developer.android.com untuk mengetahui informasi migrasi dan informasi latar belakang selengkapnya di balik perubahan ini. (af92b21)
  • Kami telah memperbarui ColorScheme agar tidak dapat diubah, sehingga pembaruan warna individual 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 memungkinkan, tetapi akan merekomposisi lebih banyak daripada sebelumnya, yang pada gilirannya kami mengurangi jumlah langganan status secara signifikan melalui semua kode material dan akan memengaruhi inisialisasi dan biaya runtime pada kasus penggunaan yang lebih standar. (f5c48b7)
  • Material Wear dan komponen material3 Wear yang mengekspos MutableInteractionSource dalam API-nya telah diupdate untuk kini mengekspos MutableInteractionSource nullable yang secara default menampilkan null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan kode akan dibuat di dalam komponen jika diperlukan. Mengubah ke null memungkinkan beberapa komponen untuk tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain untuk hanya membuat instance secara lambat saat diperlukan, sehingga meningkatkan performa di seluruh komponen ini. Jika Anda tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, sebaiknya Anda meneruskan null sebagai gantinya. Sebaiknya Anda juga membuat perubahan yang serupa pada komponen Anda sendiri. (f8fa920)
  • Kami telah memperbarui rememberExpandableState untuk menyimpan status yang dapat diperluas. Hal ini memastikan bahwa data disimpan saat menavigasi ke layar lain dan dipulihkan saat kembali ke layar awal. (5c80095)

Perbaikan Bug

  • Kami telah memperbarui setelan ReduceMotion untuk menggunakan pemroses yang mendukung siklus proses. (7c6b122)
  • Kami telah memperbarui Pemroses TouchExplorationStateProvider agar memahami siklus proses (be28b01)
  • Kami telah menghapus lapisan materialcore untuk CompactButton guna meningkatkan performa (25db8e9)
  • Kami telah membuat BasicSwipeToDismissBox lebih andal pada 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 dalam fitur geser untuk mengungkapkan, yang memungkinkan interaksi dengan (dan membatalkan) 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 setiap bagian dari paket androidx.wear.compose.foundation, bukan paket androidx.wear.compose.material. Arsitektur yang diperbarui ini memungkinkan Anda mengimplementasikan 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 lebih mendukung penskalaan font yang dipilih pengguna. Hal ini dapat menyebabkan terjadinya penyesuaian nilai. Untuk memperbaiki masalah ini, bentuk large untuk MaterialTheme sekarang 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 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 melihat rangkaian perubahan yang lebih lengkap yang diperkenalkan di versi 1.3.0, lihat catatan rilis beta01.

Rekomendasi untuk penerapan

  • Jika aplikasi Anda mengizinkan pengguna menggeser konten layar, seperti di aplikasi berbasis peta, nonaktifkan penanganan geser dengan menyetel userSwipeEnabled ke false dalam composable SwipeDismissableNavHost, dan sertakan tombol yang memungkinkan pengguna membuka layar sebelumnya.
  • Guna menonaktifkan animasi untuk indikator posisi selama animasi fade-in 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 diperluas sesuai permintaan, pertimbangkan untuk menggunakan 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 bulat 26 dp dan bentuk ini sekarang akan digunakan oleh Chip dan ToggleChip. Perubahan ini diperlukan untuk mendukung penyesuaian tinggi bila konten memerlukan tinggi ekstra untuk mengakomodasi ukuran font yang besar—jika tidak, bentuk elips 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 dalam 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. 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 Compose 1.3-beta01 untuk Wear OS menunjukkan bahwa rilis library ini selesai memiliki fitur 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, bersama dengan 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 menarik 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 diperlukan.
  • 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. Fungsi ini juga memiliki dukungan untuk mengurungkan 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 besar karena font yang besar untuk aksesibilitas
  • PositionIndicator kini memiliki spesifikasi animasi individual untuk animasi fade-in, fade-out, dan perubahan posisi. Untuk alasan performa, sebaiknya fade-in dan perubahan posisi dinonaktifkan saat digunakan dengan daftar yang dapat di-scroll.
  • ExpandableStateMapping menyediakan cara baru untuk menghasilkan ExpandableStates saat harus dibuat sesuai permintaan dan belum tentu dengan cakupan @Composable.
  • Placeholder kini memungkinkan reset jika konten tidak lagi dalam status siap. Selain itu, setelan gerakan kurangi kini berlaku untuk efek berkilau dan gerakan hapus di Placeholder.

Masalah Umum

  • PositionIndicator awalnya tidak ditampilkan saat layar pertama kali ditampilkan. Kami berencana untuk membuat perubahan dalam versi alfa awal 1.4 sehingga versi ini akan ditampilkan di awal, tetapi tanpa animasi apa pun.

Perubahan API

  • Kami telah mengganti nama tingkat Dasar SwipeToDismissBox menjadi BasicSwipeToDismissBox. Hal ini memperjelas perbedaan antara komponen tingkat Dasar dan tingkat Material SwipeToDismissBox. Fungsi kedua menarik 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 API Kartu SwipeToReveal dan Chip Material dengan API berbasis slot menggunakan composable SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction, dan SwipeToRevealUndoAction. Lihat kode contoh untuk 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 terbatas (I50efe)
  • Kami telah mengatasi potensi error NaN terkait curvedComposable (I970eb)
  • Kami telah mengembalikan penghapusan animasi sorotan perubahan posisi pada 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 masing-masing tanda ke overload PositionIndicator, untuk mengontrol berbagai animasi: showFadeInAnimation, showFadeOutAnimation, dan showPositionAnimation. API sebelumnya sudah tidak digunakan lagi dan meneruskan panggilan ke API baru. Untuk alasan performa dan untuk 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 tersebut. (I44294)
  • Kami tidak lagi menggunakan Material SwipeToDismissBoxState, SwipeToDismissValue, dan edgeSwipeToDismiss 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 fondasi, 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 ingin membuat perubahan serupa di versi alfa 1.4 awal, 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 implementasi default penyedia status eksplorasi sentuh untuk 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 masing-masing tanda ke PositionIndicator untuk mengontrol berbagai animasi: showFadeInAnimation, showFadeOutAnimation, dan showPositionAnimation. API sebelumnya sudah tidak digunakan lagi dan meneruskan panggilan ke API baru. Untuk alasan performa dan untuk 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 tersebut. (Ia2d63)

Perbaikan Bug

  • Kami telah melakukan peningkatan pada tindakan geser untuk menampilkan gerakan dengan menambahkan animasi pudar ke teks tindakan utama, dan memudar tindakan sekunder/mengubah skala ikon pada perluasan geser penuh. (Ib7223)
  • Sebaiknya tindakan Geser untuk Mengungkapkan dapat diakses dan kami telah menambahkan tindakan aksesibilitas kustom ke contoh Geser untuk Mengungkapkan. (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 tidak muncul dengan benar. (I2091a)
  • Meningkatkan performa PositionIndicator dengan mengoptimalkan rekomposisi. Flag baru untuk mengontrol animasi (fadeIn, fadeOut, dan positionChange) telah ditambahkan setelahnya (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 Membuka sehingga hanya satu item dalam satu waktu yang dapat digeser. (I3cd7a)
  • Meningkatkan dokumentasi ScalingLazyColumnDefaults agar lebih cocok dengan perilaku yang 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

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

Perbaikan Bug

  • Memperbaiki bug pada tombol bulat yang 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 mengimplementasikan SwipeToReveal dengan Kartu dan Chip. Composable ini mengikuti panduan UX yang direkomendasikan pada komponen dan memudahkan developer untuk 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 di dalam onGloballyPositioned(). (IC90f1)
  • Kita sekarang menggunakan drawWithCache dalam PositionIndicator, ProgressIndicator, dan SelectionControls untuk mengoptimalkan alokasi goresan. (I5f225, b/288234617)
  • Kami telah memperbaiki visibilitas centang kotak centang dalam status nonaktif. (Ib25bf)
  • Kami telah memperbarui Placeholder untuk memungkinkan reset 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 yang mengharuskan pembuatan on demand, tidak harus dalam cakupan @Composable (Iff9e0)
  • SwipeToDismissBox telah dimigrasikan dari paket androidx.wear.compose.material ke androidx.wear.compose.foundation. (I275fb)
  • Mengupdate file API untuk menganotasi penghentian 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 yang baru. (Id2a0b, b/230865655)
  • Kami telah mengupdate library Navigasi Wear Compose untuk menggunakan SwipeToDismissBox baru dari Wear Compose Foundation. (I4ff8e)

Perbaikan Bug

  • Kami telah memperbaiki bug urutan z yang menyebabkan expandedItem tidak menampilkan konten yang benar setelah mengklik perilaku tombol saat tombol tersebut memiliki tombol. (I1899d, b/289991514)
  • Meningkatkan penanganan fokus SwipeToDismissBox (dan juga 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 besar karena font besar untuk aksesibilitas, jika diperlukan. (Iaf302)
  • Memperbaiki bug dalam peran semantik area yang dapat diketuk SplitToggleChip, untuk aksesibilitas. (Ieed3a)
  • Setelan gerakan mengurangi kini menonaktifkan efek berkilau dan gerakan hapus total pada placeholder. (I91046)
  • Stepper dan InlineSlider kini mendukung klik berulang dengan menekan lama sehingga Anda dapat dengan cepat menambah/mengurangi 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. Cara 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 klip teks di sini (Ic6a86)
Teks terpotong dengan ukuran font besar
Gambar 1: Teks terpotong.
  • Elemen ini tidak lagi ada saat padding font dinonaktifkan:
Teks tidak terpotong dengan ukuran font besar
Gambar 2: Teks tidak terpotong.
  • Kami telah memperbarui 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 merupakan persyaratan aksesibilitas. Kami tahu bahwa Chip multibaris dapat menyebabkan pemotongan teks saat ditampilkan dengan ukuran font yang besar, jadi kami akan mengupdate Chip dalam versi alfa awal 1.3 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 keliru. (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 fading di ScalingLazyColumn. (I58024)

Perbaikan Bug

  • Kami telah memperbarui profil dasar pengukuran untuk library dasar dan material wear compose(I4725d)
  • Kami telah memperbaiki inkonsistensi dalam 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 Compose 1.2-beta01 untuk Wear OS menunjukkan bahwa rilis library ini selesai memiliki fitur 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 diperluas, seperti Teks yang memiliki jumlah baris. Gunakan expandableItems untuk sekelompok item yang dapat diperluas dan expandableButton untuk menyederhanakan pembuatan tombol yang dapat diciutkan setelah konten diluaskan.
  • HierarchicalFocusCoordinator - composable eksperimental ini memungkinkan penandaan sub-hierarki komposisi saat fokus diaktifkan atau fokus dinonaktifkan.
  • Picker - API sekarang menyertakan userScrollEnabled untuk mengontrol apakah alat pilih aktif bagi pengguna untuk men-scroll.
  • PickerGroup - composable baru untuk menangani beberapa pemilih secara bersamaan. Atribut ini menangani fokus antara alat pilih menggunakan HierarchicalFocusCoordinator API dan memungkinkan pemusatan item pemilih secara otomatis.
  • Placeholder - kami telah melakukan pembaruan pada animasi shimmer dan 'Wipe Off'. Efek penghapusan kini segera diterapkan saat konten sudah 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 sarana untuk mengakses tindakan sekunder, melengkapi pola 'tekan lama' yang sudah 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 bundar kecil; WearPreviewLargeRound mempratinjau composable di perangkat bundar besar; WearPreviewSquare mempratinjau composable di perangkat persegi. Selain itu, anotasi berikut dan multi-pratinjau: WearPreviewFontScales mempratinjau composable di perangkat Wear dengan beberapa ukuran font, sedangkan WearPreviewDevices melihat pratinjau composable di berbagai perangkat Wear.
  • Kami telah menambahkan DefaultTextStyle ke Wear Compose yang menetapkan properti PlatformTextStyle.includeFontPadding secara default ke benar (true) (ini adalah setelan saat ini). Tindakan ini akan memungkinkan kita menyinkronkan penonaktifan padding font secara default dengan library Compose di versi alfa 1.3 awal - lihat 1.2.0-alpha10 untuk informasi selengkapnya.

Fitur Baru

  • Kami telah menambahkan dukungan eksperimental untuk menonaktifkan penskalaan dan animasi fading saat setelan less_motion diaktifkan. (I58024)

Perbaikan Bug

  • Meningkatkan dokumentasi untuk angularWidthDp di CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost kini mencatat peringatan dengan potensi penyebab kosong data sebelumnya. Hal ini dilakukan untuk mencegah error tidak terduga yang disebabkan karena 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 Geser untuk Mengungkap, sebagai sarana untuk mengakses tindakan sekunder. Pola ini melengkapi pola ‘tekan lama’, yaitu cara yang sudah ada saat pengguna dapat mengungkapkan tindakan sekunder (yang berbeda). (I60862)

Perubahan API

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

Perbaikan Bug

  • Memperbaiki masalah ScalingLazyColumn yang macet di Wear API 33 setelah ayunkan jari (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 pratinjau rendering saat dianotasi dengan @WearPreviewDevices dan @WearPreviewFontScales - perbaikan direncanakan untuk segera dirilis. Perlu diperhatikan bahwa anotasi pratinjau Wear lainnya berfungsi sebagaimana mestinya di Android Studio Giraffe 2022.3.1 dan versi lebih baru.

  • Di versi 1.2.0-alpha07, kami menambahkan DefaultTextStyle ke Wear Compose, yang mempertahankan nilai PlatformTextStyle.includeFontPadding sebagai benar (true) - untuk latar belakang, lihat Memperbaiki padding font di Compose. Kami akan mengubah DefaultTextStyle untuk menonaktifkan padding font di versi alfa 1.3 awal, agar konsisten di seluruh Platform Android. Cara 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 pemotongan teks di sini:

Teks terpotong dengan ukuran font besar
Gambar 1: Teks terpotong.
  • Elemen ini tidak lagi ada saat padding font dinonaktifkan:
Teks tidak terpotong dengan ukuran font besar
Gambar 2: Teks tidak terpotong.

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

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 menyetel lebar sudut di DP (I89a52)

Perbaikan Bug

  • Kami telah memperbaiki masalah aksesibilitas dalam demo pemilih waktu(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 dapat diciutkan saat konten diluaskan dan juga memperbarui contoh yang dapat diluaskan. (Iae309)

Perbaikan Bug

  • Peningkatan contoh yang dapat diperluas untuk menunjukkan lebih banyak kemungkinan. Memodifikasi animasi expandableItem agar kontennya tetap di tengah melalui animasi. (I2f637)
  • Mengupdate 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 dasar, karena tidak memiliki referensi yang berarti 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 intro kini lebih lancar agar sesuai dengan transisi out. (Ib5af9)
  • Kami telah menambahkan DefaultTextStyle ke Wear Compose yang menetapkan properti PlatformTextStyle.includeFontPadding secara default ke benar (true) (ini adalah setelan saat ini). Tindakan 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 publikasi aplikasi 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 kelompok item yang dapat diperluas di ScalingLazyColumn, atau satu item yang dapat diperluas, seperti Teks tempat jumlah baris diperluas. (I95dd5)
  • Kami telah menambahkan anotasi kustom berikut untuk melihat pratinjau composable di layar Wear: WearPreviewSmallRound mempratinjau composable di perangkat kecil berbentuk lingkaran; WearPreviewLargeRound melihat pratinjau composable di perangkat lingkaran besar; WearPreviewSquare mempratinjau composable di perangkat persegi. Selain itu, anotasi berikut dan multi-pratinjau: WearPreviewFontScales mempratinjau composable di perangkat Wear dengan beberapa ukuran font, sedangkan WearPreviewDevices melihat pratinjau composable di berbagai perangkat Wear. Untuk menggunakan pratinjau ini, Anda harus menggunakan Android Studio terbaru (Giraffe Canary 6) atau yang lebih baru. Perlu diperhatikan bahwa jika anotasi ini tidak sesuai dengan tujuan Anda, Pratinjau tetap dapat digunakan dan mendukung penyesuaian lebih lanjut melalui parameter. (I397ff)
  • Kami telah menandai HierarchicalFocusCoordinator sebagai eksperimental saat 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 yang baru dengan benar. (Icb353)
  • Kami telah memperbarui warna konten yang dinonaktifkan secara default menjadi Latar Belakang saat menggunakan warna primer sebagai latar belakang di Button, CompactButton, Chip, CompactChip, dan ToggleButton. Warna ini akan 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

  • Mengupdate PickerGroup API untuk memungkinkan 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 sebagai salah (false), PickerGroup akan mereset batasan minimum. (I3e046)
  • Kami telah menambahkan animateScrollToOption ke Picker API untuk mendukung animasi terprogram ke opsi Picker 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/berkilau 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.