wear protolayout

  
Bu kitaplık, uzak yüzeylerde oluşturulacak/değerlendirilecek bir dizi kullanıcı arayüzü düzeninin ve kullanıcı arayüzü dışı ifadelerin tanımlanmasına olanak tanır.
Son Güncelleme Kararlı sürüm Sürüm Adayı Beta Sürümü Alfa sürümü
24 Eylül 2025 1.3.0 - - 1.4.0-alpha01

Bağımlılıkları bildirme

wear-protolayout'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapıtların bağımlılıklarını ekleyin:

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")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Sürüm 1.4

Sürüm 1.4.0-alpha01

24 Eylül 2025

androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • LayoutModifier için, öğenin kutucuk görünür hale gelirken solarak görünmesini sağlayan yardımcı yöntem eklendi. (I38531, b/390345969)
  • Otomatik kaynak kaydını da sağlayan M3 MaterialScope kavramını desteklemek için materialScopeWithResources eklendi. Bu sürümde, kullanıldığında kaynakların onTileResourceRequest'ye manuel olarak kaydedilmesi ihtiyacını ortadan kaldıran resimler (backgroundImage avatarImage ve simge) için yeni yardımcı yöntemler eklendi. (I525bd, b/428692714)
  • ProtoLayout Image ve ImageResources için ProtoLayoutScope ile kullanım ve otomatik kaynak kaydı için Kotlin yardımcıları. (Iada82, b/430584304)
  • Bir Lottie animasyonunun özelleştirilmesinde kaç Lottie özelliğine izin verildiğiyle ilgili alıcı yöntemi eklendi. (I73733, b/436532706)
  • AndroidLottieResourceByResId içine API ekleyerek Lottie animasyonunun özellikler aracılığıyla özelleştirilmesine izin verin ve tema yuvası için özellik oluşturmak üzere API ekleyerek yuva kimliğiyle belirtilen renkte tema oluşturun. (I301b3, b/423581481)
  • Tıklama işlemi olarak PendingIntent'yı kabul etmek için sağlayıcı API'leri ekleyin (I01978, b/433802488)
  • Kaynak nesnesini doğrudan onTileRequest içindeki görüntüye ayarlamak için Image.Builder - setImageResource bölümüne yeni API ekleyin. Bu durumda, onTileResourcesRequest içindeki eşlemede kaydetmeniz gerekmez. (Ifa69a, b/428693523)
  • Döşemelerde kaynakların daha iyi işlenmesi için ProtoLayoutScope kavramı eklendi. (I132ce, b/428692423)
  • ProtoLayout Material3 MaterialScope artık Context alanını herkese açık olarak sunuyor. Böylece bu alan, kapsam içindeki yöntemlerde kullanılmak üzere iletilmesine gerek kalmadan kullanılabiliyor. (I0e5cc, b/414559956)
  • Başlık semantik API'lerini herkese açık hale getirme (I75299, b/413653475)
  • ARC_DIRECTION_* sabitlerini Arc/ArcLine/ArcText/DashedArcLine içinde kullanılmak üzere herkese açık olarak kullanıma sunun. (I83959, b/427556439)

API Değişiklikleri

  • Image.Builder() ve Image.Builder.setResourceId yöntemlerinin desteğini sonlandırdık. Bunun yerine, Image.Builder(ProtoLayoutScope) ve Image.Builder.setImageResource API'lerinde kullanılabilen yeni otomatik kaynak kaydı API'sini kullanabilirsiniz. Bu API'ler, onTileResourcesRequest'nin geçersiz kılınması ihtiyacını ortadan kaldırır. (I7bfe6, b/432758526)
  • ProtoLayoutScope oluşturmaya yönelik API'leri kısıtlıdan herkese açık duruma taşıyın. Ancak sistem bu aramaları zaten işlediği için bu işlevler kullanılmamalıdır. (I1d8e8, b/432758251)

Hata Düzeltmeleri

Sürüm 1.3

Sürüm 1.3.0

4 Haziran 2025

androidx.wear.protolayout:protolayout-*:1.3.0 iptal edilir. 1.3.0 sürümü bu commit'leri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

  • Material 3 tasarımı, yuvarlak ekran için optimize edilmiş ve küçükten büyüğe ekran boyutlarına uygun şekilde ölçeklendirilmiş bileşenler ve düzenlerle birlikte kol saatine geliyor.
    • Bu kapsamda, aşağıdaki bileşenler ve özellikler için Compose'a benzer API'ler içeren yalnızca Kotlin'e özel protolayout-material3 kitaplığı yer alır:
    • Renkler, şekiller ve tipografi için en yeni Material3 temasıyla sistemden ve kadranından gelen dinamik renk teması
    • MaterialScope Tüm varsayılan değerleri yönetmek ve özelleştirmeyi kolaylaştırmak için
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • Tüm bileşenler, geçerli olduğu durumlarda mantıklı geri dönüşler sağlayarak tüm SDK düzeylerinde ve ProtoLayout oluşturucu sürümünde çalışır.
  • Temel ProtoLayout öğeleri için Kotlin'e daha uygun, Compose benzeri API'ler
    • Mevcut Modifiers nesnesine dönüştürülebilen, zincirleme işlevler olarak çoğu değiştiriciyi (padding, contentDescription (clearSemantics dahil), background, clip, opacity vb.) ekleme özelliğine sahip LayoutModifier
    • Dinamik alanların ve kısıtlamaların kullanımını daha kolay destekleyen türler olarak LayoutColors ve LayoutString
    • text ve fontStyle
    • StateBuilder nesnelerinin daha kolay oluşturulması için DynamicDataMap ve intAppDataKey gibi fabrika yöntemleri de dahil olmak üzere StateBuilder için daha iyi harita desteğiAppDataKey
  • Lottie animasyonları, animasyonun ne zaman başlayacağına dair farklı tetikleyiciler ayarlama seçeneğini destekler. Örneğin, düzen yüklendiğinde veya düzen görünür hale geldiğinde
    • Geliştirilmiş gradyan desteği:
    • Brush kapsamında yer alan ve Box, Spacer gibi öğeler için Background değiştiricilerinde kullanılabilen doğrusal renk geçişi API'si.
    • Doğrusal ve süpürme renk geçişi için kullanılan ColorStop içinde dinamik renk değerlerine izin verin.
    • Yay nesnelerindeki mevcut renk geçişi artık dinamik renkleri, başlangıç ve bitiş açılarını destekliyor
  • protolayout-expression içinde platform veri bağlama: Düzenin görünürlüğü her değiştirildiğinde bilgi almak için kullanılır. Örneğin, döşeme kaydırılırken düzenin belirli kısımlarını gizlemek için kullanılabilir.
  • Herhangi bir ProtoLayout öğesi için daha kolay birim testi kapsamı sağlamak üzere test kitaplığı (protolayout-testing) eklendi.
  • Mevcut ArcLine yerine, çizginin tireler içerebilmesi için geliştirilmiş özelliklere sahip yeni DashedArcLine öğesi
  • Uzunluğunu derece yerine DP boyutunda ayarlama desteği ArcSpacer
  • Bazı yazı tipleri için geçerli olan yuvarlaklık FontSetting ekseni eklendi.

Sürüm 1.3.0-rc01

20 Mayıs 2025

androidx.wear.protolayout:protolayout-*:1.3.0-rc01, önceki sürümde herhangi bir değişiklik yapılmadan yayınlanır. 1.3.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.3.0-beta02

7 Mayıs 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta02 iptal edilir. 1.3.0-beta02 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • API 36 ve sonraki sürümlerde uygulanan Tipografi tasarım değerlerinde önemli bir iyileştirme yaptık. Bunun nedeni, API 36'dan itibaren tüm kutucukların sistem yazı tipinde olmasıdır. Bu nedenle, bu değişiklik kutucuklar döngüsünde daha iyi bir tutarlılık sağlar. (If316f)
  • Text,Spacer, ArcLine ve DashedArcLine oluşturucuları, dinamik değerler için layoutConstraints ayarlanmamışsa hata vermez. Daha eski oluşturucuların layoutConstraints ayarlanmasını gerektirdiğini ve ayarlanmamış dinamik değerleri yoksayacağını unutmayın. (Ic52e8)
  • Bir düzen öğesinin erişilebilirlik amacıyla bir içerik bölümünün başlığı olduğunu belirtmek için başlık semantiği değiştiricisi ekleyin ve primaryLayout öğesinin başlık yuvasındaki metni varsayılan olarak erişilebilirlik başlığı olacak şekilde işaretleyin. (Iae1fb)
  • Başlık yuvası ile ana yuva arasındaki boşluğun daha küçük ekranlarda 6 dp yerine 4 dp'ye düşürüldüğü primaryLayout için son kullanıcı deneyimi düzenlemesi. (I0e056)
  • textEdgeButton için varsayılan içerik açıklamasını uygular. (Ifaf8b)
  • avatarButton iç dolgusunda küçük güncelleme. (I0910b)

