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
4 September 2024 1.4.0 - - 1.5.0-alpha01

Mendeklarasikan dependensi

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

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

Groovy

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

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

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

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

Kotlin

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

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

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

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

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

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

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Wear Compose Material3 Versi 1.0

Versi 1.0.0-alpha24

4 September 2024

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha23

14 Mei 2024

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha22

1 Mei 2024

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha21

17 April 2024

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

  • Rilis ini dipicu karena ada 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 alfa status yang ditekan dan difokuskan Ripple untuk kontras. (I59f0a)
  • Kami telah menambahkan spasi antara label utama dan sekunder di Button, ToggleButton, dan RadioButton, mengikuti perubahan terbaru pada gaya tipografi dan tinggi baris. (I2c0ba)

Versi 1.0.0-alpha19

6 Maret 2024

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

Perubahan API

  • Kami telah menambahkan TimeText ke library Wear Compose Material3. Komponen ini menampilkan waktu saat ini (dan status tambahan) di bagian atas layar. Material3 API yang baru dan ringkas menghindari duplikasi antara konten linear dan melengkung. (I4d7c3)
  • Kami telah memperbarui nama parameter dari onSelected menjadi onSelect untuk RadioButton. (I1a971)
  • Buat token RadioButton dan SplitRadioButton serta faktorkan ulang metode yang ada untuk mengurangi jumlah pencarian CompositionLocal dengan menambahkan instance warna yang di-cache, dan membuat metode RadioButtonColors dan SplitRadioButtonColors 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 mengupdate Button API agar menggunakan buttonColors secara default dan menghapus filledButtonColors duplikat. (I4fe3b)
  • Kami telah memfaktorkan ulang pola default untuk ButtonColors, IconButtonColors, dan TextButtonColors dengan membuat instance yang di-cache secara internal dan mengurangi penggunaan CompositionLocal. (I5f51c)
  • Kami telah menghapus overhead rememberUpdatedState di class warna khusus Komponen dan menandai metode pengakses di dalam class warna sebagai internal. (If6571)

Perbaikan Bug

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

Versi 1.0.0-alpha16

24 Januari 2024

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

Fitur Baru

  • Kami telah menambahkan CompactButton, yang dapat menggunakan warna yang terisi, diisi, dan digarisbatasi seperti 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 di API-nya telah diupdate sehingga kini menampilkan MutableInteractionSource nullable yang default-nya adalah null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan akan dibuat di dalam komponen jika diperlukan. Perubahan ke null memungkinkan beberapa komponen untuk tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance dengan lambat saat diperlukan, sehingga meningkatkan performa di seluruh komponen ini. Jika tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, Anda sebaiknya meneruskan null. Sebaiknya Anda juga membuat perubahan serupa pada komponen Anda sendiri. (Ib90fc, b/298048146)
  • 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. Ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara untuk kasus saat Anda menyediakan RippleTheme kustom. Lihat developer.android.com untuk mengetahui informasi migrasi dan informasi latar belakang lainnya di balik perubahan ini. (af92b21)
  • Kami telah melakukan sedikit peningkatan pada API HorizontalPageIndicator dan dokumentasinya. (I60efc)
  • Kami telah memperbarui ColorScheme agar tidak dapat diubah, sehingga setiap pembaruan warna menjadi kurang efisien, tetapi penggunaan warna yang lebih umum menjadi lebih efisien. Alasan di balik perubahan ini adalah bahwa sebagian besar aplikasi tidak akan memperbarui setiap warna sebagai kasus penggunaan utama. Hal ini masih memungkinkan, tetapi akan merekomposisi lebih banyak lagi daripada sebelumnya. Hasilnya, kami secara signifikan mengurangi jumlah langganan status melalui semua kode material dan akan memengaruhi inisialisasi dan biaya runtime untuk kasus penggunaan yang lebih standar. (Ibc2d6)
  • Mengupdate API ToggleButton dan SplitToggleButton untuk memungkinkan penyesuaian warna yang dinonaktifkan. Selain itu, token Desain Material kini digunakan untuk nilai warna dan tipografi. (If087c)
  • Memperbarui warna latar belakang gambar Tombol agar 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 tersebut kini lebih jelas ditunjukkan sebagai hanya display (dan tidak ditujukan untuk penggunaan mandiri di Wear). (I2322e)

Perbaikan Bug

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

Versi 1.0.0-alpha15

15 November 2023

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha14

18 Oktober 2023

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

