wear protolayout
| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 22 Oktober 2025 | 1.3.0 | - | - | 1.4.0-alpha02 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada wear-protolayout, 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 { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
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.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.4
Versi 1.4.0-alpha02
22 Oktober 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.
Fitur Baru
- Menambahkan sumber peristiwa Platform baru (
isInAmbientMode) yang menjelaskan apakah perangkat dalam mode standby atau tidak (Ief832)
Perubahan API
PendingIntentclickablekini menerima tindakan penggantian (LoadAction/LaunchAction) yang akan digunakan saatPendingIntenttidak didukung oleh PerenderProtoLayout. Tindakan penggantian akan otomatis diambil dan ditempatkan dalam tata letak saat versi Renderer lebih rendah daripada yang mendukungPendingIntent. (I6eee2, b/450259727)- Kolom
protoLayoutScopedalamMaterialScopekini dibuatNonNullagar lebih mudah digunakan saatMaterialScopedibuat melaluimaterialScopeWithResources. Selain itu, ada fungsihasProtoLayoutScopeuntuk memeriksa keberadaannya. (I1858f, b/450067019)
Versi 1.4.0-alpha01
24 September 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Fitur Baru
- Menambahkan metode helper untuk
LayoutModifieryang membuat elemen memudar saat kartu menjadi terlihat. (I38531, b/390345969) - Menambahkan
materialScopeWithResourcesuntuk mendukung konsepMaterialScopeM3 yang juga menangani pendaftaran resource otomatis. Di dalamnya, ditambahkan metode bantuan baru untuk gambar (backgroundImageavatarImagedan ikon) yang menghilangkan kebutuhan untuk mendaftarkan resource secara manual dionTileResourceRequestsaat digunakan. (I525bd, b/428692714) - Helper Kotlin
ProtoLayoutuntukImagedanImageResourcesuntuk digunakan denganProtoLayoutScopedan pendaftaran resource otomatis. (Iada82, b/430584304) - Menambahkan getter untuk jumlah properti Lottie yang diizinkan dalam penyesuaian satu animasi Lottie. (I73733, b/436532706)
- Menambahkan API di
AndroidLottieResourceByResIduntuk memungkinkan penyesuaian animasi Lottie melalui properti dan menambahkan API untuk membuat properti bagi slot tema dengan ID slot ke warna yang ditentukan. (I301b3, b/423581481) - Menambahkan API penyedia untuk menerima
PendingIntentsebagai tindakan klik (I01978, b/433802488) - Tambahkan API baru di
Image.Builder-setImageResourceuntuk menetapkan objek resource secara langsung ke Gambar dionTileRequest, tanpa perlu mendaftarkannya dalam pemetaan dionTileResourcesRequest. (Ifa69a, b/428693523) - Menambahkan konsep
ProtoLayoutScopesebagai persiapan untuk penanganan resource yang lebih baik di Petak. (I132ce, b/428692423) ProtoLayoutMaterial3MaterialScopekini mengekspos kolomContextsebagai publik, untuk digunakan dalam metode dalam cakupan, tanpa perlu meneruskannya. (I0e5cc, b/414559956)- Menjadikan API semantik heading publik (I75299, b/413653475)
- Mengekspos konstanta
ARC_DIRECTION_*sebagai publik untuk digunakan diArc/ArcLine/ArcText/DashedArcLine. (I83959, b/427556439)
Perubahan API
- Kami telah menghentikan penggunaan metode
Image.Builder()danImage.Builder.setResourceIduntuk mendukung API pendaftaran resource otomatis baru, yang tersedia di APIImage.Builder(ProtoLayoutScope)danImage.Builder.setImageResourceyang menghilangkan kebutuhan untuk menggantionTileResourcesRequest. (I7bfe6, b/432758526) - Memindahkan API untuk membuat
ProtoLayoutScopedari terbatas ke publik. Namun, fungsi tersebut tidak boleh digunakan karena sistem sudah menangani panggilan tersebut. (I1d8e8, b/432758251)
Perbaikan Bug
- Menambahkan implementasi untuk mendukung
PendingIntentdiProtoTiles(I38167, b/430610429) - Tambahkan metode
invalidateLayout. (Ief898) - Memindahkan minSdk default dari API 21 ke API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
ImageResourcekini memiliki metodehashCodedanequals. (I650ee, b/428692423, b/428693523)- Menambahkan pesan proto baru
PendingIntentActiondan builder wrapper-nya (Ie2aca, b/427643502) - Mengurangi frekuensi pembuatan instance
ZoneId. (I284d3) - Terapkan deskripsi konten default ke satu slot
textButton. (I0dc8a, b/415001534) - Memperbaiki perhitungan untuk menyesuaikan jumlah baris maksimum di sisi perender. (I933bc, b/414353620)
Versi 1.3
Versi 1.3.0
4 Juni 2025
androidx.wear.protolayout:protolayout-*:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.
Perubahan penting sejak versi 1.2.0
- Desain Material 3 hadir di smartwatch, dengan komponen dan tata letak yang dioptimalkan untuk layar bulat dan diskalakan dengan tepat dari ukuran layar kecil hingga besar
- Hal ini mencakup library
protolayout-material3khusus Kotlin dengan lebih banyak API seperti Compose untuk komponen dan fitur berikut: - Tema warna dinamis yang berasal dari sistem dan tampilan jam dengan tema Material3 terbaru untuk warna, bentuk, dan tipografi
MaterialScopeuntuk menangani semua default yang memiliki opini dan penyesuaian yang lebih mudahiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- Semua komponen berfungsi di semua level SDK dan versi
ProtoLayoutRenderer, serta menyediakan penggantian yang wajar jika berlaku
- Hal ini mencakup library
- API yang lebih cocok untuk Kotlin dan mirip Compose untuk elemen ProtoLayout dasar
LayoutModifierdengan kemampuan untuk menambahkan sebagian besar pengubah sebagai fungsi berantai (padding,contentDescription(termasukclearSemantics),background,clip,opacity, dll.), yang dapat dikonversi ke objekModifiersyang adaLayoutColorsdanLayoutStringsebagai jenis dengan dukungan yang lebih mudah untuk menggunakan kolom dan batasan dinamistextdanfontStyle- dukungan peta yang lebih baik untuk
StateBuilder, termasukDynamicDataMapdan metode factory sepertiintAppDataKeyuntuk memudahkan pembuatan objekAppDataKey
- Animasi Lottie mendukung penyertaan opsi untuk menyetel pemicu yang berbeda tentang kapan animasi harus dimulai, misalnya saat tata letak dimuat atau saat tata letak menjadi terlihat
- Peningkatan dukungan gradien:
- Linear gradient API sebagai bagian dari
Brushyang dapat digunakan dalam pengubahBackgrounduntuk elemen sepertiBox,Spacer, dll. … - Mengizinkan nilai warna dinamis di
ColorStopyang digunakan untuk gradien linear dan sapuan - Gradien Sapuan yang ada dalam objek busur kini mendukung warna dinamis serta sudut awal dan akhir
- Binding data platform di
protolayout-expressionuntuk menerima informasi kapan saja visibilitas tata letak tersebut diubah, yang misalnya dapat digunakan untuk menyembunyikan bagian tertentu dari tata letak saat kartu di-swipe ke - Library pengujian -
protolayout-testing- telah ditambahkan untuk mendukung cakupan pengujian Unit yang lebih mudah untuk elemen ProtoLayout apa pun - Elemen baru
DashedArcLinedengan kumpulan fitur yang ditingkatkan sehingga garis dapat memiliki garis putus-putus, berbeda denganArcLineyang ada - Dukungan
ArcSpaceruntuk menyetel panjangnya dalam dimensi DP, bukan derajat - Menambahkan sumbu kebulatan
FontSettingyang berlaku untuk beberapa font
Versi 1.3.0-rc01
20 Mei 2025
androidx.wear.protolayout:protolayout-*:1.3.0-rc01 dirilis tanpa perubahan dari rilis sebelumnya. Versi 1.3.0-rc01 berisi commit ini.
Versi 1.3.0-beta02
7 Mei 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta02 dirilis. Versi 1.3.0-beta02 berisi commit ini.
Perbaikan Bug
- Kami telah melakukan peningkatan penting pada nilai desain Tipografi yang diterapkan di API 36 dan yang lebih baru. Hal ini karena mulai API 36, semua Kartu akan menggunakan font sistem, sehingga perubahan ini memberikan konsistensi yang lebih baik pada carousel Kartu. (If316f)
- Pembangun
Text,Spacer,ArcLine, danDashedArcLinetidak akan menampilkan pengecualian jikalayoutConstraintsuntuk nilai dinamis tidak ditetapkan. Perhatikan bahwa perender lama masih memerlukanlayoutConstraintsuntuk ditetapkan dan akan mengabaikan nilai dinamis yang tidak ditetapkan. (Ic52e8) - Tambahkan pengubah semantik heading untuk menunjukkan bahwa elemen tata letak adalah heading untuk bagian konten untuk tujuan aksesibilitas, dan tandai teks di slot judul
primaryLayoutagar menjadi heading aksesibilitas secara default. (Iae1fb) - Penyempurnaan UX akhir
primaryLayoutdengan mengurangi jarak antara slot judul dan slot utama menjadi 4 dp, bukan 6 dp di layar yang lebih kecil. (I0e056) - Terapkan deskripsi konten default ke
textEdgeButton. (Ifaf8b) - Pembaruan kecil pada padding dalam
avatarButton. (I0910b)
Versi 1.3.0-beta01
9 April 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.
Fitur Baru
Rilis 1.3.0-beta01 Wear ProtoLayout menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci (kecuali jika ditandai sebagai eksperimental). Wear ProtoLayout 1.3 menyertakan fungsi dan API baru berikut:
- Desain Material 3 hadir di smartwatch, dengan komponen dan tata letak yang dioptimalkan untuk layar bulat dan diskalakan dengan tepat dari ukuran layar kecil hingga besar
- Hal ini mencakup library
protolayout-material3khusus Kotlin dengan lebih banyak API seperti Compose untuk komponen dan fitur berikut: - Tema warna dinamis yang berasal dari sistem dan tampilan jam dengan tema Material3 terbaru untuk warna, bentuk, dan tipografi
MaterialScopeuntuk menangani semua default yang memiliki opini dan penyesuaian yang lebih mudahiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- Semua komponen berfungsi di semua tingkat SDK dan versi ProtoLayout Renderer, serta menyediakan penggantian yang wajar jika berlaku
- Hal ini mencakup library
- API yang lebih cocok untuk Kotlin dan mirip Compose untuk elemen ProtoLayout dasar
LayoutModifierdengan kemampuan untuk menambahkan sebagian besar pengubah sebagai fungsi berantai (padding,contentDescription(termasukclearSemantics),background,clip,opacity, dll.), yang dapat dikonversi ke objekModifiersyang adaLayoutColorsdanLayoutStringsebagai jenis dengan dukungan yang lebih mudah untuk menggunakan kolom dan batasan dinamistextdanfontStyle- dukungan peta yang lebih baik untuk
StateBuilder, termasukDynamicDataMapdan metode factory sepertiintAppDataKeyuntuk memudahkan pembuatan objekAppDataKey
- Animasi Lottie mendukung penyertaan opsi untuk menyetel pemicu yang berbeda tentang kapan animasi harus dimulai, misalnya saat tata letak dimuat atau saat tata letak menjadi terlihat
- Peningkatan dukungan gradien:
- Linear gradient API sebagai bagian dari
Brushyang dapat digunakan dalam pengubahBackgrounduntuk elemen sepertiBox,Spacer, dll. … - Mengizinkan nilai warna dinamis di
ColorStopyang digunakan untuk gradien linear dan sapuan - Gradien Sapuan yang ada dalam objek busur kini mendukung warna dinamis serta sudut awal dan akhir
- Binding data platform di
protolayout-expressionuntuk menerima informasi kapan saja visibilitas tata letak tersebut diubah, yang misalnya dapat digunakan untuk menyembunyikan bagian tertentu dari tata letak saat kartu di-swipe ke - Library pengujian -
protolayout-testing- telah ditambahkan untuk mendukung cakupan pengujian Unit yang lebih mudah untuk elemen ProtoLayout apa pun - Elemen baru
DashedArcLinedengan kumpulan fitur yang ditingkatkan sehingga garis dapat memiliki garis putus-putus, berbeda denganArcLineyang ada - Dukungan
ArcSpaceruntuk menyetel panjangnya dalam dimensi DP, bukan derajat - Menambahkan sumbu kebulatan
FontSettingyang berlaku untuk beberapa font
Versi 1.3.0-alpha10
12 Maret 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 dirilis. Versi 1.3.0-alpha10 berisi commit ini.
Fitur Baru
- Menambahkan helper untuk Kuas di Pengubah Latar Belakang Kotlin. (I995de)
- Kolom Konteks Android wajib telah dipublikasikan di
MaterialScopeuntuk memungkinkan penggunaan yang lebih mudah dalam fungsi developer yang membuat komponen untuk kartu Material3. (I7df73)
Perubahan API
- Mengganti nama API
platformVisibilityStatusmenjadiPlatformEventSources.isLayoutVisibledan menambahkan API eksperimental baruPlatformEventSources.isLayoutUpdatePending. (Ie1e04)
Perbaikan Bug
- Margin untuk
primaryLayoutkini dibulatkan dengan benar, yang dapat memengaruhi beberapa tata letak hingga 2dp lebih sedikit untuk slot utama. (I8f5d3) - Klarifikasi tema warna dinamis default di komponen Material3
ProtoLayout. (Iff5f3) - Tipografi
Typography.NUMERAL_*tidak lagi berbentuk tabel/monospace secara default. Jika teks dianimasikan, sebaiknya tambahkan setelanFontSetting.tabularNum()ke teks tersebut. Dalam semua kasus lainnya, opsi monospace ini tidak diperlukan dan akan ada lebih banyak karakter yang tersedia jika tidak menggunakannya. (Id3cd9) - Klarifikasi tema warna dinamis default di komponen Material3
ProtoLayout. (I9d831)
Versi 1.3.0-alpha09
26 Februari 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 dirilis. Versi 1.3.0-alpha09 berisi commit ini.
Fitur Baru
- Menambahkan pengubah eksperimental untuk
enterTransitiondanexitTransition(I4a4d6) - Kami telah menambahkan binding platform tambahan untuk menerima status visibilitas tata letak penuh, setiap kali status tersebut berubah. (I250c3)
- Mengizinkan penyisipan status aplikasi pengujian dan data platform ke
LayoutElementAssertionsProvideruntuk mengevaluasi nilai dinamis. (Ib5fcb) - Menambahkan filter sudut ke library pengujian protolayout (Ie2361)
ButtonColors,CardColors, danProgressIndicatorColorskini mendukung metode penyalinan, dengan penggantian opsional beberapa parameter. (Ie2054)
Perubahan API
- Menambahkan dukungan data binding dinamis ke library pengujian (Ib98de)
- Memperbaiki
imageButtonsaat digunakan dengan fungsibackgroundImagedengan menghapus overlay. Selain itu, izinkan fungsibackgroundImageuntuk memungkinkan penentuan null untuk warna overlay, yang berarti overlay tidak akan diterapkan. (Ibec3c)
Perbaikan Bug
- Mengubah metode
hasValueOfTypedefault untuk menampilkanUnsupportedOperationException, bukanIllegalArgumentException. (Ia36c3) - Nilai token warna default diperbarui untuk mencerminkan spesifikasi terbaru. (I75d44)
- Perbaikan untuk masalah aliasing yang terlihat pada garis busur di perender petak AndroidX. (I88190)
Versi 1.3.0-alpha08
12 Februari 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 dirilis. Versi 1.3.0-alpha08 berisi commit ini.
Fitur Baru
- Menambahkan parameter daftar
FontSettinguntuk teks Material3. (Ic102d) - Menambahkan class
DynamicDataMapyang kini didukungStateBuilderuntuk API Kotlin yang lebih aman untuk status aplikasi (I012ba) - Menambahkan metode factory seperti
intAppDataKeyuntuk mempermudah pembuatan objekAppDataKey(Icea2a) DynamicDataValuekini memiliki metodehasValueOfType(Class<?>)selain metodehasInt/hasColor/.... (I4f7a6)- Kami telah menambahkan
errorDimke ProtoLayout Material3ColorScheme, untuk error prioritas tinggi atau tindakan darurat seperti peringatan keselamatan. (Ia17bb) - Kami telah menambahkan perlindungan terhadap error saat mengakses setelan reducemotion global, yang dipicu di beberapa platform tempat setelan tersebut tidak disediakan. (I01e2c)
Perubahan API
addKeyToValueMappingdiganti namanya menjadiaddToStateMapdan metodeDynamicDataMap.putdihapus karena berlebihan. (Ibe9dd)- Tipografi Material3 kini mendukung sumbu variabel kebulatan untuk font sistem yang mendukung sumbu ini. ProtoLayout
FontSettingmendukung sumbu kebulatan untuk font yang mendukung sumbu ini. (I33eb5) - Mengganti nama
multilineAlignmentmenjadi perataan dalam metode teks Material3. (I2b66b) - Memperbarui indikator progres melingkar menjadi jenis Kotak, juga menentukan
mainContentdiconstructGraphicmenjadi jenis Kotak (I5a3dc) - Dukungan yang lebih baik untuk menggunakan indikator progres melingkar dalam grafik (I039db)
Perbaikan Bug
- Mengizinkan nilai dinamis di
ColorStopdan juga untuk sudut awal/akhir diSweepGradient. (I0146d) - Perbaikan Dokumen. (I4a63a)
- Memperbarui komponen Material 3 (
graphicCarddanavatarButton) untuk menyediakan penggantian saat dimensi perluasanweighttidak didukung (misalnya, di bawah API 33). Memperbarui komponen teks untuk melakukan penggantian keTEXT_OVERFLOW_ELLIPSIZE_ENDjikaTEXT_OVERFLOW_ELLIPSIZEtidak didukung oleh perender. (I19e2c) - Pembaruan Dokumen untuk
PrimaryLayoutMargins. (Ibaf7b)
Versi 1.3.0-alpha07
29 Januari 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 dirilis. Versi 1.3.0-alpha07 berisi commit ini.
Fitur Baru
- Menambahkan opsi API untuk menyetel pemicu yang berbeda untuk animasi Lottie. Selain itu, menambahkan API untuk pemicu yang diaktifkan saat tata letak terlihat (I8272d)
- Menambahkan pengubah
border,visibility, danopacity. (I6d3dd) - Menambahkan tombol avatar ke komponen ProtoLayout Material3. (Idb5ae)
- Kami kini mengizinkan margin (samping dan dalam beberapa kasus bawah) untuk disesuaikan di Material3
primaryLayout. (Ib22f6) - Tambahkan varian tersegmentasi dari indikator progres melingkar. (I6a648)
- Menambahkan komponen tombol ringkas ke ProtoLayout Material3. (Ia3c5c)
- Menambahkan komponen tombol bentuk pil dan tombol gambar ke ProtoLayout Material3. (Ifb88a)
Perubahan API
LayoutModfier.foldInkini disebutfoldRightagar lebih mencerminkan perilaku yang diharapkan (Idf242)- Pemicu
VisibleOncekini bersifat eksperimental. (Ib2d26) - Menghapus
withOpacitydari API publik karena ada alternatif pustaka grafis. (I030c2) - Mengganti nama metode tingkat teratas di
LayoutString.ktdanLayoutColor.ktagar memiliki nama yang kompatibel dengan Java. (I7aff0) - Menghapus tipografi non-ProtoLayout di Material3. (Idd9ae)
- Menambahkan akhiran Color ke kolom di class
*Colorsdi Material3. (I2d114)
Perbaikan Bug
- Menambahkan implementasi penggantian
EdgeButtonuntuk perender lama tanpa dukungan sudut asimetris. (I63364) - Menambahkan implementasi penggantian indikator progres melingkar dengan perender yang lebih lama. (I0f134)
Versi 1.3.0-alpha06
15 Januari 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 dirilis. Versi 1.3.0-alpha06 berisi commit ini.
Fitur Baru
LayoutColoruntuk mendukung jenis warna statis dan dinamis (I4c89b)- Menambahkan komponen textButton
ProtoLayout Material3. (Id680d) - Menambahkan komponen
iconButtonProtoLayout Material3. (Ica3f0) - Menambahkan komponen penampung tombol Material3 ProtoLayout. (I17a38)
- Menambahkan dukungan untuk pengubah semantik yang dapat dirantai ke protolayout-material3 (I4af62)
- Menambahkan segmen tunggal ProtoLayout Material3
CircularProgressIndicator(I2c8a2) - Menambahkan pengubah
padding,metadata(I8720a) - Menambahkan pengubah
background,clip, danclickable(I35478) - Menambahkan
LinearGradientke Kuas dan mengizinkannya digunakan di Pengubah Latar Belakang. (Ic4dea) - Menambahkan ukuran kecil untuk appCard dan
titleCard. (I91f98) - Menambahkan komponen ProtoLayout Material3
graphicDataCard. (I92be7) - Menambahkan komponen ProtoLayout Material3
iconDataCarddantextDataCard. (I4e1e4) - Menambahkan komponen ProtoLayout Material3
appCard. (Id4c57) - Abstrak
EdgeButtonColorskeButtonColors. (I83624) - Menambahkan komponen ProtoLayout Material3
titleCard. (I2dc72)
Perubahan API
- ProtoLayout Material3 API kini menerima
LayoutStringuntuk mendukung teks statis dan dinamis. (I9c24a)
Perbaikan Bug
- Menambahkan implementasi perender untuk mem-inflate
DashedArcLine(I0c700) - Perubahan perender untuk mengizinkan
ArcSpacermengambil panjang dp. (I1437b)
Versi 1.3.0-alpha05
11 Desember 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 dirilis. Versi 1.3.0-alpha05 berisi commit ini.
Fitur Baru
- Menambahkan
LayoutStringuntuk mendukung kolom string tata letak yang dapat diikat. (Ida650) - Menambahkan komponen penampung kartu
ProtoLayout Material3. (Ic985a)
Perbaikan Bug
- Library ini kini menggunakan anotasi nullabilitas JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar:
-Xjspecify-annotations=strict(ini adalah nilai default yang dimulai dengan compiler Kotlin versi 2.1.0). (Id1f9b, b/326456246)
Versi 1.3.0-alpha04
13 November 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 dirilis. Versi 1.3.0-alpha04 berisi commit ini.
Fitur Baru
- Memperbarui bentuk Material3 menjadi class dengan kolom yang menyimpan nilai Corner sebenarnya, sama seperti di Wear Compose. (Ied8cd)
- Warna Material3 yang diperbarui untuk menyertakan konsep
ColorScheme, sama seperti di Wear Compose. (If645e) - Menambahkan beberapa pencocok yang umum digunakan ke library pengujian. (Ie5cec)
Versi 1.3.0-alpha03
30 Oktober 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 dirilis. Versi 1.3.0-alpha03 berisi commit ini.
Fitur Baru
- Menambahkan
LayoutElementAssertionsProvider,LayoutElementAssertion, danLayoutElementMatcherke library pengujian (Id1110)
Versi 1.3.0-alpha02
16 Oktober 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.
Fitur Baru
- Versi awal library Material 3. Mencakup komponen
text,edgeButton,buttonGroup, danprimaryLayout.
Perbaikan Keamanan
- Mulai perubahan ini, androidx dikompilasi terhadap protobuf 4.28.2 untuk mengatasi CVE-2024-7254. Upgrade dependensi Anda pada
androidx.wear.protolayout:protolayout-protodanandroidx.wear.protolayout:protolayout-external-protobufversi 1.3.0-alpha01 ke 1.3.0-alpha02 untuk mengatasi risiko kerentanan.
Kontribusi Eksternal
Versi 1.3.0-alpha01
2 Oktober 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.
Perbaikan Bug
- Memperjelas bahwa ketersediaan nama jenis font Roboto dan Roboto Flex bergantung pada perangkat. (I193be)
- Mengaktifkan jenis font Roboto Flex di perender Petak AndroidX. (I08e94)
Versi 1.2
Versi 1.2.1
16 Oktober 2024
androidx.wear.protolayout:protolayout-*:1.2.1 dirilis. Versi 1.2.1 berisi commit ini.
Perbaikan Keamanan
- Mulai perubahan ini, androidx dikompilasi terhadap protobuf 4.28.2 untuk mengatasi CVE-2024-7254. Upgrade dependensi Anda pada
androidx.wear.protolayout:protolayout-protodanandroidx.wear.protolayout:protolayout-external-protobufversi 1.2.0 ke 1.2.1 untuk mengatasi risiko kerentanan.
Versi 1.2.0
7 Agustus 2024
androidx.wear.protolayout:protolayout-*:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.
Perubahan penting sejak 1.1.0
FontStyletelah diupdate untuk memiliki dukungan font tambahan untuk sumbu variabel dan API pemilihan font yang lebih baik untuk mendukung font Flex mendatang.- Dukungan Pengubah Tambahan:
- Pengubah transformasi yang menawarkan terjemahan, rotasi, dan penskalaan dengan atau tanpa animasi.
- Menentukan nilai yang berbeda (horizontal dan vertikal) untuk setiap radius sudut.
- Meningkatkan aksesibilitas semua target sentuh dengan memperluas area yang dapat diketuk dari elemen apa pun yang menggunakan pengubah Clickable menjadi minimal
48dpx48dp. - Meningkatkan kualitas
PrimaryLayoutdanEdgeContentLayoutdengan menambahkansetResponsiveContentInsetEnableduntuk mendukung perilaku responsif tata letak ini di berbagai ukuran layar dan meningkatkan konsistensi Kartu. - Penskalaan/non-penskalaan yang ditingkatkan pada Teks Material untuk penskalaan font non-linear Android 14.
- Peningkatan dukungan untuk arah tata letak RTL pada semua elemen busur.
Perubahan lainnya
- Untuk mengetahui serangkaian perubahan yang lebih lengkap yang diperkenalkan di versi 1.1.0, lihat catatan rilis beta01.
Versi 1.2.0-rc01
24 Juli 2024
androidx.wear.protolayout:protolayout-*:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.
Perbaikan Bug
- Kami telah memperbaiki Chip Material standar sehingga dapat digunakan sebagai ikon saja jika tidak ada label primer atau sekunder yang diteruskan. (Iceef9)
- Dokumentasi untuk tata letak Material telah diperbarui untuk menyertakan visual dari halaman yang relevan agar tata letak lebih mudah dipahami. (I0256a)
Versi 1.2.0-beta01
10 Juli 2024
androidx.wear.protolayout:protolayout-*:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.
Fitur Baru
Rilis 1.2.0-beta01 Wear ProtoLayout menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci (kecuali jika ditandai sebagai eksperimental). Wear ProtoLayout 1.2 menyertakan fungsi dan API baru berikut:
FontStyletelah diperbarui untuk memiliki dukungan font tambahan sebagai berikut:- Menyetel setelan variasi font yang berbeda seperti
FontSetting.weightdanFontSetting.width - Menetapkan lebar yang sama untuk semua karakter numerik - angka tabular (setelan fitur font
FontSetting.tnum) - API pemilihan font yang ditingkatkan untuk mendukung font fleksibel yang akan datang dengan menentukan nama jenis font pilihan yang akan digunakan.
- Menyetel setelan variasi font yang berbeda seperti
- Memperluas pengubah
Corneruntuk mendukung penentuan setiapCornerRadiusdengan nilai horizontal dan vertikal terpisah untuk memungkinkan pembuatan elemen dengan sudut asimetris. - Menambahkan pengubah
Transformationbaru yang menawarkan terjemahan, rotasi, dan penskalaanLayoutElement. Transformasi ini dapat dianimasikan menggunakan nilai dinamis. - Menambahkan
setArcDirectiondengan opsiClockwise,CounterClockwise, danNormalke semua elemen busur (Arc,ArcLine, danArcText) untuk dukungan yang lebih baik dalam arah tata letak yang berbeda (seperti LTR dan RTL). - Meningkatkan aksesibilitas semua target sentuh dengan memperluas area yang dapat diketuk dari elemen apa pun yang menggunakan pengubah
Clickablemenjadi setidaknya48dpx48dp. - Meningkatkan kualitas
PrimaryLayoutdanEdgeContentLayoutdengan menambahkansetResponsiveContentInsetEnableduntuk mendukung perilaku responsif tata letak ini di berbagai ukuran layar dan meningkatkan konsistensi Kartu. Menambahkan peringatan linter untuk menyarankan penggunaan API ini dengan perbaikan cepat. - Penskalaan/non-penskalaan yang ditingkatkan pada
TextMaterial untuk penskalaan font non-linear Android 14.
Perubahan API
- Nama jenis huruf default (
DEFAULT_SYSTEM_FONT) dihapus karena tersirat dengan tidak menggunakanpreferredFontFamiliesAPI. (I39dab) - Parameter yang diteruskan ke
FontSetting.widthharus positif. (I1266f)
Versi 1.2.0-alpha05
26 Juni 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 dirilis. Versi 1.2.0-alpha05 berisi commit ini.
Fitur Baru
- Tambahkan metode
hasTextkeMaterial.CompactChipuntuk memeriksa apakah konten teks telah ditetapkan. (I6e8fc)
Perubahan API
- Konstanta
FontFamilydipindahkan keFontStyle, bukan class Builder-nya. (I06ced) - Memperbarui API
FontSetting.weightdanFontSetting.widthuntuk menyertakan anotasi Rentang dan mengubah parameter berat menjadi int. (Ia726c)
Perbaikan Bug
- Teks yang tidak dapat diskalakan di library Material kini berfungsi dengan benar dengan penskalaan font non-linear Android 14. (I6601e)
Versi 1.2.0-alpha04
29 Mei 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 dirilis. Versi 1.2.0-alpha04 berisi commit ini.
Perubahan API
- Menambahkan API sudut asimetris agar dapat menentukan radius setiap sudut secara terpisah dengan 2 nilai. (Icbd69)
- Memperluas
FontSettingAPI untuk menyertakan: - Menambahkan API jenis font ke
FontStyleuntuk memungkinkan penentuan daftar urutan jenis font yang akan digunakan. (Iba9f5) - Mengganti nama konstanta untuk tinggi ruang antara konten dan label sekunder di
LayoutDefaultsMaterial yang awalnya diawali dengan “Konten tepi” agar lebih umum karena dapat diterapkan kePrimaryLayoutdanEdgeContentLayout. (I4dc32)
Perbaikan Bug
- Mengganti nama penamaan untuk sumbu font variabel dari
axisNamemenjadiaxisTag. (I02ba3)
Versi 1.2.0-alpha03
14 Mei 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 dirilis. Versi 1.2.0-alpha03 berisi commit ini.
Fitur Baru
- Menambahkan API untuk menetapkan nilai bobot kustom untuk
FontStyle. (I7390a)
Perbaikan Bug
- Memperbaiki kegagalan di
getTouchDelegateInfokarena peta target kosong. (I2accf)
Versi 1.2.0-alpha02
1 Mei 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Perubahan API
- Kami telah menambahkan dukungan untuk menonaktifkan umpan balik riak pada setiap elemen yang dapat diklik. (If1ede)
- API untuk transformasi telah dihapus dari
ArcModifierskarena tidak mendukung fitur tersebut (Ic0827) - Builder
ArcDirectionPropkini mengharapkan nilai dalam konstruktor. (I76ada) - Metode
PlatformDataValues.Builder.putAllakan memungkinkan penggabungan satuPlatformDataValuekePlatformDataValuelainnya. (I50ba3) Text#setIsScalablediganti namanya menjadiText#setScalable. (If920e)- Teks Material dapat menyetel apakah akan menggunakan ukuran yang dapat diskalakan (bertambah besar saat ukuran font pengguna diubah) atau tidak. (Ibc849)
- Kami telah menambahkan opsi untuk menyetel deskripsi konten ke
TitleChip. (I5d21f) - Memperbaiki
CompactChipagar berfungsi dengan benar hanya dengan ikon dan memperbarui API untuk mengizinkan opsi ini. (I6589e)
Perbaikan Bug
- Memperbaiki masalah potensi duplikasi data platform selama inisialisasi. (Iba0fd)
- Memperkenalkan getter baru ke
DynamicDataNodeuntuk mengambil biaya node. Biaya ini digunakan saat mendapatkan kuota node dinamis. Saat ini, Node dengan nilai tetap akan memiliki biaya 0, semua node lainnya akan memiliki biaya 1. (Ia33e1) - Hapus logika penghitungan dari
NO_OP_QUOTA_MANAGER. (Ib50b8) - Kami telah menambahkan aturan lint untuk melaporkan peringatan saat
PrimaryLayoutdigunakan tanpasetResponsiveContentInsetEnableddan memberikan perbaikan cepat. (I12025) - Ada batas jumlah node ekspresi dinamis. (Iffae8)
Versi 1.2.0-alpha01
6 Maret 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Fitur Baru
- Elemen
ProtoLayout Arckini memiliki opsi untuk menambahkanArcDirection(Clockwise,Counterclockwise, atauNormal) ke dalamnya. Menambahkan perilaku ini keArc,ArcLine, atauArcTextakan memperbaiki perilakunya pada tata letak RTL. (I90699) EdgeContentLayouttelah diupdate dengan settersetResponsiveContentInsetEnabledbaru untuk mencapai keselarasan yang lebih baik dengan panduan UX, konsistensi di Kartu dengan memiliki label utama di tempat tetap di atas dan inset responsif untuk label. (I60175)- Kami telah menambahkan
PrimaryLayout.setResponsiveContentInsetEnabledyang menambahkan inset responsif ke label utama, label sekunder, dan chip bawah dalam tata letak ini, untuk mencegah konten keluar dari tepi layar. (I0c457) - Menambahkan metode untuk menghapus margin luar dari
CircularProgressIndicatorsehingga dapat digunakan sebagai komponen yang lebih kecil. (I55c06)
Perubahan API
- Perender kartu kini mengecualikan padding font pada semua elemen teks secara default, tanpa opsi untuk menyertakannya. (I3e300)
Perbaikan Bug
- Memperbaiki masalah Perataan teks saat pemangkasan, jarak antar-huruf, dan perataan tengah digunakan pada Teks. (I716c7)
- Menambahkan solusi untuk masalah gambar busur skia. (I08f09)
- Memperbaiki arah gambar
ArcLineuntuk tata letak RTL. (I6c141)
Versi 1.1
Versi 1.1.0
7 Februari 2024
androidx.wear.protolayout:protolayout-*:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.
Perubahan penting sejak versi 1.0.0
- Dukungan gradien dan representasi yang lebih baik untuk panjang yang lebih besar dari 360 derajat di
ArcLine. - Pemformatan tanggal dan waktu mendukung zona waktu yang berbeda untuk jenis data dinamis.
- Opsi pengubahan ukuran otomatis dan pemotongan teks yang lebih baik, untuk menangani teks yang terpotong.
- Spacer mendukung dimensi yang diperluas dengan bobot opsional.
- Anotasi persyaratan versi skema untuk semua API
ProtoLayout. - Memperluas area target ke elemen
Clickablemana pun menjadi 48 dp x 48 dp, untuk memenuhi persyaratan aksesibilitas. - Padding font dinonaktifkan secara default dan merupakan satu-satunya perilaku di semua elemen Teks dan komponen Material yang berisi teks.
Perubahan lainnya
- Untuk mengetahui serangkaian perubahan yang lebih lengkap yang diperkenalkan di versi 1.1.0, lihat catatan rilis beta01.
Versi 1.1.0-rc01
24 Januari 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01 dirilis. Versi 1.1.0-rc01 berisi commit ini.
Perbaikan Bug
PlatformTimeUpdateNotifierImplsegera berdetak setelah mengaktifkan update. (I77145)CircularProgressIndicatortelah diperbaiki untuk tata letak RTL. Mulai sekarang, arahnya akan searah jarum jam dalam semua kasus. (I95ee3)- Menambahkan solusi untuk masalah gambar busur skia. (I08f09)
Versi 1.1.0-beta01
10 Januari 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01 dirilis. Versi 1.1.0-beta01 berisi commit ini.
Fitur Baru
Rilis 1.1.0-beta01 Wear ProtoLayout menunjukkan bahwa rilis library ini sudah berfitur lengkap dan API dikunci (kecuali jika ditandai sebagai eksperimental). Wear ProtoLayout 1.1 menyertakan fungsi dan API baru berikut:
ArcLinekini mendukung gradien dengan menambahkanBrushdenganSweepGradientdan memiliki bayangan pada tutup untuk merepresentasikan panjang yang lebih besar dari 360 derajat dengan lebih baik dengan menambahkanShadowpadaStrokeCapyang ada.DynamicInstantmemiliki dukungan untuk pemformatan tanggal-waktu yang di-zona.DynamicInstantdanDynamicDurationdapat digunakan sebagai jenis data status atau platform.- Fitur penyesuaian ukuran untuk ukuran teks yang memungkinkan penetapan beberapa ukuran ke
FontStyle.setSizestempat Ukuran teks akan otomatis disesuaikan skalanya berdasarkan ruang yang tersedia di dalam induk. Selain itu, kami meningkatkan opsi pemotongan teks yang meluap dengan menambahkanTEXT_OVERFLOW_ELLIPSIZEdan menghentikan penggunaanTEXT_OVERFLOW_ELLIPSIZE_END. Spacerkini mendukung dimensi yang diperluas dengan bobot opsional. Untuk membangunExpandedDimensionProp, kami telah menambahkan metode bantuanDimensionBuilders.weight.- Dukungan untuk menyembunyikan dan menampilkan elemen tata letak secara dinamis dengan
Modifier.visible. Hal ini termasuk memiliki nilai dinamis diBoolProp. - Semua API
ProtoLayoutkini memiliki anotasi persyaratan versi skema dan versi dapat diperiksa sebelum memanggil API yang lebih baru. - Setiap elemen yang memiliki
Clickablekini memiliki area target yang diperluas menjadi setidaknya 48x48 di perender untuk mendukung persyaratan aksesibilitas dengan lebih baik. - Mengikuti inisiatif Compose dan komponen Material lainnya, kami kini menonaktifkan padding font secara default pada semua elemen
Text. Selain itu,AndroidTextStyledan setter terkait telah dihapus dari API publik. dengan perbaikan bug berikut: - Menambahkan setter untuk memosisikan konten tepi di
EdgeContentLayoutsehingga dapat diposisikan sebelum konten lainnya. - Secara konsisten memunculkan pengecualian saat menemukan nilai enum yang tidak dikenali.
- Membatalkan validitas hasil ekspresi jika menghasilkan nilai numerik yang tidak valid (NaN atau tak terhingga) atau menampilkan
ArithmeticException.
Perubahan API
- Memperbarui
SweepGradientAPI untuk mengizinkan penerimaan warna atauColorStopsdalam konstruktor. (I6676f)
Perbaikan Bug
- Menambahkan dukungan API dan perender terbatas untuk menyetel arah elemen busur digambar. (Idef5a)
RoundModeditetapkan secara default keFloordiFloatToInt32Nodejika tidak ditentukan. Node akan tetap menampilkan pengecualian jikaRoundModeyang diberikan tidak dikenali. (I1b2d8)
Versi 1.1.0-alpha04
13 Desember 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 dirilis. Versi 1.1.0-alpha04 berisi commit ini.
Fitur Baru
- Class
VersionInfotidak mengimplementasikan antarmukaComparable. (I8d13c) - Renderer kini mendukung opsi
TEXT_OVERFLOW_ELLIPSIZE. (I7f085)
Perubahan API
- Opsi peluapan teks
TEXT_OVERFLOW_ELLIPSIZE_ENDkini tidak digunakan lagi. Gunakan APITEXT_OVERFLOW_ELLIPSIZEbaru dengan perilaku yang sangat mirip. (I822d8) - Mengikuti inisiatif Compose dan komponen Material lainnya, kami kini menonaktifkan padding font secara default di semua elemen Teks. Selain itu,
AndroidTextStyledan penyetel terkait telah dihapus dari API publik. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hiddendiganti denganModifier.visible(I56902)FontStyle#setSizeskini menerima argumen int, bukanSpProp. (I02b37)
Perbaikan Bug
- Menampilkan pengecualian saat menemukan nilai enum yang Tidak Ditentukan atau Tidak Dikenali. (I9d2cf)
- Refaktor
DynamicTypeBindingRequest. (I27b57) - Membatalkan validitas hasil ekspresi jika menghasilkan nilai numerik yang tidak valid (NaN atau tak terhingga) atau menampilkan
ArithmeticException. (I681ae)
Versi 1.1.0-alpha03
29 November 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 dirilis. Versi 1.1.0-alpha03 berisi commit ini.
Fitur Baru
- Menambahkan dukungan eksperimental untuk menyembunyikan/memunculkan elemen tata letak secara dinamis (I64a78)
- Menambahkan dukungan nilai dinamis ke
BoolProp(I2fe96) - Menambahkan anotasi persyaratan versi skema ke API
ProtoLayout(I0f03c) - Memperluas API dengan opsi baru di
TextOverflowuntuk memangkas Teks dalam penampung induk tetap meskipun baris maksimum belum tercapai (tetapi tidak ada cukup ruang untuk Teks). (I110a9) - Menambahkan metode helper
DimensionBuilders.weightuntuk membuatExpandedDimensionPropdengan bobot. (I4f72b) DynamicInstantdanDynamicDurationdapat digunakan sebagai jenis data status atau platform. (I6819f)
Perubahan API
- Mengupdate API untuk menyembunyikan
DynamicZonedDateTimedan memindahkan semua operasinya keDyanamicInstant(I34b94) - Spacer kini mendukung dimensi Diperluas untuk lebar/tinggi. (Ie7c94)
- Mendukung ekstensi area target klik di Renderer (I39c79)
Versi 1.1.0-alpha02
15 November 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 dirilis. Versi 1.1.0-alpha02 berisi commit ini.
Fitur Baru
- Menambahkan kolom
ArcLineStrokeCapShadowke API. (I830ec) - Memperluas API agar dapat menentukan lebar atau tinggi Spacer yang akan diperluas. (I757ca)
- Kami telah menambahkan API eksperimental untuk menyesuaikan ukuran teks secara otomatis berdasarkan ruang yang tersedia di dalam induknya. (Ibbe63)
- Mendukung ukuran minimum yang dapat diklik (I178e3)
- Menambahkan dukungan perender untuk
StrokeCapShadow. (I48b17) - Menambahkan dukungan perender untuk Gradien Sapu di
ArcLine. (I4d5bb)
Versi 1.1.0-alpha01
18 Oktober 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
- Menambahkan opsi kuas ke
Arcline, dengan dukungan untukSweepGradient. (Ie7ce3) - Menambahkan dukungan untuk pemformatan tanggal dan waktu yang di-zona. (Ibfae0)
- Menambahkan wrapper Java dan proto yang diperlukan untuk pemformatan tanggal-waktu yang memiliki zona. (I97126)
- Menambahkan getter untuk membaca kembali nilai yang disimpan di
DynamicDataValue. (Ie6cea) - Menambahkan setter untuk memosisikan konten tepi di
EdgeContentLayoutsehingga dapat diposisikan sebelum konten lainnya. (Ie8e8a)
Perbaikan Bug
- Memperbaiki masalah saat ekspresi dengan beberapa pendaftaran sumber data waktu tidak segera diperbarui. (I8e1a8)
- Memperbaiki bug untuk memusatkan elemen root selama update perbedaan. (Ie48f7)
- Nilai batasan tata letak yang tidak disetel (atau kosong) tidak akan diabaikan lagi. (Ibc785)
- Mengurangi penundaan antara tata letak yang menjadi terlihat dan node pipeline-nya diinisialisasi. (I38d4e)
Versi 1.0
Versi 1.0.0
9 Agustus 2023
androidx.wear.protolayout:protolayout-*:1.0.0 dirilis. Versi 1.0.0 berisi commit ini.
Fitur utama 1.0.0
Library ProtoLayout memperkenalkan API untuk membuat tata letak dan ekspresi yang dapat digunakan di berbagai platform Wear OS. Misalnya, library Kartu menggunakan API ini untuk mendukung data binding platform (untuk pembaruan data kartu yang lebih cepat) dan animasi.
Versi 1.0.0-rc01
26 Juli 2023
androidx.wear.protolayout:protolayout-*:1.0.0-rc01 dirilis. Versi 1.0.0-rc01 berisi commit ini.
- Untuk bermigrasi dari Kartu ke
ProtoLayout, ikuti petunjuk di sini.
Perubahan API
- Kami telah menghapus metode
setLayoutConstraintForDynamicAnchorAngledangetLayoutConstraintForDynamicAnchorAngledari elemen Arc. Metode ini telah ditambahkan secara keliru dan tidak berpengaruh pada tata letak yang diberikan. (If7d01) - Kami telah membatasi kedalaman maksimum tata letak
ProtoLayoutmenjadi 30LayoutElementsbertingkat. (I8a74b)
Perbaikan Bug
- Kami telah menambahkan pemeriksaan untuk menampilkan pengecualian jika
DynamicColortelah ditetapkan untukSpanText. (I0e5bc) - Diperjelas bahwa satuan sumber data
DAILY_CALORIESadalah kkal. (Iaa785)
Versi 1.0.0-beta01
21 Juni 2023
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 dirilis. Versi 1.0.0-beta01 berisi commit ini.
Fitur Baru
- Mengizinkan penyetelan clock untuk pengujian pengikatan waktu. (I05622)
Perubahan API
PlatformDataReceiver.onData()danStateBuilders.Builder.addKeyToValueMappingkini menerima pemetaanDynamicDataKeykeDynamicDataValueyang aman untuk jenis, bukan generik yang tidak aman. Artinya,DynamicDataValuekini diketik denganDynamicType-nya. KonstantaHEART_RATE_ACCURACY_Xdipindahkan ke rootPlatformHealthSources, agar sesuai dengan penempatan konstanta Android lainnya. Konstanta intHEART_RATE_ACCURACY_Xkini digunakan langsung diDynamicHeartRateAccuracy.constant()danDynamicHeartRateAccuracy.dynamicDataValueOf(), bukan konstanta nilai. (I82ff5)- Class
PlatformHealthSources.Constantsdapat di-instantiate karena kesalahan. Masalah ini telah diperbaiki. (Icb849) PlatformTimeUpdateNotifier#setReceiverkini menerimaRunnable, bukan fungsiSupplierdanExecutoruntuk diberi tahu. (I9d938)- Kami telah mengubah jenis parameter di
PlatformTimeUpdateNotifier#setReceiverdariCallablemenjadiSupplier. (I664bf) CompactChipdanTitleChipkini mendukung penambahan ikon ke dalamnya. (I5a01e)
Perbaikan Bug
- Memperbarui pesan Prop dengan kolom dinamis untuk menggunakan oneof (I81739)
- Menggunakan kembali penerapan setter untuk overload yang memiliki setter (Ied70c)
- Merekam sidik jari dengan benar di setter yang memiliki overload (I86ed2)
Versi 1.0.0-alpha11
7 Juni 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit berikut ini.
Fitur Baru
- Kami telah menambahkan
PlatformDataKeyuntuk akurasi detak jantung. (I7f9b8)
Perubahan API
- Mengganti nama
StateBuilders#getIdToValueMappingmenjadigetKeyToValueMappingdan mengubah jenis nilai yang ditampilkan menjadiMap<<AppDataKey<?>,DynamicDataValue>. (Iaa7ae) - Menjadikan
StateStoresebagai class final (I408ca) - Antarmuka
TimeGatewaytelah digantikan olehPlatformTimeUpdateNotifierdi libraryprotolayout-expression-pipelineyang memberikan frekuensi yang diinginkan untuk memperbarui data waktu. (I60869) - Mengganti nama
register/unregisterForDatadiPlatformDataProvidermenjadiset/clearReceiver(I14b02) - Di Teks Material,
getExcludeFontPaddingtelah diganti namanya menjadihasExcludeFontPadding. (Iea01d) - Setter untuk menyelaraskan label dengan sempurna telah ditambahkan ke semua komponen chip. Semua chip kini menerapkan target minimum yang dapat diketuk. (I8ae92)
LayoutDefaults#BUTTON_MAX_NUMBERdiganti namanya menjadiMAX_BUTTONS. (I84788)DAILY_DISTANCEdiganti namanya menjadiDAILY_DISTANCE_M. (I4f758)
Perbaikan Bug
- Memperbarui dokumen Jenis prop untuk mengklarifikasi alasan nilai statis diterapkan. Tentukan nilai default yang digunakan jika nilai statis tidak diberikan. (I155aa)
- Namespace
PlatformDataKeyharus mengikuti penamaan gaya Java. (I47bda)
Versi 1.0.0-alpha10
24 Mei 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit berikut.
Fitur Baru
- Menambahkan
AppDataKeyuntuk mengakses status yang didorong aplikasi; MenambahkanPlatformDataKeyuntuk mengakses data platform; Menambahkan dukungan namespace diStateStore. (I7985e) - Mendukung operasi
EqualdanNotEqualuntukDynamicBool. (I6a0c1)
Perubahan API
- Class
FontStylessekarang sudah final (Iaa2ea) LayoutElementBuilders#FontStylestidak digunakan lagi. Gunakanandroidx.wear.protolayout.Typographyatau buatFontStyleAnda sendiri. (Ic929b)- Menyembunyikan antarmuka bertingkat
Action#Builderdari antarmukaAction. Implementasi Builder telah disediakan oleh classLoadActiondanLaunchAction. (I1d70c) - Mengizinkan penggunaan
DynamicFloatdenganFloatProp. Perhatikan bahwaFloatProptidak memerlukan batasan tata letak karena tidak digunakan sebagai properti pengubah tata letak. (I286ac) - Tindakan
LoalActiondanSetStateActiondihapus karena belum benar-benar didukung. (I5d6a6) - Menambahkan dukungan untuk format ARGB_8888 untuk resource gambar inline. (I8a07c)
- Mengganti nama
StateEntryValuemenjadiDynamicDataValue, dan memperbarui API status untuk menggunakanDynamicDataKey(If1c01) - Kami membatasi jumlah entri yang diizinkan dalam
StateStoreuntuk memastikan penggunaan memori dan waktu update status dapat dikelola dan dikontrol dengan baik untuk setiap instanceStateStore. Oleh karena itu, developer harus memastikan bahwa mereka tidak memiliki lebih dariMAX_STATE_ENTRY_COUNTentri di peta. Jika tidak, mereka akan mendapatkanIllegalStateExceptionsaat membuat atau memperbaruiStateStore. (Ibadb3) - Menyembunyikan class
OnLoadTriggerdanOnConditionMetTrigger, serta mengganti namasetTriggermenjadisetConditionuntukOnConditionMetTrigger. (Ibf629) - Karena alasan performa dan kompatibilitas, perender
ProtoLayouttidak akan mendukung set fitur lengkap di resourceAnimatedVectorDrawable. Kami menandai API tersebut sebagai eksperimental hingga kami dapat menentukan set yang didukung. (Ic6daf) - Menambahkan jenis dinamis untuk jarak harian, kalori harian, dan lantai harian. Kunci untuk sumber informasi kondisi platform kini berada di bagian
PlatformHealthSources.Keys(Ib7637) - Metode
Easing.cubicBeziermenggantikanCubicBezierEasing.Builder. Dengan demikian, classEasingFunctiondihapus dan konstanta easing dari class tersebut kini dapat diakses langsung dari antarmukaEasing. Selain itu,setInfiniteRepeatablediganti denganINFINITE_REPEATABLE_WITH_RESTARTdanINFINITE_REPEATABLE_WITH_REVERSE(Ib41e7) - Terapkan
PlatformDataProvideruntuk memberikan detak jantung dan langkah harian. AntarmukaSensorGatewaydihapus dari API publik. (I55b84) - Tambahkan
PlatformDataProvider, dan perbaruiStateStoreuntuk mendaftar kePlatformDataProvidersaat kunci yang didukung penyedia diperlukan oleh node dari pipeline ekspresi. (Ib616a) SensorGatewaytidak lagiCloseablekarena tidak lagi mempertahankan status apa pun. (I6b4f7)- Izinkan penggunaan
FloatPropdenganDynamicFloatuntuk kemajuan diCircularProgressIndicator. Hal ini didukung untuk perender yang mendukung versi 1.2. Renderer lama akan melakukan penggantian kestaticValuejika disediakan, atau ke 0 (I0d91b) - Konstanta
MultiButtonLayouttelah di-refactor ke dalam classLayoutDefaults.MultiButtonLayoutDefaultsyang kini berisi konstanta untuk ukuran tombol, bergantung pada jumlah tombol dalam tata letak. (I13973) - Mendukung penggunaan
StringPropdenganDynamicStringdalam Teks Material. Hal ini didukung untuk perender yang mendukung versi 1.2. Renderer lama akan melakukan penggantian ke nilai statis yang diberikan. Perbarui jenis nilai yang ditampilkanText#getTextdariStringmenjadiStringProp. (I7275b)
Versi 1.0.0-alpha09
10 Mei 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit berikut ini.
Fitur Baru
- Kami telah menambahkan elemen tata letak ekstensi eksperimental. Perhatikan bahwa ini tidak dapat digunakan secara default dan memerlukan ekstensi perender yang dapat memahami elemen tata letak. (I6581d)
- Menambahkan dukungan
StrokeCapuntukArcLine. (I94951) - Menambahkan dukungan untuk operasi Instan Bersyarat. (I489a7)
- Menambahkan dukungan untuk operasi Durasi Bersyarat. (Iab469)
- Menambahkan dukungan untuk membuat durasi dari detik. (Ib5fa1)
Perubahan API
- Metode
enable/disablePlatformSourcetelah dihapus dariDynamicTypeEvaluator. Pemanggil harus bertanggung jawab atas update. (I78c6d) - Mengizinkan pembatasan ukuran jenis data terikat. (Ie2966)
- Menambahkan dukungan untuk deskripsi konten dinamis di
protolayout-material. (I62c8e) - Gunakan long dan
@IntRangeuntuk durasi dan penundaan di AnimationParameters. (I388b6)
Versi 1.0.0-alpha08
19 April 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.
Fitur Baru
AndroidTextStyletelah ditambahkan keLayoutElementBuilders(I8d967)- Kami telah menambahkan dukungan untuk menyetel pengecualian padding font di Teks Material
ProtoLayout. (I17f5d) - ARGB_8888 kini didukung untuk gambar inline. (I18c1e)
DynamicColorsekarang mendukung operasionCondition. (I10927)
Perubahan API
- Mendukung durasi kustom untuk animasi terbalik (I3251f)
- Kita telah menambahkan pengubah
SemanticDescription. Selain itu,ContentDescriptiontidak dapat diikat. (I3f1d) - Metode
DynamicBool.isFalse()kini diganti denganDynamicBool.negate()danDynamicBool.isTrue()dihapus. Selain itu, nilai NaNDynamicFloatdan mempersempitDynamicInt32menjadiDynamicFloatkini menghasilkan hasil dinamis yang tidak valid. (I6ac1e) - Pemformat int dan float kini menggunakan pola Builder. (Ieb213)
Perbaikan Bug
- Nilai statis penggantian telah dihapus dari kolom yang dapat dianimasikan. (Ifcb01)
DynamicTypeValueReceiver#onPreUpdatetelah dihapus (I2dc35)- Panjang String dalam ekspresi dinamis kini dibatasi. (I4c93)
- Dependensi gradle kini disetel dengan benar ke
api, bukanimplementation, jika diperlukan. (I40503)
Versi 1.0.0-alpha07
5 April 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.
Fitur Baru
- Menambahkan dukungan nilai dinamis ke
StringProp(I04342) - Menandai elemen tata letak yang dapat diikat (Ia110b)
Perubahan API
sensorGateway#registerSensorGatewayConsumermenggunakan jenis data sebagai parameter, bukan metode di Consumer. (Icf314)ObservableStateStorediganti namanya menjadiStateStore. (Ieb0e2)- Menambahkan
DynamicTypeEvaluator.Builder, bukan argumen konstruktor, untuk memungkinkan lebih banyak argumen opsional, termasukObservableStateStoreyang kini secara default menggunakan penyimpanan kosong. (I6f832) - Memfaktorkan ulang urutan parameter di
DynamicTypeEvaluator. (Ic1ba4)
Perbaikan Bug
- Menyebarkan sinyal dengan benar dari sumber sensor platform ke node hilir (I5a922)
Versi 1.0.0-alpha06
22 Maret 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.
Fitur Baru
- Kami telah menambahkan API eksperimental untuk menggunakan detak jantung dan langkah harian dalam ekspresi dinamis (Ifd711)
- Kami telah menambahkan dukungan untuk penundaan mundur dan maju untuk animasi. (Ic25f7)
- Kami telah menambahkan dukungan
DynamicColorke Batas dan Latar Belakang - Kami telah menambahkan dukungan nilai dinamis ke jenis di
DimensionBuilder - Tata letak dan komponen dari
tiles-materialberalih keprotolayout-material
Perubahan API
LoadActionListenertelah ditambahkan keProtoLayoutViewInstance(If7806)
Perbaikan Bug
- Menambahkan
FloatNodesTest(Id7281) - Memperbaiki error perender saat tidak dapat memuat bitmap terstruktur.
Versi 1.0.0-alpha05
8 Maret 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Kami telah menambahkan animasi "pembaruan konten" eksperimental ke objek
Modifiers. Animasi ini akan dipicu setiap kali elemen (dengan pengubah ini) atau salah satu turunannya berubah selama pembaruan tata letak. (bd03e5d)
Perubahan API
- Kami telah menambahkan
forwardRepeatDelayMillisdanreverseRepeatDelayMilliskeRepeatable. Kami juga telah mengganti namadelayMillisdiAnimationSpecmenjadistartDelayMillis(Ifb266) - Metode
DynamicTypeEvaluator.bindkini menerima Executor. (I346ab) - Kami telah menambahkan metode
startEvaluationkeBoundDynamicTypeuntuk memicu evaluasi setelah jenis dinamis terikat. (I19908)
Perbaikan Bug
- Objek Animator akan digunakan kembali untuk animasi elemen tunggal berikutnya. (Ia3be9)
Versi 1.0.0-alpha04
22 Februari 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Fitur Baru
ObservableStateStorekini juga memberi tahu pemroses saat kunci dihapus.- Kami telah menambahkan versi skema perender dan skala font ke
DeviceParameters(yang dapat digunakan untuk membuat tata letak secara kondisional sebagai respons terhadap versi dan setelan font yang berbeda). - Kami telah menambahkan dukungan untuk menganimasikan nilai
DynamicInt32(I05485) - Kami telah menambahkan pemicu
OnLoaddanOnConditionalMet. Ini dapat digunakan untuk memulai animasi yang mendukung pemicu. - Kami telah menambahkan bobot tata letak untuk dimensi yang diluaskan dan ukuran minimum untuk dimensi yang di-wrap.
- Kami telah menambahkan jenis dinamis durasi dan instan. Objek ini dapat digunakan untuk merepresentasikan instan atau durasi waktu dalam ekspresi dinamis.
- Kami telah menambahkan dukungan untuk
AnimatedVectorDrawabledanSeekableAnimatedVectorDrawablesebagai resource tata letak.
Perubahan API
- Data sensor memerlukan API 29+. (I8099e)
- Kami telah menambahkan dua metode bantuan
launchAction(untuk meluncurkan Aktivitas).
Perbaikan Bug
- Mengganti nama
set/getSpecmenjadiset/getAnimationSpecdalam animasi Kartu (I3d74b)
Versi 1.0.0-alpha03
8 Februari 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 dirilis. Versi 1.0.0-alpha03 berisi commit ini.
Fitur Baru
- Kami telah menambahkan
toByteArray()danfromByteArray()ke jenis Dinamis di library protolayout-express. - Kami telah menambahkan
toString()ke jenis Dinamis di library protolayout-express. - Kami telah menambahkan dukungan evaluasi untuk jenis Dinamis. Class
DynamicTypeEvaluatordari library protolayout-expression-pipeline dapat digunakan untuk mengevaluasi (dan menerima nilai yang diperbarui) untuk jenis Dinamis yang dibuat sebelumnya (DynamicString,DynamicFloat, …) - Jika animasi tidak dapat diputar (karena dinonaktifkan oleh evaluator atau jumlah animasi yang berjalan telah mencapai batas yang ditetapkan), nilai statis yang ditetapkan pada node yang dapat dianimasikan akan digunakan untuk mengganti animasi.
Versi 1.0.0-alpha02
25 Januari 2023
androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02, dan androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit berikut ini.
Fitur Baru
- Builder tata letak dari
androidx.wear.tiles:tilesberalih keandroidx.wear.protolayout:protolayout. Builder tata letak diandroidx.wear.tiles:tilestidak akan digunakan lagi dalam salah satu rilis alfa berikutnya.
Versi 1.0.0-alpha01
11 Januari 2023
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 dan androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 dirilis. Versi 1.0.0-alpha01 berisi commit ini.
Fitur Baru
- Rilis ini memperkenalkan library baru "ProtoLayout Expression" untuk membuat ekspresi dari variabel dinamis.