Sürüm 1.3.0-beta01

9 Nisan 2025

androidx.wear.protolayout:protolayout-*:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü bu commit'leri içerir.

Yeni Özellikler

Wear ProtoLayout'un 1.3.0-beta01 sürümü, kitaplığın bu sürümünün özelliklerinin tamamlandığını ve API'nin kilitlendiğini (deneysel olarak işaretlenen yerler hariç) gösterir. Wear ProtoLayout 1.3 aşağıdaki yeni işlevleri ve API'leri içerir:

  • Material 3 tasarımı, yuvarlak ekran için optimize edilmiş ve küçükten büyüğe ekran boyutlarına uygun şekilde ölçeklendirilmiş bileşenler ve düzenlerle birlikte kol saatine geliyor.
    • Bu kapsamda, aşağıdaki bileşenler ve özellikler için Compose'a benzer API'ler içeren yalnızca Kotlin'e özel protolayout-material3 kitaplığı yer alır:
    • Renkler, şekiller ve tipografi için en yeni Material3 temasıyla sistemden ve kadranından gelen dinamik renk teması
    • MaterialScope Tüm varsayılan değerleri yönetmek ve özelleştirmeyi kolaylaştırmak için
    • iconEdgeButton, textEdgeButton
    • iconButton, textButton, button, imageButton, avatarButton, compactButton
    • titleCard, appCard, graphicDataCard, iconDataCard, textDataCard
    • circularProgressIndicator, segmentedCircularProgressIndicator
    • primaryLayout, buttonGroup
    • Tüm bileşenler, geçerli olduğu durumlarda mantıklı yedekler sağlayarak tüm SDK düzeylerinde ve ProtoLayout Renderer sürümünde çalışır.
  • Temel ProtoLayout öğeleri için Kotlin'e daha uygun, Compose benzeri API'ler
    • Mevcut Modifiers nesnesine dönüştürülebilen, zincirleme işlevler olarak çoğu değiştiriciyi (padding, contentDescription (clearSemantics dahil), background, clip, opacity vb.) ekleme özelliğine sahip LayoutModifier
    • Dinamik alanların ve kısıtlamaların kullanımını daha kolay destekleyen türler olarak LayoutColors ve LayoutString
    • text ve fontStyle
    • StateBuilder nesnelerinin daha kolay oluşturulması için DynamicDataMap ve intAppDataKey gibi fabrika yöntemleri de dahil olmak üzere StateBuilder için daha iyi harita desteğiAppDataKey
  • Lottie animasyonları, animasyonun ne zaman başlayacağına dair farklı tetikleyiciler ayarlama seçeneğini destekler. Örneğin, düzen yüklendiğinde veya düzen görünür hale geldiğinde
    • Geliştirilmiş gradyan desteği:
    • Brush kapsamında yer alan ve Box, Spacer gibi öğeler için Background değiştiricilerinde kullanılabilen doğrusal renk geçişi API'si.
    • Doğrusal ve süpürme renk geçişi için kullanılan ColorStop içinde dinamik renk değerlerine izin verin.
    • Yay nesnelerindeki mevcut renk geçişi artık dinamik renkleri, başlangıç ve bitiş açılarını destekliyor
  • protolayout-expression içinde platform veri bağlama: Düzenin görünürlüğü her değiştirildiğinde bilgi almak için kullanılır. Örneğin, döşeme kaydırılırken düzenin belirli kısımlarını gizlemek için kullanılabilir.
  • Herhangi bir ProtoLayout öğesi için daha kolay birim testi kapsamı sağlamak üzere test kitaplığı (protolayout-testing) eklendi.
  • Mevcut ArcLine yerine, çizginin tireler içerebilmesi için geliştirilmiş özelliklere sahip yeni DashedArcLine öğesi
  • Uzunluğunu derece yerine DP boyutunda ayarlama desteği ArcSpacer
  • Bazı yazı tipleri için geçerli olan yuvarlaklık FontSetting ekseni eklendi.

Sürüm 1.3.0-alpha10

12 Mart 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 iptal edilir. 1.3.0-alpha10 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Kotlin Background Modifier'da Brush için yardımcı işlevi eklendi. (I995de)
  • MaterialScope'da zorunlu Android Context alanı herkese açık hale getirildi. Böylece, geliştiricilerin Material3 kutuları için bileşen oluşturan işlevlerinde daha kolay kullanım sağlanacak. (I7df73)

API Değişiklikleri

  • platformVisibilityStatus API'sinin adını PlatformEventSources.isLayoutVisible olarak değiştirin ve yeni bir deneysel API PlatformEventSources.isLayoutUpdatePending ekleyin. (Ie1e04)

Hata Düzeltmeleri

  • primaryLayout için kenar boşlukları artık düzgün şekilde yukarı yuvarlanıyor. Bu durum, ana yer için 2 dp daha az alanla bazı düzenleri etkileyebilir. (I8f5d3)
  • ProtoLayout Material3 bileşenlerindeki varsayılan dinamik renk temasıyla ilgili açıklama. (Iff5f3)
  • Typography.NUMERAL_* yazı tipleri artık varsayılan olarak tablo/tek aralıklı değil. Metin animasyonluysa FontSetting.tabularNum() ayarını eklemeniz önemle tavsiye edilir. Diğer tüm durumlarda bu tek aralıklı yazı tipi seçeneği gerekli değildir ve kullanılmadığında daha fazla karakter kullanılabilir. (Id3cd9)
  • ProtoLayout Material3 bileşenlerindeki varsayılan dinamik renk temasıyla ilgili açıklama. (I9d831)

Sürüm 1.3.0-alpha09

26 Şubat 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 iptal edilir. 1.3.0-alpha09 sürümü bu commit'leri içerir.

Yeni Özellikler

  • enterTransition ve exitTransition için deneysel değiştiriciler eklendi (I4a4d6)
  • Tam düzenin görünürlük durumunu her değiştiğinde almak için ek platform bağlama özelliği ekledik. (I250c3)
  • Dinamik değerleri değerlendirmek için LayoutElementAssertionsProvider'ya test uygulaması durumu ve platform verilerinin yerleştirilmesine izin verin. (Ib5fcb)
  • Protolayout test kitaplığına köşe filtreleri ekleyin (Ie2361)
  • ButtonColors, CardColors ve ProgressIndicatorColors artık bazı parametrelerin isteğe bağlı olarak geçersiz kılınmasıyla birlikte kopyalama yöntemini destekliyor. (Ie2054)

API Değişiklikleri

  • Test kitaplığına (Ib98de) dinamik veri bağlama desteği ekleme
  • Yer paylaşımını kaldırarak backgroundImage işleviyle kullanıldığında imageButton sorununu düzeltir. Ayrıca, backgroundImage işlevinin, yer paylaşımı rengi için null değerinin belirtilmesine izin vermesini sağlayın. Bu, yer paylaşımının uygulanmayacağı anlamına gelir. (Ibec3c)

Hata Düzeltmeleri

  • Varsayılan hasValueOfType yöntemi, IllegalArgumentException yerine UnsupportedOperationException atacak şekilde değiştirildi. (Ia36c3)
  • Varsayılan renk jetonu değerleri, en son spesifikasyonu yansıtacak şekilde güncellendi. (I75d44)
  • AndroidX kutu oluşturucuda yay çizgilerinde görünen aliasing sorunu düzeltildi. (I88190)

Sürüm 1.3.0-alpha08