Perubahan API

  • Kami telah menghapus parameter indicatorStyle dari HorizontalPageIndicator Material3 - sebagai gantinya, parameter tersebut akan mengikuti bentuk layar perangkat (linear 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 kami. (Ib5ceb)

Versi 1.0.0-alpha10

23 Agustus 2023

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

Fitur Baru

  • Tambahkan HorizontalPageIndicator di library Wear Material3. (Ifee99)

Perubahan API

  • 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 tahap final. (I84d54)
  • Kami telah menghapus ukuran ExtraSmall dari TextButton dan TextToggleButton bulat karena ukuran tersebut hanya berlaku untuk IconButton. (Ibc7d5)

Perbaikan Bug

  • Kami telah memperbarui panduan tipografi untuk TextSwitchButton agar dapat menggunakan LabelLarge untuk LargeButtonSize (Ib10fa)
  • Kami telah memperbarui panduan tipografi untuk TextButton agar dapat menggunakan LabelLarge untuk LargeButtonSize (I8f3a7)
  • Kami telah menetapkan target sentuh minimum Kartu menjadi 48 dp untuk aksesibilitas. (Ieb9b1)
  • Menambahkan AppCard dengan demo gambar, menghapus AppCard dengan demo Latar Belakang (Id735f)
  • Memperbaiki bug di tombol bulat yang pengubahnya 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 disebutkan 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 sesuai dengan desain Material3. (Ib2495)
  • Kami telah memperbaiki visibilitas centang kotak dalam status dinonaktifkan. (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 berbentuk lingkaran dengan satu slot untuk masing-masing ikon dan teks. Untuk ukuran ToggleButton yang berbeda, sebaiknya gunakan Modifier.touchTargetAwareSize dengan ukuran yang diberikan 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 memberikan nilai warna default dari temanya. (I275fb)
  • Kami telah menambahkan InlineSlider Material3 ke Wear Compose. Hal ini memungkinkan pengguna membuat pilihan dari rentang nilai. Rentang pilihan ditampilkan sebagai panel antara nilai rentang minimum dan maksimum, yang memungkinkan pengguna memilih satu nilai. InlineSlider ideal untuk menyesuaikan setelan seperti volume atau kecerahan. (I7085f)

Perubahan API

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

Perbaikan Bug

  • Tombol kini akan menyesuaikan tingginya untuk mengakomodasi konten yang meningkat karena 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 menaikkan/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

  • Kita telah menambahkan komponen Stepper ke library Compose untuk Wear OS Material 3. Versi ini mirip dengan versi Material sebelumnya, tetapi menghilangkan semantik rentang secara default, mengikuti masukan developer. Kami memberikan Modifier.rangeSemantics kasus yang memerlukan semantik rentang. (Ic39fd)
  • Kami telah menambahkan curvedText ke library Material 3 Compose untuk Wear OS. (Ia8ae3)

Perbaikan Bug

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

Versi 1.0.0-alpha06

7 Juni 2023

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

Perbaikan Bug

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

Perubahan API

  • Kami telah memindahkan parameter label 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 slot tunggal untuk ikon/gambar. Ada empat variasi: IconButton, FilledIconButton, FilledTonalIconButton, dan OutlinedIconButton. Untuk ukuran IconButton yang berbeda, sebaiknya gunakan Modifier.touchTargetAwareSize dan ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize, dan LargeButtonSizeIcon yang disediakan di IconButtonDefaults. Kami juga menyediakan IconButtonDefaults.iconSizeFor untuk menentukan ukuran ikon yang direkomendasikan untuk ukuran tombol tertentu. (I721d4)

Versi 1.0.0-alpha03

19 April 2023

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

Perubahan API

  • Kami telah menambahkan komponen Tombol Material 3 - ini adalah tombol berbentuk elips dan sebelumnya bernama Chip di library Material Wear Compose (tombol ini telah diganti namanya menjadi Button agar konsisten dengan library Compose Material 3). Button default memiliki latar belakang yang terisi dan terdapat variasi tombol untuk FilledTonal (latar belakang nonaktif), 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 dan konten teks sederhana akan mengikuti rilis mendatang.(Ia6942)

Versi 1.0.0-alpha02

5 April 2023

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

Perbaikan Bug

  • Kami telah menambahkan DefaultTextStyle ke Wear Compose Material 3 yang menetapkan PlatformTextStyle.includeFontPadding secara default ke benar (setelan saat ini). 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 pembaruan tema dan komponen yang didesain ulang. Material 3 di Wear Compose dirancang agar dapat digunakan bersama dengan library Compose Material 3 di Android. Rilis alfa pertama ini berisi implementasi awal dan fungsional dari hal berikut:

    • Tema Material - mengonfigurasi skema warna, tipografi, dan bentuk secara konsisten di seluruh komponen di library. Tema Material3 telah direvisi warna yang mendukung kontras yang dapat diakses. (I84005)
    • Teks/Ikon - elemen penyusun untuk aplikasi Wear Compose (I8e06a)
  • Kami 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 guna menyertakan komponen umum lainnya dari Compose untuk Wear OS, seperti tombol, pemilih, dan penggeser.

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

Wear Compose Versi 1.5

Versi 1.5.0-alpha01

4 September 2024

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.4

Versi 1.4.0

4 September 2024

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

Perubahan penting sejak versi 1.3.0

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

Perubahan lainnya

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

Versi 1.4.0-rc01

21 Agustus 2024

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

  • Kami telah memperbarui dependensi Compose ke 1.7.0-rc01 dan menyematkan Navigasi Wear Compose ke androidx.Lifecycle 2.8.3

Versi 1.4.0-beta03

12 Juni 2024

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

Perbaikan Bug

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

Versi 1.4.0-beta02

29 Mei 2024

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

Perbaikan Bug

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

Versi 1.4.0-beta01

14 Mei 2024

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

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

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

Perbaikan Bug

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

Versi 1.4.0-alpha08

1 Mei 2024

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.4.0-alpha07

17 April 2024

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

Perubahan API

  • Kami telah menambahkan Modifier.rotary, pengubah baru yang menghubungkan peristiwa putar dengan penampung yang dapat di-scroll, sehingga pengguna dapat men-scroll melalui kenop jam atau bingkai yang berputar di perangkat Wear OS mereka. Selain itu, ScalingLazyColumn dan Picker kini mendukung input dari alat rotasi secara default, dengan overload baru yang menyertakan parameter rotaryBehavior untuk menentukan konfigurasi scroll atau snap. Jika parameter rotaryBehavior disetel ke snap, sebaiknya juga berikan snap melalui parameter flingBehavior, untuk scroll sentuh. (I2ef6f)
  • Sumber NestedScroll Drag dan Fling diganti dengan UserInput dan SideEffect untuk mengakomodasi definisi yang diperluas dari sumber ini yang sekarang mencakup 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. Hal ini 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 putar, sebagai bagian dari upaya yang lebih besar untuk memigrasikan perilaku Rotary ke AndroidX dari Horologist. (I617d1)
  • Kami telah menambahkan draf internal dukungan haptic, sebagai bagian dari upaya yang lebih besar untuk memigrasikan perilaku Rotary ke AndroidX dari Horologist. (I5568a)

Versi 1.4.0-alpha05

20 Maret 2024

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.4.0-alpha04

6 Maret 2024

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

Perubahan API

  • Kami telah menambahkan overload baru untuk ToggleChip dan SplitToggleChip yang menggunakan parameter selectionControl, bukan parameter toggleControl. Ini harus digunakan dengan kontrol RadioButton untuk menyediakan 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 pengubah pengubah Anda lebih banyak daripada yang diperlukan, sehingga penggunaannya sekarang tidak disarankan. Developer sebaiknya menerapkan metode inspectableProperties() di ModifierNodeElement jika ingin mengekspos properti pengubah ke alat. (Ib3236)

Perbaikan Bug

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

Versi 1.4.0-alpha02

7 Februari 2024

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

Perbaikan Bug

  • Kami telah memperbaiki bug terkait geser untuk menampilkan, yang memungkinkan interaksi dengan (dan membatalkan) tindakan yang di-commit pada satu item dengan mulai menggeser item lainnya.(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)
  • Secara default, PositionIndicator kini ditampilkan saat layar pertama kali ditampilkan. Perubahan ini diperkenalkan untuk membantu memenuhi pedoman Kualitas Wear. Sayangnya, hal ini berarti pengujian screenshot harus diperbarui di layar yang menyertakan PositionIndicator, karena PositionIndicator sebelumnya tidak 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. Ini akan dihapus dalam rilis stabil berikutnya, dan hanya dimaksudkan sebagai bantuan migrasi sementara untuk kasus saat Anda menyediakan RippleTheme kustom. Lihat developer.android.com untuk mengetahui informasi migrasi dan informasi latar belakang lainnya di balik perubahan ini. (af92b21)
  • Kami telah memperbarui ColorScheme agar tidak dapat diubah, sehingga setiap pembaruan warna menjadi kurang efisien, tetapi penggunaan warna yang lebih umum menjadi lebih efisien. Alasan di balik perubahan ini adalah bahwa sebagian besar aplikasi tidak akan memperbarui setiap warna sebagai kasus penggunaan utama. Hal ini masih memungkinkan, tetapi akan merekomposisi lebih banyak lagi daripada sebelumnya. Hasilnya, kami secara signifikan mengurangi jumlah langganan status melalui semua kode material dan akan memengaruhi inisialisasi dan biaya runtime untuk kasus penggunaan yang lebih standar. (f5c48b7)
  • Material Wear dan komponen material3 Wear yang mengekspos MutableInteractionSource di API-nya telah diupdate untuk sekarang menampilkan MutableInteractionSource nullable yang default-nya adalah null. Tidak ada perubahan semantik di sini: meneruskan null berarti Anda tidak ingin mengangkat MutableInteractionSource, dan akan dibuat di dalam komponen jika diperlukan. Perubahan ke null memungkinkan beberapa komponen untuk tidak pernah mengalokasikan MutableInteractionSource, dan memungkinkan komponen lain hanya membuat instance dengan lambat saat diperlukan, sehingga meningkatkan performa di seluruh komponen ini. Jika tidak menggunakan MutableInteractionSource yang diteruskan ke komponen ini, Anda sebaiknya meneruskan null. Sebaiknya Anda juga membuat perubahan 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 asal. (5c80095)

Perbaikan Bug

  • Kami telah memperbarui setelan ReduceMotion untuk menggunakan pemroses berbasis 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 untuk offset NaN guna 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 terkait geser untuk menampilkan, yang memungkinkan interaksi dengan (dan membatalkan) tindakan yang di-commit pada satu item dengan mulai menggeser item lainnya. (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 sekarang menjadi setiap bagian dari paket androidx.wear.compose.foundation, bukan paket androidx.wear.compose.material. Arsitektur yang diperbarui ini memungkinkan Anda untuk mengimplementasikan penanganan gestur secara independen 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 tinggi objek Chip dan ToggleChip bertambah untuk lebih mendukung penskalaan font yang dipilih pengguna. Hal ini dapat menyebabkan terjadinya beberapa pemotongan. Guna 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, dengan tinggi default 52 dp. Namun, objek Chip dan ToggleChip yang berisi beberapa baris teks label utama atau sekunder, atau yang tingginya telah diganti, dapat menyebabkan pengujian screenshot rusak.

Perubahan lainnya

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

Rekomendasi untuk penerapan

  • Jika aplikasi Anda memungkinkan pengguna menggeser konten layar, seperti di aplikasi berbasis peta, nonaktifkan penanganan geser dengan menyetel userSwipeEnabled ke false di 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 sekarang akan digunakan oleh Chip dan ToggleChip. Perubahan ini diperlukan untuk mendukung penyesuaian tinggi saat konten memerlukan tinggi tambahan untuk mengakomodasi ukuran font yang besar—jika tidak, bentuk stadion yang ada mengklip beberapa konten teks.

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

    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 dimaksud di BasicSwipeToDismissBox. Hal ini telah diubah dalam rilis sebelumnya, sehingga bagian slide 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 sudah memiliki fitur lengkap dan API-nya terkunci (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 mengambil warna dari MaterialTheme, lalu mendelegasikan implementasi yang tersisa ke BasicSwipeToDismissBox.
  • SwipeDismissableNavHost kini mendukung parameter userSwipeEnabled baru sehingga penanganan geser dapat dinonaktifkan untuk layar yang tidak 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. Kolom ini juga memiliki dukungan urungkan untuk tindakan sekunder.
  • DefaultTextStyle kini menonaktifkan padding font agar konsisten di seluruh Platform Android.
  • Chip dan ToggleChip kini menyesuaikan tingginya untuk mengakomodasi konten yang berkembang 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 nonaktifkan fade-in dan perubahan posisi saat digunakan dengan daftar yang dapat di-scroll.
  • ExpandableStateMapping menyediakan cara baru untuk menghasilkan ExpandableStates saat harus dibuat sesuai permintaan dan tidak harus dengan cakupan @Composable.
  • Placeholder kini memungkinkan reset jika konten tidak lagi dalam status siap. Selain itu, setelan kurangi gerakan kini berlaku untuk efek berkilauan dan gerakan hapus total di Placeholder.

Masalah Umum

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

Perubahan API

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

Perbaikan Bug

  • Kami telah memperbaiki bug yang dipicu oleh teks melengkung terbatas saat ukuran dibatasi (I50efe)
  • Kami telah mengatasi potensi error NaN terkait curvedComposable (I970eb)
  • Kami telah mengembalikan penghapusan animasi sorotan perubahan posisi pada PositionIndicator. (Ieb424)
  • Kami telah menghapus lapisan inti material 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 flag ke overload PositionIndicator, untuk mengontrol animasi yang berbeda: showFadeInAnimation, showFadeOutAnimation, dan showPositionAnimation. API sebelumnya tidak digunakan lagi dan meneruskan panggilan ke API baru. Untuk alasan performa dan 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 telah menghentikan penggunaan SwipeToDismissBoxState, SwipeToDismissValue, dan edgeSwipeToDismiss Material setelah migrasi fungsi Geser untuk Menutup ke wear.compose.foundation. Harap ganti dengan padanan dari wear.compose.foundation. (Iee8c9)

Perbaikan Bug

  • Kami telah memperbarui profil dasar pengukuran untuk library dasar, material, dan navigasi Wear compose. (Idb060)
  • Kami telah mengembalikan perubahan perilaku untuk PositionIndicator yang diperkenalkan di CL sebelumnya, sehingga PositionIndicator dianimasikan saat layar pertama kali ditampilkan. Kami bermaksud membuat perubahan serupa pada awal alfa 1.4, sehingga PositionIndicator awalnya ditampilkan, tetapi tanpa animasi apa pun. (I41843)
  • Kami telah mengatasi beberapa masalah performa di PositionIndicator. (I1c654, b/302399827)
  • Kami telah mengoptimalkan performa penerapan default penyedia status eksplorasi sentuh untuk mengandalkan State<Boolean>, bukan status turunan. (Ieec4d)
  • Kami telah menetapkan systemGestureExclusion persegi panjang 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 animasi yang berbeda: showFadeInAnimation, showFadeOutAnimation, dan showPositionAnimation. API sebelumnya 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 memudar ke teks tindakan utama, dan memudarkan tindakan sekunder/mengubah skala ikon pada perluasan geser penuh. (Ib7223)
  • Sebaiknya tindakan Geser untuk Mengungkapkan agar dapat diakses dan kami telah menambahkan tindakan aksesibilitas kustom ke contoh Geser untuk Membuka. (I42224)
  • Kami telah meningkatkan performa SwipeToDismissBox, termasuk pemfaktoran ulang untuk memastikan bahwa logika awal tidak memicu rekomposisi. SwipeToDismissBox kini digambar sebagai ukuran layar penuh. (Ie0aa2)
  • Kami telah memperbaiki bug saat PositionIndicator menghilang dengan tidak benar. (I2091a)
  • Meningkatkan performa PositionIndicator dengan mengoptimalkan rekomposisi. Flag baru untuk mengontrol animasi (fadeIn, fadeOut, dan positionChange) telah ditambahkan kemudian (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 SwipeToRevealChip dan SwipeToRevealCard Material. (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 Mengungkap sehingga hanya satu item pada satu waktu yang dapat digeser. (I3cd7a)
  • Meningkatkan dokumentasi ScalingLazyColumnDefaults agar lebih cocok dengan perilaku sebenarnya. (I886d3)

Versi 1.3.0-alpha04

23 Agustus 2023

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

  • Memperbaiki bug di tombol bulat yang pengubahnya tidak dirantai dengan benar. (I5e162)

Versi 1.3.0-alpha03

9 Agustus 2023

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

Perubahan API

  • Kami telah menambahkan dua composable baru di Material untuk menerapkan SwipeToReveal dengan Kartu dan Chip. Composable ini mengikuti panduan UX yang direkomendasikan pada komponen dan memudahkan developer menerapkan SwipeToReveal dengan komponen yang ada di Wear Material. (I7ec65)
  • Kami telah mengaktifkan anotasi FloatRange sebagai batasan API, yang sebelumnya disebutkan 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 dalam status dinonaktifkan. (Ib25bf)
  • Kami telah memperbarui Placeholder untuk memungkinkan reset guna menampilkan placeholder jika konten tidak lagi dalam status siap. (Ibd820)
  • Kami telah membuat 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 menghasilkan ExpandableStates, untuk kasus yang mengharuskan pembuatannya secara on demand, tidak harus dalam cakupan @Composable (Iff9e0)
  • SwipeToDismissBox telah dimigrasikan dari paket androidx.wear.compose.material ke androidx.wear.compose.foundation. (I275fb)
  • Memperbarui file API untuk memberi anotasi pada penyembunyian kompatibilitas. (I8e87a, b/287516207)
  • Kami telah membuat konstanta tinggi untuk Chip, CompactChip, dan ToggleChip 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 memperbarui library Navigasi Wear Compose untuk menggunakan SwipeToDismissBox baru dari Wear Compose Foundation. (I4ff8e)

Perbaikan Bug

  • Kami telah memperbaiki bug urutan z saat expandedItem tidak menampilkan konten yang benar setelah mengklik perilaku tombol saat tombol tersebut memiliki tombol. (I1899d, b/289991514)
  • Meningkatkan penanganan fokus SwipeToDismissBox (dan selanjutnya 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 kami. (Id5740)
  • Setelah migrasi SwipeToDismissBox ke Foundation, implementasi SwipeToDismissBox Material kini meneruskan ke Foundation dan memberikan 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 berkembang karena font besar untuk aksesibilitas, jika diperlukan. (Iaf302)
  • Memperbaiki bug dalam peran semantik dari area yang dapat diketuk di SplitToggleChip, untuk aksesibilitas. (Ieed3a)
  • Setelan kurangi gerakan kini menonaktifkan efek berkilauan dan gerakan menghapus total pada placeholder. (I91046)
  • Stepper dan InlineSlider kini mendukung klik berulang dengan menekan lama sehingga Anda dapat meningkatkan/mengurangi nilai Stepper dan InlineSlider secara cepat 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, kami kini mengubah DefaultTextStyle untuk menonaktifkan padding font agar konsisten di seluruh Platform Android. Tindakan ini akan mengatasi beberapa kasus pemotongan teks dengan ukuran font besar dan juga dapat memengaruhi tata letak layar, sehingga pengujian screenshot perlu diperbarui. Misalnya, kita melihat pemotongan teks di sini (Ic6a86)
Teks terpotong dengan ukuran font besar
Gambar 1: Teks terpotong.
  • Fungsi ini tidak lagi ada saat padding font dinonaktifkan:
Teks tidak terpotong dengan ukuran font besar
Gambar 2: Teks tidak diklip.
  • 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 selama 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, sehingga kami akan mengupdate Chip dalam versi alfa 1.3 awal untuk melakukan penyesuaian tinggi dalam kasus tersebut.

Versi 1.2

Versi 1.2.1

18 Oktober 2023

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

Perbaikan Bug

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

Versi 1.2.0

9 Agustus 2023

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

Perubahan penting sejak 1.1.0

Versi 1.2.0-rc01

26 Juli 2023

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

Perbaikan Bug

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

Versi 1.2.0-beta02

7 Juni 2023

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

Fitur Baru

  • Kami telah menambahkan variabel LocalReduceMotion CompositionLocal eksperimental baru yang menonaktifkan penskalaan dan fading pada 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 sudah memiliki fitur lengkap dan API-nya terkunci (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 grup item yang dapat diperluas dan expandableButton untuk menyederhanakan pembuatan tombol yang dapat diciutkan setelah konten diperluas.
  • HierarchicalFocusCoordinator - composable eksperimental ini memungkinkan penandaan sub-hierarki komposisi sebagai fokus diaktifkan atau fokus dinonaktifkan.
  • Picker - API kini menyertakan userScrollEnabled untuk mengontrol apakah alat pilih aktif untuk scroll pengguna.
  • PickerGroup - composable baru untuk menangani beberapa alat pilih secara bersamaan. Class ini menangani fokus antar-pemilih menggunakan HierarchicalFocusCoordinator API dan memungkinkan pemusatan item pemilih secara otomatis.
  • Placeholder - kami telah mengupdate animasi shimmer dan 'Wipe Off'. Efek penghapusan total 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 bagi geser untuk membuka sebagai sarana untuk mengakses tindakan sekunder, yang melengkapi pola ‘tekan lama’ yang sudah ada.
  • Stepper - sekarang 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 lingkaran kecil; WearPreviewLargeRound melihat pratinjau composable di perangkat bulat besar; WearPreviewSquare melihat pratinjau composable di perangkat persegi. Selain itu, anotasi berikut dan multi-pratinjau: WearPreviewFontScales melihat pratinjau composable di perangkat Wear dengan beberapa ukuran font, sementara WearPreviewDevices melihat pratinjau composable di perangkat Wear yang berbeda.
  • Kami telah menambahkan DefaultTextStyle ke Wear Compose yang menjadikan properti PlatformTextStyle.includeFontPadding sebagai default (ini adalah setelan saat ini). Ini akan memungkinkan kita menyinkronkan penonaktifan padding font secara default dengan library Compose dalam versi alfa 1.3 awal - lihat 1.2.0-alpha10 untuk informasi selengkapnya.

Fitur Baru

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

Perbaikan Bug

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

Versi 1.2.0-alpha10

10 Mei 2023

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

Fitur Baru

  • Kami telah menambahkan dukungan fitur Geser untuk Mengungkapkan, sebagai sarana untuk mengakses tindakan sekunder. Pola ini melengkapi pola ‘tekan lama’, cara yang sudah ada yang dapat digunakan pengguna untuk mengungkap tindakan sekunder (yang berbeda). (I60862)

Perubahan API

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

Perbaikan Bug

  • Memperbaiki masalah ScalingLazyColumn yang macet di Wear API 33 setelah fling (Ic4599)
  • Kami telah melakukan beberapa peningkatan performa pada PositionIndicator untuk pengurangan jank. (I35e92)
  • Kami telah memperbaiki bug di Chip dan CompactChip yang tidak lagi menetapkan peran semantik 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 akan segera dirilis. Perhatikan bahwa anotasi pratinjau Wear lainnya berfungsi sebagaimana mestinya di Android Studio Giraffe 2022.3.1 dan yang lebih baru.

  • Pada versi 1.2.0-alpha07, kami menambahkan DefaultTextStyle ke Wear Compose, dengan mempertahankan nilai PlatformTextStyle.includeFontPadding yang ada sebagai true - untuk latar belakang, lihat Memperbaiki padding font di Compose. Kami akan mengubah DefaultTextStyle untuk menonaktifkan padding font pada versi alfa 1.3 awal, agar konsisten di seluruh Platform Android. Tindakan 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 {i>font<i} yang besar kita melihat teks yang terpotong di sini:

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

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

Versi 1.2.0-alpha09

19 April 2023

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

Perubahan API

  • Menambahkan angularSizeDp ke CurvedModifier API untuk 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 sampel yang dapat diperluas untuk menunjukkan lebih banyak kemungkinan. Animasi expandableItem yang dimodifikasi agar kontennya tetap berada di tengah melalui animasi. (I2f637)
  • Memperbarui ToggleControls untuk menghindari rekomposisi tambahan saat menganimasikan warna menggunakan Status secara manual. (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 dalam 1.2.0-alpha06) dari material ke fondasi, 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 di demo Pemilih kami. (If8c19)
  • Kami telah memperbaiki transisi dialog - transisi intro kini lebih lancar agar cocok dengan transisi outro. (Ib5af9)
  • Kami telah menambahkan DefaultTextStyle ke Wear Compose yang menjadikan properti PlatformTextStyle.includeFontPadding sebagai default (ini adalah setelan saat ini). Hal ini akan memungkinkan kita menyinkronkan penonaktifan padding font secara default dengan library Compose di masa mendatang. Lihat (Memperbaiki padding font di Compose) untuk latar belakang. (I2aee8)
  • Mengembalikan dependensi pratinjau UpsideDownCake melalui activity-compose yang memblokir aplikasi publikasi ke Google Play Store. (I6443d)

Versi 1.2.0-alpha06

8 Maret 2023

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

Perubahan API

  • Menambahkan komponen CurvedBox, yang menempatkan komponen di atas satu sama lain di dunia melengkung. (I29200)
  • Menambahkan Item yang Dapat Diperluas - dua komponen baru untuk mendukung kelompok item yang dapat diperluas di ScalingLazyColumn atau item tunggal yang dapat diperluas, seperti Teks yang jumlah barisnya diperluas. (I95dd5)
  • Kami telah menambahkan anotasi kustom berikut untuk melihat pratinjau composable di layar Wear: WearPreviewSmallRound melihat pratinjau composable di perangkat lingkaran kecil; WearPreviewLargeRound melihat pratinjau composable di perangkat lingkaran besar; WearPreviewSquare melihat pratinjau composable di perangkat persegi. Selain itu, anotasi berikut dan multi-pratinjau: WearPreviewFontScales melihat pratinjau composable di perangkat Wear dengan beberapa ukuran font, sementara WearPreviewDevices melihat pratinjau composable di perangkat Wear yang berbeda. Untuk menggunakan pratinjau ini, Anda harus menggunakan Android Studio terbaru (Giraffe Canary 6) atau yang lebih baru. 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 secara luas. (I3a768)

Perbaikan Bug

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

Versi 1.2.0-alpha05

22 Februari 2023

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.2.0-alpha04

8 Februari 2023

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.2.0-alpha03

25 Januari 2023

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

Perubahan API

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

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

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

Perbaikan Bug

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

Versi 1.2.0-alpha02

11 Januari 2023

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.2.0-alpha01

7 Desember 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.1

Versi 1.1.2

8 Februari 2023

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

Perbaikan Bug

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

Versi 1.1.1

11 Januari 2023

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

Perbaikan Bug

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

Versi 1.1.0

7 Desember 2022

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

Perubahan penting sejak versi 1.0.0

Fitur Baru

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

Perbaikan Bug

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

Versi 1.1.0-rc01

9 November 2022

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

Perbaikan Bug

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

Versi 1.1.0-beta01

24 Oktober 2022

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

Yang ada di Compose untuk Wear OS 1.1

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

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.1.0-alpha07

5 Oktober 2022

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

Fitur Baru

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

Perubahan API

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

Versi 1.1.0-alpha06

21 September 2022

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

Fitur Baru

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

Perbaikan Bug

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

Versi 1.1.0-alpha05

7 September 2022

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

Perbaikan Bug

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

Versi 1.1.0-alpha04

24 Agustus 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.1.0-alpha03

10 Agustus 2022

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

Fitur Baru

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

Perubahan API

  • Menambahkan overload untuk mengubah bentuk tombol (Icccde)

Perbaikan Bug

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

Versi 1.1.0-alpha02

27 Juli 2022

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

Fitur Baru

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

Perubahan API

  • Menambahkan overload untuk mengubah bentuk chip (I02e87)

Perbaikan Bug

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

Versi 1.1.0-alpha01

29 Juni 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0

Versi 1.0.2

7 September 2022

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

Perbaikan Bug

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

Versi 1.0.1

24 Agustus 2022

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

Perbaikan Bug

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

Versi 1.0.0

27 Juli 2022

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

Fitur utama 1.0.0

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

Perbaikan Bug

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

Versi 1.0.0-rc02

22 Juni 2022

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

Perbaikan Bug

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

Versi 1.0.0-rc01

15 Juni 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-beta03

1 Juni 2022

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

Fitur Baru

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

Perubahan API

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

Masalah Umum

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

Perbaikan Bug

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

Versi 1.0.0-beta02

18 Mei 2022

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

Fitur Baru

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

Perbaikan Bug

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

Versi 1.0.0-beta01

11 Mei 2022

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

Yang ada di Compose untuk Wear OS 1.0

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

Komponen Wear Compose Material dalam rilis 1.0 meliputi:

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

  • Komponen berikut juga disertakan dari Wear Compose Foundation:

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

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

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

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

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

  • Komponen berikut juga disertakan dari Navigasi Wear Compose:

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

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha21

20 April 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha20

6 April 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha19

23 Maret 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha18

9 Maret 2022

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha17

23 Februari 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha16

9 Februari 2022

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha15

26 Januari 2022

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

Perubahan API

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

Versi 1.0.0-alpha14

12 Januari 2022

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

Fitur Baru

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

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

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

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

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

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

Versi 1.0.0-alpha13

15 Desember 2021

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

Perubahan API

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

Perbaikan Bug

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

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

  • Menambahkan pengujian untuk Stepper di Wear Compose (I2d03a)

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

Versi 1.0.0-alpha12

1 Desember 2021

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

Fitur Baru

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

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

Perubahan API

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

Versi 1.0.0-alpha11

17 November 2021

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

  • Contoh tambahan untuk TimeText (I8cb64)

Versi 1.0.0-alpha10

3 November 2021

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

Fitur Baru

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

  • Lihat Compose baru untuk Codelab WearOS.

Perubahan API

  • Macrobenchmark kini memiliki minSdkVersion 23. (If2655)

Perbaikan Bug

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

Versi 1.0.0-alpha09

27 Oktober 2021

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha08

13 Oktober 2021

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha07

29 September 2021

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha06

15 September 2021

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

Fitur Baru

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

Library Navigasi Wear Compose

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

  • Rilis awal ini menyediakan:

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

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha05

1 September 2021

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha04

18 Agustus 2021

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

  • Menambahkan materi pengujian untuk SwipeToDismissBox (I9febc)

Versi 1.0.0-alpha03

4 Agustus 2021

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha02

21 Juli 2021

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

Fitur Baru

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

Perubahan API

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

Perbaikan Bug

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

Versi 1.0.0-alpha01

1 Juli 2021

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

Fitur Baru

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

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

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

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

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

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