12 Şubat 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 iptal edilir. 1.3.0-alpha08 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Material3 metni için FontSetting liste parametresini ekleyin. (Ic102d)
  • DynamicDataMap sınıfı eklendi. Bu sınıf, uygulama durumları için daha iyi tür güvenli Kotlin API'sini destekliyor (I012ba).StateBuilder
  • intAppDataKey gibi fabrika yöntemleri eklenerek AppDataKey nesnelerinin (Icea2a) daha kolay oluşturulması sağlandı.
  • DynamicDataValue artık hasInt/hasColor/.... yöntemlerine (I4f7a6) ek olarak hasValueOfType(Class<?>) yöntemini de destekliyor.
  • Yüksek öncelikli hatalar veya güvenlik uyarıları gibi acil durum işlemleri için Material3 ProtoLayout'a errorDim ekledik. ColorScheme (Ia17bb)
  • Bu ayarın sağlanmadığı bazı platformlarda tetiklenen, global hareket azaltma ayarına erişirken kilitlenmeyi önleyecek bir koruma eklendi. (I01e2c)

API Değişiklikleri

  • addKeyToValueMapping, addToStateMap olarak yeniden adlandırıldı ve DynamicDataMap.put yöntemleri gereksiz oldukları için kaldırıldı. (Ibe9dd)
  • Material3 Typography artık bu ekseni destekleyen sistem yazı tipleri için yuvarlaklık değişken eksenini destekliyor. ProtoLayout FontSetting, bu ekseni destekleyen yazı tiplerinde yuvarlaklık eksenini destekler. (I33eb5)
  • Material3 metin yönteminde multilineAlignment, hizalama olarak yeniden adlandırıldı. (I2b66b)
  • Dairesel ilerleme durumu göstergesini kutu türü olarak güncelleyin ve mainContent öğesini constructGraphic içinde kutu türü olarak belirtin (I5a3dc).
  • Grafikte dairesel ilerleme durumu göstergesinin kullanımı için daha iyi destek (I039db)

Hata Düzeltmeleri

  • ColorStop içinde ve SweepGradient içinde başlangıç/bitiş açıları için dinamik değerlere izin verin. (I0146d)
  • Dokümanlar'daki düzeltmeler. (I4a63a)
  • weight genişletme boyutu desteklenmediğinde (ör. API 33'ün altında) yedek sağlamak için Material 3 bileşenleri (graphicCard ve avatarButton) güncellendi. TEXT_OVERFLOW_ELLIPSIZE oluşturucu tarafından desteklenmediğinde TEXT_OVERFLOW_ELLIPSIZE_END'ya geri dönen metin bileşeni güncellendi. (I19e2c)
  • PrimaryLayoutMargins için Dokümanlar güncellemesi. (Ibaf7b)

Sürüm 1.3.0-alpha07

29 Ocak 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 iptal edilir. 1.3.0-alpha07 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Lottie animasyonları için farklı tetikleyiciler ayarlamak üzere API seçeneği eklendi. Ayrıca, düzen görünür olduğunda tetiklenen tetikleyiciler için API eklendi (I8272d).
  • border, visibility ve opacity değiştiricileri eklendi. (I6d3dd)
  • ProtoLayout Material3 bileşenine avatar düğmesi eklendi. (Idb5ae)
  • Artık Material3'te kenar boşluklarının (yan ve bazı durumlarda alt) özelleştirilmesine izin veriyoruz primaryLayout. (Ib22f6)
  • Dairesel ilerleme göstergesinin segmentlere ayrılmış varyantını ekleyin. (I6a648)
  • ProtoLayout Material3'e kompakt düğme bileşeni eklendi. (Ia3c5c)
  • ProtoLayout Material3'e hap şekilli düğme ve resim düğmesi bileşenleri eklendi. (Ifb88a)

API Değişiklikleri

  • LayoutModfier.foldIn, beklenen davranışını daha iyi yansıtması için foldRight olarak adlandırılıyor (Idf242)
  • VisibleOnce tetikleyicisi artık deneyseldir. (Ib2d26)
  • Grafik kitaplığı alternatifi olduğundan withOpacity, herkese açık API'den kaldırıldı. (I030c2)
  • LayoutString.kt ve LayoutColor.kt içindeki üst düzey yöntemler, Java ile uyumlu olacak şekilde yeniden adlandırıldı. (I7aff0)
  • Material3'te ProtoLayout olmayan tipografiler kaldırıldı. (Idd9ae)
  • Material3'teki *Colors sınıflarındaki alanlara Color sonekini ekleyin. (I2d114)

Hata Düzeltmeleri

  • Asimetrik köşe desteği olmayan eski oluşturucu için EdgeButton yedek uygulaması ekleyin. (I63364)
  • Daha eski oluşturucuyla dairesel ilerleme göstergesinin yedek uygulamasını ekleyin. (I0f134)

Sürüm 1.3.0-alpha06

15 Ocak 2025

androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 iptal edilir. 1.3.0-alpha06 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Hem statik hem de dinamik renk türlerini desteklemek için LayoutColor (I4c89b)
  • ProtoLayout Material3 textButton bileşeni eklendi. (Id680d)
  • iconButton ProtoLayout Material3 bileşenini ekleyin. (Ica3f0)
  • ProtoLayout Material3 düğme kapsayıcı bileşeni eklendi. (I17a38)
  • protolayout-material3'e zincirlenebilir semantik değiştiriciler için destek eklendi (I4af62).
  • ProtoLayout Material3 tek segmenti CircularProgressIndicator eklendi (I2c8a2)
  • padding,metadata değiştiricileri eklendi (I8720a)
  • background,clip ve clickable değiştiricileri eklendi (I35478)
  • Fırça'ya LinearGradient ekleyin ve Arka Plan Değiştirici'de kullanılmasına izin verin. (Ic4dea)
  • appCard ve titleCard için küçük boyut ekleyin. (I91f98)
  • ProtoLayout Material3 graphicDataCard bileşeni eklendi. (I92be7)
  • ProtoLayout Material3 iconDataCard ve textDataCard bileşenleri eklendi. (I4e1e4)
  • ProtoLayout Material3 appCard bileşeni eklendi. (Id4c57)
  • EdgeButtonColors ile ButtonColors arasındaki farkı özetle. (I83624)
  • ProtoLayout Material3 titleCard bileşeni eklendi. (I2dc72)

API Değişiklikleri

  • ProtoLayout Material3 API, hem statik hem de dinamik metinleri desteklemek için artık LayoutString kabul ediyor. (I9c24a)

Hata Düzeltmeleri

  • DashedArcLine öğesini genişletmek için oluşturucu uygulaması ekleyin (I0c700)
  • ArcSpacer öğesinin dp uzunluğu almasına izin vermek için oluşturucu değişikliği. (I1437b)

Sürüm 1.3.0-alpha05

11 Aralık 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 iptal edilir. 1.3.0-alpha05 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Bağlanabilir düzen dizesi alanlarını desteklemek için LayoutString eklendi. (Ida650)
  • ProtoLayout Material3 kartı kapsayıcı bileşeni eklendi. (Ic985a)

Hata Düzeltmeleri

  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için aşağıdaki derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir). (Id1f9b, b/326456246)

Sürüm 1.3.0-alpha04

13 Kasım 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 iptal edilir. 1.3.0-alpha04 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Material3 şekli, Wear Compose'daki gibi gerçek köşe değerini tutan alanlara sahip bir sınıf olacak şekilde güncellendi. (Ied8cd)
  • Material3 renkleri, Wear Compose'da olduğu gibi ColorScheme kavramını içerecek şekilde güncellendi. (If645e)
  • Sık kullanılan birden fazla eşleştiriciyi test kitaplığına ekleyin. (Ie5cec)

Sürüm 1.3.0-alpha03

30 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 iptal edilir. 1.3.0-alpha03 sürümü bu commit'leri içerir.

Yeni Özellikler

  • LayoutElementAssertionsProvider, LayoutElementAssertion ve LayoutElementMatcher kitaplıklarını test kitaplığına (Id1110) ekleyin.

Sürüm 1.3.0-alpha02

16 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 iptal edilir. 1.3.0-alpha02 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Material 3 kitaplığının ilk sürümü. text, edgeButton, buttonGroup ve primaryLayout bileşenlerini içerir.

Güvenlik Düzeltmeleri

  • Bu değişiklik itibarıyla androidx, CVE-2024-7254'ü gidermek için protobuf 4.28.2'ye karşı derlenir. Güvenlik açığı riskini gidermek için androidx.wear.protolayout:protolayout-proto ve androidx.wear.protolayout:protolayout-external-protobuf 1.3.0-alpha01 sürümüne olan bağımlılığınızı 1.3.0-alpha02 sürümüne yükseltin.

Harici Katkı (External Contribution)

Sürüm 1.3.0-alpha01

2 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 iptal edilir. 1.3.0-alpha01 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Roboto ve Roboto Flex yazı tipi ailesi adlarının kullanılabilirliğinin cihaza bağlı olduğu netleştirildi. (I193be)
  • AndroidX Tile oluşturucuda Roboto Flex yazı tipi ailesi etkinleştirildi. (I08e94)

Sürüm 1.2

Sürüm 1.2.1

16 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.2.1 iptal edilir. 1.2.1 sürümü bu commit'leri içerir.

Güvenlik Düzeltmeleri

  • Bu değişiklik itibarıyla androidx, CVE-2024-7254'ü gidermek için protobuf 4.28.2'ye karşı derlenir. Güvenlik açığı riskini gidermek için androidx.wear.protolayout:protolayout-proto ve androidx.wear.protolayout:protolayout-external-protobuf 1.2.0 sürümüne olan bağımlılığınızı 1.2.1 sürümüne yükseltin.

Sürüm 1.2.0

7 Ağustos 2024

androidx.wear.protolayout:protolayout-*:1.2.0 iptal edilir. 1.2.0 sürümü bu commit'leri içerir.

1.1.0 sürümünden beri yapılan önemli değişiklikler

  • FontStyle, değişken eksenleri için ek yazı tipi desteği ve yaklaşan Flex yazı tiplerini desteklemek üzere daha iyi yazı tipi seçimi API'si içerecek şekilde güncellendi.
  • Ek değiştiriciler desteği:
    • Çeviri, döndürme ve ölçeklendirme işlemlerini animasyonlu veya animasyonsuz olarak sunan dönüşüm değiştirici.
    • Her köşe yarıçapı için farklı değerler (yatay ve dikey) belirtme.
  • Tıklanabilir değiştiriciyi kullanan tüm öğelerin dokunulabilir alanını en az 48dp x 48dp olacak şekilde genişleterek tüm dokunma hedeflerinin erişilebilirliğini iyileştirir.
  • Farklı ekran boyutlarında bu düzenlerin duyarlı davranışını daha iyi desteklemek ve kutucukların tutarlılığını artırmak için PrimaryLayout ve EdgeContentLayout düzenlerine setResponsiveContentInsetEnabled eklendi.
  • Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesi için Material Text'in ölçeklendirilmesi/ölçeklendirilmemesi iyileştirildi.
  • Tüm arc öğelerinde sağdan sola düzen yönü için destek iyileştirildi.

Ek değişiklikler

Sürüm 1.2.0-rc01

24 Temmuz 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Birincil veya ikincil etiketlerden hiçbiri iletilmediğinde yalnızca simge olarak kullanılabilmesi için standart Material Chip düzeltildi. (Iceef9)
  • Material düzenleriyle ilgili dokümanlar, düzenlerin daha kolay anlaşılması için ilgili sayfadaki görselleri içerecek şekilde güncellendi. (I0256a)

Sürüm 1.2.0-beta01

10 Temmuz 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü bu commit'leri içerir.

Yeni Özellikler

Wear ProtoLayout'un 1.2.0-beta01 sürümü, kitaplığın bu sürümünün özelliklerinin tamamlandığını ve API'nin (deneysel olarak işaretlenen yerler hariç) kilitlendiğini gösterir. Wear ProtoLayout 1.2 aşağıdaki yeni işlevleri ve API'leri içerir:

  • FontStyle, aşağıdaki gibi ek yazı tipi desteğiyle güncellendi:
    • FontSetting.weight ve FontSetting.width gibi farklı yazı tipi varyasyonu ayarları belirleme
    • Tüm sayısal karakterler için aynı genişliği ayarlama - Tablo biçiminde rakamlar (FontSetting.tnum yazı tipi özelliği ayarı)
    • Kullanılacak tercih edilen yazı tipi ailesi adlarını belirterek, yakında kullanıma sunulacak esnek yazı tiplerini desteklemek için yazı tipi seçimi API'leri iyileştirildi.
  • Asimetrik köşeli öğeler oluşturmaya olanak tanımak için her bir CornerRadius'nin ayrı yatay ve dikey değerlerle belirtilmesini destekleyecek şekilde Corner değiştiricisi genişletildi.
  • Transformation öğesinin çevrilmesini, döndürülmesini ve ölçeklendirilmesini sağlayan yeni bir Transformation değiştirici eklendi.LayoutElement Bu dönüşümler, dinamik değerler kullanılarak animasyon haline getirilebilir.
  • Farklı düzen yönlerinde (ör. soldan sağa ve sağdan sola) daha iyi destek sağlamak için tüm yay öğelerine (Arc, ArcLine ve ArcText) setArcDirection ile Clockwise, CounterClockwise ve Normal seçenekleri eklendi.
  • Clickable değiştiricisini kullanan tüm öğelerin dokunulabilir alanını en az 48dp x 48dp olacak şekilde genişleterek tüm dokunma hedeflerinin erişilebilirliğini iyileştirin.
  • Farklı ekran boyutlarında bu düzenlerin duyarlı davranışını daha iyi desteklemek ve kutucukların tutarlılığını artırmak için PrimaryLayout ve EdgeContentLayout düzenlerine setResponsiveContentInsetEnabled eklendi. Bu API'lerin hızlı düzeltmeyle kullanılmasını öneren bir linter uyarısı eklendi.
  • Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesi için Material Text öğesinin ölçeklendirilmesi/ölçeklendirilmemesi iyileştirildi.

API Değişiklikleri

  • preferredFontFamilies API'si kullanılmadığı için varsayılan yazı tipi ailesi adı (DEFAULT_SYSTEM_FONT) kaldırıldı. (I39dab)
  • FontSetting.width işlevine iletilen parametre pozitif olmalıdır. (I1266f)

Sürüm 1.2.0-alpha05

26 Haziran 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 iptal edilir. 1.2.0-alpha05 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Metin içeriğinin ayarlanıp ayarlanmadığını kontrol etmek için hasText yöntemini Material.CompactChip öğesine ekleyin. (I6e8fc)

API Değişiklikleri

  • FontFamily const, Builder sınıfı yerine FontStyle içine taşınır. (I06ced)
  • FontSetting.weight ve FontSetting.width API'sini, Range ek açıklamalarını içerecek şekilde güncelleyin ve ağırlık parametresini int olarak değiştirin. (Ia726c)

Hata Düzeltmeleri

  • Material kitaplığındaki ölçeklendirilemeyen metinler artık Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesiyle doğru şekilde çalışıyor. (I6601e)

Sürüm 1.2.0-alpha04

29 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 iptal edilir. 1.2.0-alpha04 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Her köşenin yarıçapını 2 değerle ayrı ayrı belirleyebilmek için asimetrik köşeler API'si eklendi. (Icbd69)
  • FontSetting API'si aşağıdaki öğeleri içerecek şekilde genişletildi:
    • Yazı tipini tablo şeklinde ayarlama gibi yazı tipi özelliği ayarı. (If12b7)
    • Değişken yazı tipleri için özel genişlik ayarlama gibi yazı tipi varyasyonu ayarları. (I2b36d)
  • Hangi yazı tipi ailelerinin kullanılacağını belirten sıralı bir liste belirtmeye olanak tanımak için FontStyle'ya yazı tipi ailesi API'si eklendi. (Iba9f5)
  • Başlangıçta "Edge content" önekiyle kullanılan ve hem PrimaryLayout hem de EdgeContentLayout için geçerli olabileceğinden daha genel hale getirmek amacıyla Material'ın LayoutDefaults içindeki içerik ile ikincil etiket arasındaki boşluk yüksekliği için sabitler yeniden adlandırıldı. (I4dc32)

Hata Düzeltmeleri

  • Değişken yazı tipi eksenlerinin adları axisName olarak değiştirildi.axisTag (I02ba3)

Sürüm 1.2.0-alpha03

14 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 iptal edilir. 1.2.0-alpha03 sürümü bu commit'leri içerir.

Yeni Özellikler

  • FontStyle için özel ağırlık değerleri ayarlamaya yönelik API eklendi. (I7390a)

Hata Düzeltmeleri

  • Boş hedef harita nedeniyle getTouchDelegateInfo'daki hatayı düzeltin. (I2accf)

Sürüm 1.2.0-alpha02

1 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 iptal edilir. 1.2.0-alpha02 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Tıklanabilir öğelerde dalgalanma geri bildirimini devre dışı bırakma desteği eklendi. (If1ede)
  • Dönüşüm API'si, bu özelliği desteklemediği için ArcModifiers'dan kaldırıldı (Ic0827).
  • ArcDirectionProp Oluşturucu artık oluşturucuda bir değer bekliyor. (I76ada)
  • PlatformDataValues.Builder.putAll yöntemi, bir PlatformDataValue öğesinin başka bir PlatformDataValue öğesiyle birleştirilmesine olanak tanır. (I50ba3)
  • Text#setIsScalable, Text#setScalable olarak yeniden adlandırıldı. (If920e)
  • Material Text, ölçeklenebilir boyutun (kullanıcı yazı tipi boyutu değiştirildiğinde büyür) kullanılıp kullanılmayacağını ayarlayabilir. (Ibc849)
  • İçerik açıklamasını TitleChip olarak ayarlama seçeneği eklendi. (I5d21f)
  • Yalnızca simgeyle doğru şekilde çalışması için CompactChip düzeltildi ve bu seçeneğe izin vermek üzere API güncellendi. (I6589e)

Hata Düzeltmeleri

  • Başlatma sırasında platform verilerinin yinelenmesine neden olabilecek sorun düzeltildi. (Iba0fd)
  • Düğüm maliyetini almak için DynamicDataNode'a yeni bir alıcı ekleyin. Dinamik düğüm kotası edinirken maliyet kullanılır. Şu anda, sabit değerlere sahip düğümlerin maliyeti 0, diğer tüm düğümlerin maliyeti ise 1 olacaktır. (Ia33e1)
  • NO_OP_QUOTA_MANAGER öğesinden sayma mantığını kaldırın. (Ib50b8)
  • PrimaryLayout, setResponsiveContentInsetEnabled olmadan kullanıldığında uyarı bildirmek ve hızlı düzeltme sağlamak için bir lint kuralı ekledik. (I12025)
  • Dinamik ifade düğümlerinin sayısı sınırlıdır. (Iffae8)

Sürüm 1.2.0-alpha01

6 Mart 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü bu commit'leri içerir.

Yeni Özellikler

  • ProtoLayout Arc öğelerine artık ArcDirection (Clockwise, Counterclockwise veya Normal) ekleme seçeneği eklendi. Bu davranışı Arc, ArcLine veya ArcText'ye eklemek, bunların sağdan sola düzenlerdeki davranışlarını düzeltir. (I90699)
  • EdgeContentLayout, kullanıcı deneyimi yönergeleriyle daha iyi uyum sağlamak, birincil etiketi üstte sabit bir yere yerleştirerek ve etiketler için duyarlı bir iç kenar kullanarak kutularda tutarlılık elde etmek amacıyla yeni bir setResponsiveContentInsetEnabled ayarlayıcıyla güncellendi. (I60175)
  • Bu düzenin birincil etiketine, ikincil etiketine ve alt çipine duyarlı yerleştirme ekleyen PrimaryLayout.setResponsiveContentInsetEnabled öğesini ekledik. Böylece içeriğin ekran kenarının dışına çıkmasını önledik. (I0c457)
  • CircularProgressIndicator öğesinden dış kenar boşluklarını kaldırma yöntemi eklenerek daha küçük bir bileşen olarak kullanılabilmesi sağlandı. (I55c06)

API Değişiklikleri

  • Öğeler oluşturucu artık varsayılan olarak tüm metin öğelerinde yazı tipi dolgusunu hariç tutuyor ve yazı tipi dolgusunu dahil etme seçeneği sunmuyor. (I3e300)

Hata Düzeltmeleri

  • Metinde üç nokta, harf aralığı ve ortalama hizalama kullanıldığında metin hizalamasıyla ilgili sorun düzeltildi. (I716c7)
  • Skia yay çizimi sorunu için geçici çözüm eklendi. (I08f09)
  • Sağdan sola düzenler için ArcLine çizim yönünü düzeltin. (I6c141)

Sürüm 1.1

Sürüm 1.1.0

7 Şubat 2024

androidx.wear.protolayout:protolayout-*:1.1.0 iptal edilir. 1.1.0 sürümü şu commit'leri içerir.

1.0.0 sürümünden beri yapılan önemli değişiklikler

  • ArcLine içinde 360 dereceden büyük uzunlukların daha iyi gösterilmesi ve gradyan desteği.
  • Tarih-saat biçimlendirmesi, dinamik veri türleri için farklı saat dilimlerini destekler.
  • Kısaltılmış metinleri işlemek için daha iyi metin otomatik boyutlandırma ve üç nokta seçenekleri.
  • Boşluk, isteğe bağlı ağırlıkla genişletilmiş boyutları destekler.
  • Tüm ProtoLayout API'lerine şema sürümü koşulu ek açıklaması.
  • Erişilebilirlik şartlarını karşılamak için hedef alanı herhangi bir Clickable öğesinde 48 dp x 48 dp olacak şekilde genişletildi.
  • Yazı tipi dolgusu varsayılan olarak devre dışıdır ve metin içeren tüm metin öğeleri ile Materyal bileşenlerinde geçerli olan tek davranıştır.

Ek değişiklikler

Sürüm 1.1.0-rc01

24 Ocak 2024

androidx.wear.protolayout:protolayout-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Güncelleme etkinleştirildikten hemen sonra PlatformTimeUpdateNotifierImpl işaretlenir. (I77145)
  • CircularProgressIndicator, sağdan sola düzenler için düzeltildi. Bundan sonra, tüm durumlarda saat yönünde ilerleyecektir. (I95ee3)
  • Skia yay çizimi sorunu için geçici çözüm eklendi. (I08f09)

Sürüm 1.1.0-beta01

10 Ocak 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

Wear ProtoLayout'un 1.1.0-beta01 sürümü, kitaplığın bu sürümünün özelliklerinin tamamlandığını ve API'nin (deneysel olarak işaretlenen yerler hariç) kilitlendiğini gösterir. Wear ProtoLayout 1.1 aşağıdaki yeni işlevleri ve API'leri içerir:

  • ArcLine artık SweepGradient ile Brush ekleyerek ve mevcut StrokeCap üzerine Shadow ekleyerek 360 dereceden büyük uzunlukları daha iyi temsil etmek için kapakta gölge oluşturarak gradyanı destekliyor.
  • DynamicInstant, saat dilimli tarih ve saat biçimlendirmesini destekler. DynamicInstant ve DynamicDuration, durum veya platform veri türleri olarak kullanılabilir.
  • Metin boyutunu otomatik olarak ayarlama özelliği sayesinde, metin boyutunun üst öğe içindeki alanına göre otomatik olarak ölçekleneceği FontStyle.setSizes değerine birden fazla boyut ayarlayabilirsiniz. Ayrıca, TEXT_OVERFLOW_ELLIPSIZE ekleyip TEXT_OVERFLOW_ELLIPSIZE_END özelliğini kullanımdan kaldırarak taşan metinler için üç nokta seçeneklerini iyileştirdik.
  • Spacer artık isteğe bağlı ağırlıkla genişletilmiş boyutlara sahip olmayı destekliyor. ExpandedDimensionProp oluşturmak için DimensionBuilders.weight yardımcı yöntemini ekledik.
  • Modifier.visible ile düzen öğelerini dinamik olarak gizleme ve gösterme desteği. Bu, BoolProp içinde dinamik değerler olmasını içerir.
  • Tüm ProtoLayout API'lerinde artık şema sürümü gereksinimi açıklaması var ve daha yeni bir API çağrılmadan önce sürüm kontrol edilebilir.
  • Clickable simgesini içeren her öğenin hedef alanı, erişilebilirlik koşullarını daha iyi desteklemek için oluşturucuda en az 48x48 olacak şekilde genişletildi.
  • Diğer Materyal bileşenleri ve Compose girişimlerinin ardından, artık tüm Text öğelerinde yazı tipi dolgusunu varsayılan olarak devre dışı bırakıyoruz. Ayrıca, AndroidTextStyle ve ilgili ayarlayıcılar herkese açık API'den kaldırıldı. Aşağıdaki hata düzeltmeleri yapıldı:
  • Kenar içeriğini EdgeContentLayout konumlandırmak için bir ayarlayıcı eklendi. Böylece kenar içeriği diğer içeriklerden önce konumlandırılabilecek.
  • Tanınmayan bir enum değeriyle karşılaşıldığında sürekli olarak istisna oluşturuluyor.
  • Bir ifade geçersiz sayısal değer (NaN veya sonsuz) verdiğinde ya da ArithmeticException oluşturduğunda ifadenin sonucunu geçersiz kılar.

API Değişiklikleri

  • Oluşturucuda renklerin veya ColorStops değerinin kabul edilmesine izin vermek için SweepGradient API'sinde yapılan güncellemeler. (I6676f)

Hata Düzeltmeleri

  • Yay öğelerinin çizileceği yönü belirlemek için kısıtlanmış bir API ve oluşturucu desteği eklendi. (Idef5a)
  • Belirtilmediğinde RoundMode, FloatToInt32Node içinde varsayılan olarak Floor olur. Sağlanan RoundMode tanınmıyorsa düğüm yine de istisna oluşturur. (I1b2d8)

Sürüm 1.1.0-alpha04

13 Aralık 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 iptal edilir. 1.1.0-alpha04 sürümü şu commit'leri içerir.

Yeni Özellikler

  • VersionInfo sınıfı, Comparable arayüzünü uygulamıyor. (I8d13c)
  • Oluşturucu artık TEXT_OVERFLOW_ELLIPSIZE seçeneğini destekliyor. (I7f085)

API Değişiklikleri

  • Metin taşması seçeneği TEXT_OVERFLOW_ELLIPSIZE_END artık kullanımdan kaldırıldı. Lütfen benzer davranışlara sahip yeni API'yi TEXT_OVERFLOW_ELLIPSIZE kullanın. (I822d8)
  • Diğer Materyal bileşenleri ve Compose girişimlerinin ardından, artık tüm Metin öğelerinde yazı tipi dolgusunu varsayılan olarak devre dışı bıraktık. Ayrıca, AndroidTextStyle ve ilgili ayarlayıcılar herkese açık API'den kaldırıldı. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3)
  • Modifier.hidden, Modifier.visible ile değiştirildi (I56902)
  • FontStyle#setSizes artık SpProp bağımsız değişkenleri yerine int bağımsız değişkenlerini kabul ediyor. (I02b37)

Hata Düzeltmeleri

  • Tanımsız veya tanınmayan bir enum değeriyle karşılaşıldığında istisna oluşturun. (I9d2cf)
  • Yeniden düzenleme DynamicTypeBindingRequest. (I27b57)
  • Bir ifade geçersiz sayısal değer (NaN veya sonsuz) verdiğinde ya da ArithmeticException oluşturduğunda ifadenin sonucunu geçersiz kılar. (I681ae)

Sürüm 1.1.0-alpha03

29 Kasım 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 iptal edilir. 1.1.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Düzen öğelerini dinamik olarak gizleme/gösterme için deneysel destek ekleme (I64a78)
  • BoolProp için dinamik değer desteği ekleyin (I2fe96)
  • ProtoLayout API'lerine şema sürümü gereksinimi ek açıklaması ekleyin (I0f03c)
  • Maksimum satır sayısına ulaşılmamış olsa bile (ancak metin için yeterli alan yoksa) sabit bir üst kapsayıcıdaki metni üç nokta ile kısaltmak için TextOverflow'daki yeni seçenekle API'yi genişletme. (I110a9)
  • Ağırlıkla ExpandedDimensionProp oluşturmak için yardımcı yöntem DimensionBuilders.weight eklendi. (I4f72b)
  • DynamicInstant ve DynamicDuration, durum veya platform veri türleri olarak kullanılabilir. (I6819f)

API Değişiklikleri

  • DynamicZonedDateTime öğesini gizlemek ve tüm işlemlerini DyanamicInstant'ye taşımak için API'yi güncelleyin (I34b94).
  • Boşluk öğesi artık genişlik/yükseklik için Genişletilmiş boyutunu destekliyor. (Ie7c94)
  • Oluşturucuda tıklama hedef alanı uzantısını destekleme (I39c79)

Sürüm 1.1.0-alpha02

15 Kasım 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 iptal edilir. 1.1.0-alpha02 sürümü şu commit'leri içerir.

Yeni Özellikler

  • API'ye ArcLine StrokeCap Shadow alanı eklendi. (I830ec)
  • API'yi, Spacer'ın genişliğini veya yüksekliğini genişletilecek şekilde belirtebilecek şekilde genişletme. (I757ca)
  • Metin boyutunu, ana öğenin içindeki alana göre otomatik olarak ölçeklendirmek için deneysel bir API ekledik. (Ibbe63)
  • Minimum tıklanabilir boyutu destekleyin (I178e3)
  • StrokeCap Shadow için oluşturucu desteği eklendi. (I48b17)
  • ArcLine'da Sweep Gradient için oluşturucu desteği eklendi. (I4d5bb)

Sürüm 1.1.0-alpha01

18 Ekim 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Arcline'ya SweepGradient desteğiyle fırça seçeneği eklendi. (Ie7ce3)
  • Saat dilimine göre tarih ve saat biçimlendirme desteği eklendi. (Ibfae0)
  • Saat dilimli tarih ve saat biçimlendirmesi için gereken proto'lar ve Java sarmalayıcılar eklendi. (I97126)
  • DynamicDataValue içinde depolanan değeri geri okumak için alıcılar eklendi. (Ie6cea)
  • Kenar içeriğini EdgeContentLayout konumlandırmak için bir ayarlayıcı eklendi. Böylece kenar içeriği diğer içeriklerden önce konumlandırılabilecek. (Ie8e8a)

Hata Düzeltmeleri

  • Birden fazla zaman veri kaynağı kaydı içeren bir ifadenin anında güncellenmemesi sorunu düzeltildi. (I8e1a8)
  • Fark güncellemeleri sırasında kök öğeyi ortalamaya yönelik hata düzeltildi. (Ie48f7)
  • Ayarlanmamış (veya boş) düzen kısıtlama değerleri artık yoksayılmayacak. (Ibc785)
  • Bir düzenin görünür hale gelmesi ile ardışık düzen düğümlerinin başlatılması arasındaki gecikme azaltıldı. (I38d4e)

Sürüm 1.0

Sürüm 1.0.0

9 Ağustos 2023

androidx.wear.protolayout:protolayout-*:1.0.0 iptal edilir. 1.0.0 sürümü şu commit'leri içerir.

1.0.0 sürümünün temel özellikleri

ProtoLayout kitaplığı, farklı Wear OS yüzeylerinde kullanılabilecek düzenler ve ifadeler oluşturmaya yönelik API'ler sunar. Örneğin, kutu kitaplığı, platform veri bağlamayı (kutu verilerinin daha hızlı güncellenmesi için) ve animasyonları desteklemek üzere bu API'leri kullanır.

Sürüm 1.0.0-rc01

26 Temmuz 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü şu commit'leri içerir.

  • Döşemeler'den ProtoLayout'ya geçmek için lütfen buradaki talimatları uygulayın.

API Değişiklikleri

  • setLayoutConstraintForDynamicAnchorAngle ve getLayoutConstraintForDynamicAnchorAngle yöntemlerini Arc öğesinden kaldırdık. Bu yöntemler yanlışlıkla eklenmiş ve sağlanan düzen üzerinde herhangi bir etkisi olmamıştır. (If7d01)
  • ProtoLayout düzeninin sahip olabileceği maksimum derinliği 30 iç içe yerleştirilmiş LayoutElements ile sınırladık. (I8a74b)

Hata Düzeltmeleri

  • DynamicColor, SpanText için ayarlanmışsa hata vermesi için bir kontrol ekledik. (I0e5bc)
  • DAILY_CALORIES veri kaynağı biriminin kcal olduğu açıklanmıştır. (Iaa785)

Sürüm 1.0.0-beta01

21 Haziran 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Zaman bağlama testleri için saatin ayarlanmasına izin verilir. (I05622)

API Değişiklikleri

  • PlatformDataReceiver.onData() ve StateBuilders.Builder.addKeyToValueMapping artık güvenli olmayan genel türler yerine DynamicDataKey ile DynamicDataValue arasında tür güvenli eşleme kabul ediyor. Bu durumda DynamicDataValue, DynamicType ile birlikte yazılır. Diğer Android sabitlerinin konumlandırılmasıyla eşleşmesi için HEART_RATE_ACCURACY_X sabitleri PlatformHealthSources köküne taşındı. HEART_RATE_ACCURACY_X int sabitleri artık değer sabiti yerine doğrudan DynamicHeartRateAccuracy.constant() ve DynamicHeartRateAccuracy.dynamicDataValueOf() içinde kullanılıyor. (I82ff5)
  • PlatformHealthSources.Constants sınıfı yanlışlıkla oluşturulabilir hale getirilmiş. Bu sorun düzeltildi. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver artık Supplier işlevi yerine Runnable ve Executor bildirimlerini alıyor. (I9d938)
  • PlatformTimeUpdateNotifier#setReceiver içindeki parametre türünü Callable olarak değiştirip Supplier yaptık. (I664bf)
  • CompactChip ve TitleChip artık simge eklemeyi destekliyor. (I5a01e)

Hata Düzeltmeleri

  • oneof kullanmak için dinamik alanlar içeren Prop mesajlarını güncelleyin (I81739)
  • Ayarlayıcıları olan aşırı yüklemeler için ayarlayıcı uygulama yeniden kullanma (Ied70c)
  • Aşırı yüklenmelere sahip ayarlayıcılarda parmak izlerini düzgün şekilde kaydetme (I86ed2)

Sürüm 1.0.0-alpha11

7 Haziran 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Kalp atış hızı doğruluğu için PlatformDataKey eklendi. (I7f9b8)

API Değişiklikleri

  • StateBuilders#getIdToValueMapping işlevini getKeyToValueMapping olarak yeniden adlandırın ve dönüş türünü Map<<AppDataKey<?>,DynamicDataValue> olarak değiştirin. (Iaa7ae)
  • StateStore'yı son sınıf yap (I408ca)
  • TimeGateway arayüzü, protolayout-expression-pipeline kitaplığında PlatformTimeUpdateNotifier ile değiştirildi. Bu arayüz, zaman verilerinin güncellenmesi için istenen sıklığı sağlar. (I60869)
  • PlatformDataProvider içindeki register/unregisterForData öğesini set/clearReceiver olarak yeniden adlandırma (I14b02)
  • Materyal Metin'de getExcludeFontPadding, hasExcludeFontPadding olarak yeniden adlandırıldı. (Iea01d)
  • Etiketi mükemmel şekilde hizalamak için ayarlayıcı tüm çip bileşenlerine eklendi. Tüm çiplerde artık minimum dokunulabilir hedef uygulanıyor. (I8ae92)
  • LayoutDefaults#BUTTON_MAX_NUMBER, MAX_BUTTONS olarak yeniden adlandırıldı. (I84788)
  • DAILY_DISTANCE, DAILY_DISTANCE_M olarak yeniden adlandırıldı. (I4f758)

Hata Düzeltmeleri

  • Statik değerin neden zorunlu olduğunu netleştirmek için Prop türleri belgelerini güncelleyin. Statik değer sağlanmadığında kullanılan varsayılan değeri belirtin. (I155aa)
  • PlatformDataKey ad alanları, Java stili adlandırmaya uygun olmalıdır. (I47bda)

Sürüm 1.0.0-alpha10

24 Mayıs 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 iptal edilir. Version 1.0.0-alpha10 contains these commits.

Yeni Özellikler

  • Uygulama tarafından gönderilen duruma erişmek için AppDataKey, platform verilerine erişmek için PlatformDataKey, StateStore'da ad alanı desteği ekleyin. (I7985e)
  • DynamicBool için Equal ve NotEqual işlemlerini destekleyin. (I6a0c1)

API Değişiklikleri

  • FontStyles sınıfı artık nihai (Iaa2ea)
  • LayoutElementBuilders#FontStyles desteği sonlandırıldı. Lütfen androidx.wear.protolayout.Typography kullanın veya kendi FontStyle öğenizi oluşturun. (Ic929b)
  • Action#Builder iç içe yerleştirilmiş arayüzünü Action arayüzünden gizleyin. Oluşturucu uygulamaları LoadAction ve LaunchAction sınıfları tarafından sağlanmaktadır. (I1d70c)
  • DynamicFloat ile FloatProp'nin kullanılmasına izin verin. FloatProp, düzeni değiştiren bir özellik olarak kullanılmadığı için düzen kısıtlamaları gerektirmez. (I286ac)
  • LoalAction ve SetStateAction işlemleri henüz tam olarak desteklenmediği için kaldırıldı. (I5d6a6)
  • Satır içi resim kaynakları için ARGB_8888 biçimi desteği eklendi. (I8a07c)
  • StateEntryValue öğesini DynamicDataValue olarak yeniden adlandırın ve durum API'lerini DynamicDataKey (If1c01) kullanacak şekilde güncelleyin.
  • StateStore'nın her örneğinde bellek kullanımı ve durum güncelleme süresinin iyi bir şekilde kontrol edilmesini ve sınırlandırılmasını sağlamak için StateStore'da izin verilen giriş sayısını sınırlıyoruz. Bu nedenle, geliştiricinin haritada MAX_STATE_ENTRY_COUNT'den fazla giriş olmadığından emin olması gerekir. Aksi takdirde, StateStore oluştururken veya güncellerken IllegalStateException hatası alır. (Ibadb3)
  • OnLoadTrigger ve OnConditionMetTrigger sınıflarını gizleyin ve setTrigger sınıfını OnConditionMetTrigger için setCondition olarak yeniden adlandırın. (Ibf629)
  • Performans ve uyumluluk nedenleriyle ProtoLayout oluşturucular, AnimatedVectorDrawable kaynaklarındaki tüm özellikleri desteklemez. Desteklenen grubu tanımlayana kadar bu API'leri deneysel olarak işaretliyoruz. (Ic6daf)
  • Günlük mesafe, günlük kalori ve günlük kat sayısı için dinamik türler eklendi. Platform sağlık kaynaklarının anahtarları artık PlatformHealthSources.Keys (Ib7637) altında
  • Easing.cubicBezier yöntemi, CubicBezierEasing.Builder yönteminin yerini alır. Bu işlemle birlikte EasingFunction sınıfı kaldırılır ve bu sınıftaki kolaylaştırma sabitlerine artık doğrudan Easing arayüzünden erişilebilir. Ayrıca setInfiniteRepeatable, INFINITE_REPEATABLE_WITH_RESTART ve INFINITE_REPEATABLE_WITH_REVERSE ile değiştirildi (Ib41e7).
  • Nabzı ve günlük adımları sağlamak için PlatformDataProvider'ı uygulayın. SensorGateway arayüzü genel API'den kaldırıldı. (I55b84)
  • PlatformDataProvider öğesini ekleyin ve sağlayıcının desteklenen anahtarı ifade işlem hattındaki düğüm tarafından gerektiğinde StateStore öğesini PlatformDataProvider öğesine kaydolacak şekilde güncelleyin. (Ib616a)
  • SensorGateway artık herhangi bir durumu korumadığından Closeable değildir. (I6b4f7)
  • CircularProgressIndicator'da ilerleme kaydetmek için FloatProp ile DynamicFloat kullanımına izin verin. Bu özellik, sürüm 1.2'yi destekleyen oluşturucularda desteklenir. Eski oluşturucular, sağlanırsa staticValue'ya, aksi takdirde 0'a (I0d91b) geri döner.
  • MultiButtonLayout sabitleri, LayoutDefaults.MultiButtonLayoutDefaults sınıfı olarak yeniden düzenlendi. Bu sınıf artık düzendeki düğme sayısına bağlı olarak düğme boyutları için olanları içeriyor. (I13973)
  • Malzeme Metni'nde StringProp ile DynamicString kullanımını destekler. Bu özellik, sürüm 1.2'yi destekleyen oluşturucularda desteklenir. Eski oluşturucular, sağlanan statik değere geri döner. Text#getText dönüş türünü String olarak güncelleyin.StringProp (I7275b)

Sürüm 1.0.0-alpha09

10 Mayıs 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 iptal edilir. Version 1.0.0-alpha09 contains these commits.

Yeni Özellikler

  • Deneysel bir uzantı düzeni öğesi ekledik. Bu özelliğin varsayılan olarak kullanılamadığını ve düzen öğesini anlayabilen bir oluşturucu uzantısı gerektirdiğini unutmayın. (I6581d)
  • ArcLine için StrokeCap desteği eklendi. (I94951)
  • Koşullu Anlık İşlem desteği eklendi. (I489a7)
  • Koşullu Süre işlemi için destek eklendi. (Iab469)
  • Saniyelerden süre oluşturma desteği eklendi. (Ib5fa1)

API Değişiklikleri

  • enable/disablePlatformSource yöntemleri, DynamicTypeEvaluator konumundan kaldırıldı. Güncellemelerden arayan kişi sorumlu olmalıdır. (I78c6d)
  • Bağlı veri türlerinin boyutunun sınırlandırılmasına izin verin. (Ie2966)
  • protolayout-material'da dinamik içerik açıklaması desteği ekleyin. (I62c8e)
  • AnimationParameters'da süre ve gecikme için uzun ve @IntRange kullanın. (I388b6)

Sürüm 1.0.0-alpha08

19 Nisan 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 iptal edilir. Version 1.0.0-alpha08 şu commit'leri içerir.

Yeni Özellikler

  • AndroidTextStyle, şu konuma eklendi: LayoutElementBuilders (I8d967)
  • ProtoLayout Material Text'te yazı tipi dolgusunu hariç tutma ayarı için destek ekledik. (I17f5d)
  • Satır içi resimler için artık ARGB_8888 destekleniyor. (I18c1e)
  • DynamicColor artık onCondition işlemini destekliyor. (I10927)

API Değişiklikleri

  • Geri sarma animasyonu için özel süre desteği (I3251f)
  • SemanticDescription değiştiricisini ekledik. Ayrıca, ContentDescription bağlanamaz. (I3f1d)
  • DynamicBool.isFalse() yöntemi artık DynamicBool.negate() ile değiştirildi ve DynamicBool.isTrue() kaldırıldı. Ayrıca, NaN DynamicFloat değerleri ve DynamicInt32 değerinin DynamicFloat değerine daraltılması artık geçersiz bir dinamik sonuç veriyor. (I6ac1e)
  • Int ve float biçimlendiriciler artık Builder kalıbını kullanıyor. (Ieb213)

Hata Düzeltmeleri

  • Animasyon uygulanabilir alanlardan yedek statik değer kaldırıldı. (Ifcb01)
  • DynamicTypeValueReceiver#onPreUpdate kaldırıldı. (I2dc35)
  • Dinamik ifadelerdeki dizelerin uzunluğu artık sınırlanmıştır. (I4c93)
  • Gradle bağımlılıkları artık gerektiğinde implementation yerine doğru şekilde api olarak ayarlanıyor. (I40503)

Sürüm 1.0.0-alpha07

5 Nisan 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü şu commit'leri içerir.

Yeni Özellikler

  • StringProp (I04342) için dinamik değer desteği ekleme
  • Bağlanabilir düzen öğelerini işaretleme (Ia110b)

API Değişiklikleri

  • sensorGateway#registerSensorGatewayConsumer, Consumer'da yöntem yerine veri türünü parametre olarak alır. (Icf314)
  • ObservableStateStore, StateStore olarak yeniden adlandırıldı. (Ieb0e2)
  • DynamicTypeEvaluator.Builder yerine oluşturucu bağımsız değişkenleri eklendi. Bu sayede, artık varsayılan olarak boş bir mağazaya ayarlanmış olan ObservableStateStore dahil olmak üzere daha fazla isteğe bağlı bağımsız değişken kullanılabiliyor. (I6f832)
  • DynamicTypeEvaluator içindeki parametrelerin sırası yeniden düzenlendi. (Ic1ba4)

Hata Düzeltmeleri

  • Platform sensör kaynaklarından gelen sinyalleri aşağı akış düğümlerine doğru şekilde yayınlayın (I5a922)

Sürüm 1.0.0-alpha06

22 Mart 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Dinamik ifadelerde kalp atış hızını ve günlük adımları kullanmak için deneysel bir API ekledik (Ifd711)
  • Animasyonlarda geri ve ileri gecikme desteği eklendi. (Ic25f7)
  • Kenarlık ve Arka Plan'a DynamicColor desteği eklendi.
  • DimensionBuilder içindeki türlere dinamik değer desteği ekledik
  • tiles-material düzeni ve bileşenleri protolayout-material düzenine taşınıyor

API Değişiklikleri

  • LoadActionListener, şu konuma eklendi: ProtoLayoutViewInstance (If7806)

Hata Düzeltmeleri

  • FloatNodesTest (Id7281) eklendi
  • Yapılandırılmış bit eşlem yüklenemediğinde oluşturucunun kilitlenmesi sorunu düzeltildi.

Sürüm 1.0.0-alpha05

8 Mart 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 iptal edilir. 1.0.0-alpha05 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Modifiers nesnesine deneysel bir "içerik güncelleme" animasyonu ekledik. Bu animasyon, düzen güncellemesi sırasında öğe (bu değiştiriciyle) veya alt öğelerinden biri her değiştiğinde tetiklenir. (bd03e5d)

API Değişiklikleri

  • Repeatable adlı oynatma listesine forwardRepeatDelayMillis ve reverseRepeatDelayMillis adlı videoları ekledik. Ayrıca AnimationSpec içindeki delayMillis öğesinin adını startDelayMillis (Ifb266) olarak değiştirdik.
  • DynamicTypeEvaluator.bind yöntemleri artık bir Executor kabul ediyor. (I346ab)
  • Dinamik tür bağlandıktan sonra değerlendirmeyi tetiklemek için startEvaluation yöntemini BoundDynamicType'ye ekledik. (I19908)

Hata Düzeltmeleri

  • Animator nesnesi, tek bir öğenin sonraki animasyonları için yeniden kullanılır. (Ia3be9)

Sürüm 1.0.0-alpha04

22 Şubat 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü şu commit'leri içerir.

Yeni Özellikler

  • ObservableStateStore artık bir anahtar kaldırıldığında da dinleyicileri bilgilendiriyor.
  • DeviceParameters öğesine oluşturucu şema sürümü ve yazı tipi ölçeği eklendi (farklı sürümlere ve yazı tipi ayarlarına yanıt olarak koşullu düzenler oluşturmak için kullanılabilir).
  • DynamicInt32 değerlerinin animasyonunu destekleme özelliği eklendi (I05485)
  • OnLoad ve OnConditionalMet tetikleyicilerini ekledik. Bunlar, tetikleyiciyi destekleyen animasyonları başlatmak için kullanılabilir.
  • Genişletilmiş boyutlar için düzen ağırlığı, sarılmış boyutlar için minimum boyut ekledik.
  • Süre ve anlık dinamik türleri eklendi. Bunlar, dinamik bir ifadede anlık bir zamanı veya süreyi temsil etmek için kullanılabilir.
  • Düzen kaynakları olarak AnimatedVectorDrawable ve SeekableAnimatedVectorDrawable desteği eklendi.

API Değişiklikleri

  • Sensör verileri için API 29 veya sonraki bir sürüm gerekir. (I8099e)
  • launchAction İki yardımcı yöntem (Etkinlik başlatmak için) ekledik.

Hata Düzeltmeleri

  • Tiles animasyonunda set/getSpec öğesini set/getAnimationSpec olarak yeniden adlandırma (I3d74b)

Sürüm 1.0.0-alpha03

8 Şubat 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 iptal edilir. 1.0.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Protolayout-express kitaplığındaki dinamik türlere toByteArray() ve fromByteArray() eklendi.
  • Protolayout-expression kitaplığındaki dinamik türlere toString() eklendi.
  • Dinamik türler için değerlendirme desteği ekledik. Protolayout-expression-pipeline kitaplığındaki DynamicTypeEvaluator sınıfı, daha önce oluşturulmuş bir Dinamik türü (DynamicString, DynamicFloat, …) değerlendirmek (ve güncellenmiş değerleri almak) için kullanılabilir.
  • Animasyonlar oynatılamadığında (değerlendirici tarafından devre dışı bırakıldıkları veya çalışan animasyonların sayısı belirlenen sınıra ulaştığı için) animasyonun yerine animasyon yapılabilir düğümde ayarlanan statik değerler kullanılır.

Sürüm 1.0.0-alpha02

25 Ocak 2023

androidx.wear.protolayout:protolayout:1.0.0-alpha02, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 ve androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.

Yeni Özellikler

  • androidx.wear.tiles:tiles'daki düzen oluşturucular androidx.wear.protolayout:protolayout'a taşınıyor. androidx.wear.tiles:tiles içindekilerin desteği, sonraki alfa sürümlerinden birinde sonlandırılacak.

Sürüm 1.0.0-alpha01

11 Ocak 2023

androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 ve androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Bu sürümde, dinamik değişkenlerden ifadeler oluşturmak için yeni bir kitaplık olan "ProtoLayout Expression" kullanıma sunuluyor.