Wear proto düzeni

  
Bu kitaplık, uzak yüzeylerde oluşturulacak/değerlendirilecek bir dizi kullanıcı arayüzü düzenini ve kullanıcı arayüzü dışı ifadelerin tanımlanmasını sağlar.
Son Güncelleme Kararlı Sürüm Yayın Adayı Beta Sürümü Alfa Sürümü
7 Ağustos 2024 1.2.0 - - -

Bağımlılıkları bildirme

Wear-protolayout'a bağımlılık eklemek için belirler. Google'ın Maven deposunu okuyun konulu videomuzu izleyin.

build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin. uygulamanız veya modülünüz:

Eski

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.0"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.2.0"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.2.0"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.0")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.2.0")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.2.0")
}

Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.

Geri bildirim

Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlarla karşılaşırsanız veya fikir edinebilirsiniz. Daha fazla bilgi için lütfen mevcut sorunlar tıklayın. Oyunuzu mevcut bir soruna eklemek için yıldız düğmesini tıklayın.

Yeni sayı oluştur

Sorun İzleyici dokümanlarına bakın konulu videomuzu izleyin.

Sürüm 1.2

Sürüm 1.2.0

7 Ağustos 2024

androidx.wear.protolayout:protolayout-*:1.2.0 yayınlandı. 1.2.0 Sürümü şunları içerir. bu taahhütleri kabul edersiniz.

1.1.0'dan bu yana önemli değişiklikler

  • FontStyle, değişken eksenler için ek yazı tipi desteği ve yakında kullanıma sunulacak Flex yazı tiplerini destekleyecek daha iyi yazı tipi seçim API'si içerecek şekilde güncellendi.
  • Ek Değiştiriciler desteği:
    • Animasyonlu veya animasyonsuz çeviri, döndürme ve ölçeklendirme özellikleri sunan dönüşüm değiştirici.
    • Her bir köşe yarıçapı için farklı değerler (yatay ve dikey) belirtme.
  • Tıklanabilir değiştiriciyi kullanan herhangi bir öğenin dokunulabilir alanı, 48dp x en az 48dp olacak şekilde genişletilerek tüm dokunma hedeflerinin erişilebilirliği iyileştirildi.
  • Farklı ekran boyutlarında bu düzenlerin duyarlı davranışını daha iyi desteklemek ve karoların tutarlılığını artırmak için setResponsiveContentInsetEnabled eklenerek PrimaryLayout ve EdgeContentLayout iyileştirildi.
  • Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesi için Material Text'in ölçeklendirilmesi veya ölçeklendirilmemesi iyileştirildi.
  • Tüm yay öğelerinde sağdan sola yerleşim yönü için iyileştirilmiş destek.

Ek değişiklikler

Sürüm 1.2.0-rc01

24 Temmuz 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 yayınlandı. Sürüm 1.2.0-rc01 bu kayıtları içerir.

Hata Düzeltmeleri

  • Standart Malzeme Çipini, yalnızca birincil veya ikincil etiketlerden hiçbiri geçirilmediğinde simge olarak kullanılabilecek şekilde düzelttik. (Iceef9)
  • Materyal düzenleri ile ilgili dokümanlar, düzenlerin daha kolay anlaşılması için ilgili sayfadan görseller içerecek şekilde güncellendi. (I0256a)

Sürüm 1.2.0-beta01

10 Temmuz 2024

androidx.wear.protolayout:protolayout-*:1.2.0-beta01 yayınlandı. Sürüm 1.2.0-beta01 bu taahhütleri içerir.

Yeni Özellikler

Wear ProtoLayout'un 1.2.0-beta01 sürümü, kitaplığın bu sürümünün özelliklerin tamamlandığını ve API'nin kilitli olduğunu (deneysel olarak işaretlendiği durumlar hariç) belirtir. Wear ProtoLayout 1.2, aşağıdaki yeni işlevleri ve API'leri içerir:

  • FontStyle, aşağıdaki şekilde ek yazı tipi desteği içerecek şekilde güncellendi:
    • FontSetting.weight ve FontSetting.width gibi farklı yazı tipi varyasyonu ayarları belirlemek
    • Tüm sayısal karakterler için aynı genişliğin ayarlanması - tablo biçiminde sayılar (FontSetting.tnum yazı tipi özelliği ayarı)
    • Kullanılacak tercih edilen yazı tipi ailesi adları belirtilerek yakında kullanıma sunulacak esnek yazı tiplerini desteklemek için yazı tipi seçimi API'leri iyileştirildi.
  • Asimetrik köşeleri olan yapı öğelerine olanak tanımak için her CornerRadius ayrı yatay ve dikey değerle belirtilmesini desteklemek üzere Corner değiştiricisi genişletildi.
  • LayoutElement çevirme, döndürme ve ölçeklendirme olanağı sunan yeni bir Transformation değiştirici eklendi. Bu dönüşümler, dinamik değerler kullanılarak canlandırılabilir.
  • Farklı düzen yönlerinde (LTR ve RTL gibi) daha iyi destek sağlamak için tüm yay öğelerine (Arc, ArcLine ve ArcText) Clockwise, CounterClockwise ve Normal seçenekleriyle birlikte setArcDirection eklendi.
  • Clickable değiştiriciyi kullanan herhangi bir öğenin dokunulabilir alanı, en az 48dp x 48dp olacak şekilde genişletilerek tüm dokunma hedeflerinin erişilebilirliği iyileştirildi.
  • Farklı ekran boyutlarında bu düzenlerin duyarlı davranışını daha iyi desteklemek ve karoların tutarlılığını artırmak için setResponsiveContentInsetEnabled eklenerek PrimaryLayout ve EdgeContentLayout iyileştirildi. Hızlı bir düzeltmeyle bu API'lerin kullanımını önermek için lintör uyarısı eklendi.
  • Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesi için Text Materyalini ölçeklendirme özelliği iyileştirildi.

API Değişiklikleri

  • preferredFontFamilies API'nin kullanılmaması nedeniyle varsayılan yazı tipi ailesi adı (DEFAULT_SYSTEM_FONT) kaldırıldı. (I39dab)
  • FontSetting.width içine 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 yayınlandı. Sürüm 1.2.0-alpha05 bu kaydetmeleri içerir.

Yeni Özellikler

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

API Değişiklikleri

  • FontFamily yapısı, oluşturucu sınıfı yerine FontStyle sınıfına taşındı. (I06leştirilmiş)
  • FontSetting.weight ve FontSetting.width API'sini, Aralık ek açıklamalarını içerecek şekilde güncelleyin ve ağırlığın parametresini int olarak değiştirin. (Ia726c)

Hata Düzeltmeleri

  • Materyal kitaplığındaki ölçeklendirilemeyen metinler, artık Android 14'ün doğrusal olmayan yazı tipi ölçeklendirme özelliğiyle düzgün şekilde çalışıyor. (I6601e)

Sürüm 1.2.0-alpha04

29 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 yayınlandı. Sürüm 1.2.0-alpha04 bu kaydetmeleri içerir.

API Değişiklikleri

  • Her köşenin yarıçapını 2 değerle ayrı ayrı belirtebilmek için asimetrik köşeler API'si eklendi. (Icbd69)
  • FontSetting API'si şunları içerecek şekilde genişletildi:
    • yazı tipi özelliği ayarı (örneğin, yazı tipini tablo olarak ayarlamak) kullanabilirsiniz. (If12b7)
    • Değişken yazı tipleri için özel genişlik ayarlama gibi yazı tipi varyasyonu ayarları. (I2b36d)
  • Kullanılması gereken yazı tipi ailelerinin sipariş listesini belirtmenize olanak tanımak için yazı tipi ailesi API'si FontStyle işlevine eklendi. (Iba9f5)
  • Hem PrimaryLayout hem de EdgeContentLayout uygulanabileceği için başlangıçta "Edge content" ön ekini taşıyan Material LayoutDefaults etiketindeki içerik ve ikincil etiket arasındaki boşluk yüksekliği için sabit değerler daha genel olacak şekilde yeniden adlandırıldı. (I4dc32)

Hata Düzeltmeleri

  • Değişken yazı tipi eksenleri için axisName olan adlandırma axisTag olarak yeniden adlandırıldı. (I02ba3)

Sürüm 1.2.0-alpha03

14 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 yayınlandı. Sürüm 1.2.0-alpha03 bu kaydetmeleri içerir.

Yeni Özellikler

  • FontStyle için özel ağırlık değerleri ayarlama API'si eklendi. (I7390a)

Hata Düzeltmeleri

  • Hedef eşlemenin boş olması nedeniyle getTouchDelegateInfo uygulamasındaki hatayı düzeltti. (I2accf)

Sürüm 1.2.0-alpha02

1 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 yayınlandı. Sürüm 1.2.0-alpha02 bu kaydetmeleri içerir.

API Değişiklikleri

  • Tıklanabilir öğelerde dalga geri bildirimini devre dışı bırakma desteği ekledik. (If1ede)
  • Dönüşüm API'si, ArcModifiers özelliğini desteklemediğinden (Ic0827) kaldırıldı.
  • ArcDirectionProp Builder artık oluşturucuda bir değer bekliyor. (I76ada)
  • PlatformDataValues.Builder.putAll yöntemi, bir PlatformDataValue ile başka bir tanenin birleştirilmesine olanak tanır. (I50ba3)
  • Text#setIsScalable, Text#setScalable olarak yeniden adlandırıldı. (If920e)
  • Materyal Metin, ölçeklenebilir boyutun (kullanıcı yazı tipi boyutu değiştirildiğinde artar) kullanılıp kullanılmayacağını ayarlayabilir. (Ibc849)
  • TitleChip öğesine içerik açıklaması ayarlama seçeneği ekledik. (I5d21f)
  • CompactChip öğesinin yalnızca simgeyle düzgün şekilde çalışması ve API'yi bu seçeneğe izin verecek şekilde güncellemesi düzeltildi. (I6589e)

Hata Düzeltmeleri

  • Başlatma sırasında yinelenen platform verileri olması sorunu düzeltildi. (Iba0fd)
  • Düğüm maliyetini almak için DynamicDataNode ürününe yeni bir alıcı ekleyin. Dinamik düğüm kotası alınırken maliyet kullanılır. Şu anda sabit değere sahip düğümlerin maliyeti 0, diğer tüm düğümlerin maliyeti 1'dir. (Ia33e1)
  • NO_OP_QUOTA_MANAGER öğesinden sayma mantığını kaldırın. (Ib50b8)
  • PrimaryLayout, setResponsiveContentInsetEnabled olmadan kullanıldığında uyarı bildiren ve hızlı bir çözüm sunan lint kuralı ekledik. (I12025)
  • Dinamik ifade düğümlerinin sayısı için bir sınır vardır. (Iffae8)

Sürüm 1.2.0-alpha01

6 Mart 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 yayınlandı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.

Yeni Özellikler

  • ProtoLayout Arc öğeleri artık ona ArcDirection (Clockwise, Counterclockwise veya Normal) ekleme seçeneğine sahip. Bu davranışın Arc, ArcLine veya ArcText'ye eklenmesi, bunların RTL düzenlerdeki davranışını düzeltir. (I90699)
  • EdgeContentLayout, kullanıcı deneyimi yönergelerine daha iyi uyum sağlamak amacıyla yeni bir setResponsiveContentInsetEnabled setter ile güncellendi. Böylece, karolarda tutarlılığı sağlamak için sabit yerin üst kısmında birincil etiket ve etiketler için duyarlı ek yer alması sağlandı. (I60175)
  • İçeriğin ekran kenarından taşmasını önlemek için bu düzendeki birincil etikete, ikincil etikete ve alt çipe duyarlı iç içe ekleyen PrimaryLayout.setResponsiveContentInsetEnabled ekledik. (I0c457)
  • Daha küçük bir bileşen olarak kullanılabilmesi için CircularProgressIndicator öğesinden dış kenar boşluklarını kaldırma yöntemi ekler. (I55c06)

API Değişiklikleri

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

Hata Düzeltmeleri

  • Metinde elips, harf aralığı ve ortaya hizalama özelliklerinin tümü kullanıldığında metin hizalama sorunu düzeltildi. (I716c7)
  • Kayak yay çizimi sorunu için geçici çözüm ekleyin. (I08f09)
  • Sağdan sola düzenler için ArcLine çizim yönü düzeltildi. (I6c141)

Sürüm 1.1

Sürüm 1.1.0

7 Şubat 2024

androidx.wear.protolayout:protolayout-*:1.1.0 yayınlandı. 1.1.0 sürümü bu kaydetmeleri içerir.

1.0.0'dan bu yana önemli değişiklikler

  • ArcLine uygulamasında gradyan desteği ve 360 dereceden büyük uzunluklar daha iyi temsil ediliyor.
  • 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 elipsleştirme seçenekleri.
  • Ayırıcı, isteğe bağlı ağırlığa sahip genişletilmiş boyutları destekler.
  • Tüm ProtoLayout API'lerine şema sürümü gereksinimi ek açıklaması.
  • Erişilebilirlik gereksinimlerini karşılamak için hedef alanı herhangi bir Clickable öğesini 48 dp x 48 dp olacak şekilde genişletildi.
  • Yazı tipi dolgusu varsayılan olarak kapalıdır ve metin içeren tüm Metin öğelerinde ve Materyal bileşenlerinde 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 yayınlandı. Sürüm 1.1.0-rc01 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • PlatformTimeUpdateNotifierImpl, güncellemeyi etkinleştirdikten hemen sonra onay işareti veriyor. (I77145)
  • CircularProgressIndicator, RTL düzenleri için düzeltildi. Şu andan itibaren, tüm durumlarda saat yönünde olacaktır. (I95ee3)
  • Kayak yay çizimi sorunu için geçici çözüm ekleyin. (I08f09)

Sürüm 1.1.0-beta01

10 Ocak 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 yayınlandı. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

Wear ProtoLayout'un 1.1.0-beta01 sürümü, kitaplığın bu sürümünün özelliklerin tamamlandığını ve API'nin kilitli olduğunu (deneysel olarak işaretlendiği durumlar hariç) belirtir. 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 öğesine Shadow ekleyerek 360 dereceden büyük uzunlukları daha iyi temsil etmek için sınıra gölge ekleyerek renk geçişini destekliyor.
  • DynamicInstant, bölgeye ayrılmış tarih-saat biçimlendirmesini destekliyor. DynamicInstant ve DynamicDuration, eyalet veya platform veri türü olarak kullanılabilir.
  • Birden fazla boyutun FontStyle.setSizes olarak ayarlanmasına olanak tanıyan metin boyutu için otomatik boyutlandırma özelliği. Bu özellikte, Metin boyutu üst öğedeki alana göre otomatik olarak ölçeklendirilir. Ayrıca TEXT_OVERFLOW_ELLIPSIZE ekleyerek ve TEXT_OVERFLOW_ELLIPSIZE_END öğesini kullanımdan kaldırarak taşan metinler için elips oluşturma seçeneklerini iyileştirdik.
  • Spacer artık isteğe bağlı ağırlıkla genişletilmiş boyutlara sahip olmayı destekliyor. ExpandedDimensionProp binası için DimensionBuilders.weight yardımcı yöntemi ekledik.
  • Modifier.visible ile düzen öğelerini dinamik olarak gizleme ve gösterme desteği. BoolProp içinde dinamik değerlere sahip olmak da buna dahildir.
  • Tüm ProtoLayout API'lerinde artık şema sürümü gereksinimi ek açıklaması var. Daha yeni bir API çağrılmadan önce sürüm kontrol edilebilir.
  • Erişilebilirlik gereksinimlerini daha iyi desteklemek için Clickable öğesine sahip her öğenin hedef alanı, oluşturucuda artık en az 48x48 boyutuna genişletildi.
  • Diğer Materyal bileşenleri ve Compose girişimlerinin ardından, tüm Text öğelerinde yazı tipi dolgusunu varsayılan olarak devre dışı bıraktık. Ayrıca, AndroidTextStyle ve ilgili belirleyiciler herkese açık API'den kaldırıldı. aşağıdaki hata düzeltmeleriyle:
  • Kenar içeriğinin EdgeContentLayout içinde konumlandırılması için bir setter eklendi. Böylece bu içerik diğer içeriklerden önce konumlandırılabilir.
  • Tanınmayan bir enum değeriyle karşılaşıldığında sürekli olarak istisna oluşturma.
  • Geçersiz bir sayısal değer (NaN veya sonsuz) verdiğinde veya ArithmeticException döndürdüğünde ifadenin sonucunu geçersiz kılın.

API Değişiklikleri

  • SweepGradient API'sinde, oluşturucuda renkleri veya ColorStops kabulünü kabul etmek için yapılan güncellemeler. (I6676f)

Hata Düzeltmeleri

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

Sürüm 1.1.0-alpha04

13 Aralık 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü bu kaydetmeleri 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

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

Hata Düzeltmeleri

  • Tanımlanmamış veya Tanınmayan enum değeriyle karşılaştığınızda bir istisna yazın. (I9d2cf)
  • DynamicTypeBindingRequest öğelerini yeniden düzenleyin. (I27b57)
  • Geçersiz bir sayısal değer (NaN veya sonsuz) verdiğinde veya ArithmeticException döndürdüğünde ifadenin sonucunu geçersiz kılın. (I681ae)

Sürüm 1.1.0-alpha03

29 Kasım 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 yayınlandı. 1.1.0-alpha03 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Düzen öğelerini dinamik olarak gizlemek/göstermek için deneysel destek eklendi (I64a78)
  • BoolProp ürününe dinamik değer desteği ekleme (I2fe96)
  • ProtoLayout API'lerine şema sürümü gereksinimi ek açıklaması ekleyin (I0f03c)
  • Maksimum satıra ulaşılmadığında bile (ancak Metin için yeterli alan yokken) sabit bir üst kapsayıcıdaki Metni elipsleştiren yeni TextOverflow seçeneğiyle API genişletiliyor. (I110a9)
  • Ağırlıkla ExpandedDimensionProp oluşturmak için DimensionBuilders.weight yardımcı yöntemi eklendi. (I4f72b)
  • DynamicInstant ve DynamicDuration, eyalet veya platform veri türü olarak kullanılabilir. (I6819f)

API Değişiklikleri

  • DynamicZonedDateTime öğesini gizlemek ve tüm işlemlerini DyanamicInstant öğesine taşımak için API'yi güncelleyin (I34b94)
  • Boşluk tuşu artık genişlik/yükseklik için Genişletilmiş boyutu destekliyor. (Ie7c94)
  • Oluşturucu'da tıklama hedefi alanı uzantısı desteği (I39c79)

Sürüm 1.1.0-alpha02

15 Kasım 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 yayınlandı. 1.1.0-alpha02 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • API'ye ArcLine StrokeCap Shadow alanı eklendi. (I830ec)
  • Genişletmek için Boşluk Çubuğunun genişliğini veya yüksekliğini belirtebilmek amacıyla API genişletiliyor. (I757ca)
  • Metin boyutunu üst öğede bulunan alana göre otomatik olarak ölçeklendirmek için deneysel bir API ekledik. (Ibbe63)
  • Minimum tıklanabilir boyutunu destekler (I178e3)
  • StrokeCap Shadow için oluşturucu desteği eklendi. (I48b17)
  • ArcLine sürümünde Süpürme Gradyan için oluşturucu desteği ekleyin. (I4d5bb)

Sürüm 1.1.0-alpha01

18 Ekim 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 yayınlandı. Sürüm 1.1.0-alpha01 bu kaydetmeleri içerir.

Yeni Özellikler

  • SweepGradient desteğiyle Arcline öğesine bir fırça seçeneği eklendi. (Ie7ce3)
  • Bölgelere ayrılmış tarih-saat biçimlendirmesi için destek eklendi. (Ibfae0)
  • Bölgesel tarih-saat biçimlendirmesi için gerekli proto ve Java Sarmalayıcıları eklendi. (I97126)
  • DynamicDataValue içinde depolanan değeri okumak için alıcılar eklendi. (Ie6cea)
  • Kenar içeriğinin EdgeContentLayout içinde konumlandırılması için bir setter eklendi. Böylece bu içerik diğer içeriklerden önce konumlandırılabilir. (Ie8e8a)

Hata Düzeltmeleri

  • Birden fazla zaman veri kaynağı kaydına sahip bir ifadenin hemen güncellenmemesi sorunu düzeltildi. (I8e1a8)
  • Farklılık güncellemeleri sırasında kök öğeyi ortalayan bir hata düzeltildi. (Ie48f7)
  • Ayarlanmayan (veya boş olan) düzen kısıtlama değerleri artık yoksayılmayacak. (Ibc785)
  • Bir düzenin görünür hale gelmesi ve ardışık düzen düğümlerinin başlatılması arasındaki gecikmenin azaltılması. (I38d4e)

Sürüm 1.0

Sürüm 1.0.0

9 Ağustos 2023

androidx.wear.protolayout:protolayout-*:1.0.0 yayınlandı. 1.0.0 sürümü bu kaydetmeleri içerir.

1.0.0'ı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 Parça kitaplığı, platform verilerini bağlamayı (daha hızlı parça verisi güncellemeleri için) ve animasyonları desteklemek için bu API'leri kullanır.

Sürüm 1.0.0-rc01

26 Temmuz 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 yayınlandı. Sürüm 1.0.0-rc01 bu kaydetmeleri içerir.

  • Kartlardan ProtoLayout hizmetine geçiş yapmak 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 etkiye sahip olmamıştır. (If7d01)
  • Bir ProtoLayout düzeninin sahip olabileceği maksimum derinlik, iç içe yerleştirilmiş 30 LayoutElements ile sınırlandırılmıştır. (I8a74b)

Hata Düzeltmeleri

  • DynamicColor öğesinin SpanText için ayarlanıp ayarlanmadığını kontrol etmek için bir kontrol ekledik. (I0e5bc)
  • DAILY_CALORIES veri kaynağı biriminin kcal olduğu açıklandı. (Iaa785)

Sürüm 1.0.0-beta01

21 Haziran 2023

androidx.wear.protolayout:protolayout-*:1.0.0-beta01 yayınlandı. Sürüm 1.0.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

  • Zaman bağlama testleri için saati ayarlamaya izin ver. (I05622)

API Değişiklikleri

  • PlatformDataReceiver.onData() ve StateBuilders.Builder.addKeyToValueMapping artık güvenli olmayan genel öğeler yerine DynamicDataKey ile DynamicDataValue arasında tür güvenli eşlemeyi kabul ediyor. Bu, DynamicDataValue adının artık DynamicType ile yazıldığı anlamına gelir. HEART_RATE_ACCURACY_X sabit değerleri, diğer Android sabit değerleri konumlandırmasıyla eşleşecek şekilde PlatformHealthSources köküne taşındı. HEART_RATE_ACCURACY_X tam sayı sabitleri, artık değer sabiti yerine doğrudan DynamicHeartRateAccuracy.constant() ve DynamicHeartRateAccuracy.dynamicDataValueOf() değerlerinde kullanılmaktadır. (I82ff5)
  • PlatformHealthSources.Constants sınıfı yanlışlıkla örneklendirilebilir. Bu sorun artık düzeltildi. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver artık Supplier işlevi yerine Runnable ve bildirim için Executor alıyor. (I9d938)
  • PlatformTimeUpdateNotifier#setReceiver parametresinde Callable olan parametre türü Supplier olarak değiştirildi. (I664bf)
  • CompactChip ve TitleChip artık simge eklemeyi destekliyor. (I5a01e)

Hata Düzeltmeleri

  • Prop mesajlarını dinamik alanlarla güncelleme (I81739)
  • Ayarlayıcı içeren aşırı yüklemeler için setter uygulamasını yeniden kullanma (Ied70c)
  • Aşırı yüklenmeye sahip setterlerde parmak izlerini doğru şekilde kaydedin (I86ed2)

Sürüm 1.0.0-alpha11

7 Haziran 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 yayınlandı. Sürüm 1.0.0-alpha11 bu kaydetmeleri içerir.

Yeni Özellikler

  • Nabız doğruluğu için PlatformDataKey ekledik. (I7f9b8)

API Değişiklikleri

  • StateBuilders#getIdToValueMapping içeriğini getKeyToValueMapping olarak yeniden adlandırın ve döndürme türünü Map<<AppDataKey<?>,DynamicDataValue> olarak değiştirin. (Iaa7ae)
  • StateStore sınıfını son sınıf yap (I408ca)
  • TimeGateway arayüzü, protolayout-expression-pipeline kitaplığında zaman verilerinin istenen sıklıkta güncellenmesi için PlatformTimeUpdateNotifier ile değiştirildi. (I60869)
  • PlatformDataProvider içindeki register/unregisterForData öğesinin adını set/clearReceiver olarak değiştirin (I14b02)
  • Materyal Metin'de getExcludeFontPadding, hasExcludeFontPadding olarak yeniden adlandırıldı. (Iea01d)
  • Tüm çip bileşenlerine etiketi mükemmel şekilde hizalamak için setter eklendi. Artık tüm çiplere minimum dokunulabilir hedef uygulandı. (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 kılındığını netleştirmek için Prop türleri belgelerini güncelleyin. Statik değer sağlanmadıysa kullanılan varsayılan değeri belirtin. (I155aa)
  • PlatformDataKey ad alanları, Java stili adlandırmaya uymalıdır. (I47bda)

Sürüm 1.0.0-alpha10

24 Mayıs 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Uygulama aktarılma durumuna erişmek için AppDataKey ekleyin; Platform verilerine erişim için PlatformDataKey ekleyin; StateStore dosyasına ad alanı desteği ekleyin. (I7985e)
  • DynamicBool için Equal ve NotEqual işlemlerini destekle. (I6a0c1)

API Değişiklikleri

  • FontStyles sınıfı artık nihai durumda (Iaa2ea)
  • LayoutElementBuilders#FontStyles desteği sonlandırıldı. Lütfen androidx.wear.protolayout.Typography kullanın veya kendi FontStyle öğenizi oluşturun. (Ic929b)
  • Action arayüzünde iç içe yerleştirilmiş Action#Builder arayüzünü gizle. Oluşturucu uygulamaları halihazırda LoadAction ve LaunchAction sınıfları tarafından sağlanmaktadır. (I1d70c)
  • DynamicFloat hizmetinin FloatProp ile kullanılmasına izin ver. FloatProp, düzen değiştirme özelliği olarak kullanılmadığı için düzen kısıtlaması gerektirmez. (I286ac)
  • LoalAction ve SetStateAction işlemleri henüz 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 öğesinin adını DynamicDataValue olarak değiştirin ve durum API'lerini DynamicDataKey (If1c01) kullanacak şekilde güncelleyin.
  • Her StateStore örneği için bellek kullanımı ile durum güncelleme süresinin iyi kontrol edilmesini ve kontrol edilmesini sağlamak amacıyla StateStore içinde izin verilen giriş sayısını sınırlandırıyoruz. Sonuç olarak, geliştiricinin haritada en fazla MAX_STATE_ENTRY_COUNT giriş bulunduğundan emin olması gerekir. Aksi takdirde StateStore öğesini oluştururken veya güncellerken IllegalStateException alırlar. (Ibadb3)
  • OnLoadTrigger ve OnConditionMetTrigger sınıflarını gizleyip OnConditionMetTrigger için setTrigger sınıfını setCondition olarak yeniden adlandırın. (Ibf629)
  • Performans ve uyumluluk nedeniyle ProtoLayout oluşturucuları, AnimatedVectorDrawable kaynaklarındaki özelliklerin tamamını desteklemez. Desteklenen kümeyi tanımlayana kadar bu API'leri deneysel olarak işaretliyoruz. (Ic6daf)
  • Günlük mesafe, günlük kalori ve günlük katlar için dinamik türler eklendi. Platform sağlık kaynaklarının anahtarları artık PlatformHealthSources.Keys (Ib7637) altında yer alıyor
  • Easing.cubicBezier yöntemi, CubicBezierEasing.Builder yönteminin yerini alır. Bununla birlikte, EasingFunction sınıfı kaldırılır ve bu sınıftaki yumuşak geçiş sabitlerine artık doğrudan Easing arayüzünden erişilebilir. Ayrıca setInfiniteRepeatable, INFINITE_REPEATABLE_WITH_RESTART ve INFINITE_REPEATABLE_WITH_REVERSE (Ib41e7) ile değiştirilmiştir.
  • Nabız ve günlük adım sayısını sağlamak için PlatformDataProvider özelliğini uygulayın. SensorGateway arayüzü, herkese açık API'den kaldırıldı. (I55b84)
  • PlatformDataProvider ekleyin ve sağlayıcının desteklenen anahtarı, ifade ardışık düzeninden düğüm tarafından gerekli olduğunda PlatformDataProvider ürününe kaydolmak için StateStore öğesini güncelleyin. (Ib616a)
  • SensorGateway, artık herhangi bir durumu korumadığından artık Closeable değil. (I6b4f7)
  • CircularProgressIndicator oyunundaki ilerleme durumu için DynamicFloat ile FloatProp kullanımına izin verin. Bu, 1.2 sürümünü destekleyen oluşturucular için desteklenir. Eski oluşturucular varsa staticValue yerine 0'a (I0d91b) döner.
  • MultiButtonLayout sabit değeri, LayoutDefaults.MultiButtonLayoutDefaults sınıfı olarak yeniden düzenlendi. Bu sabit değer, artık düzendeki düğmelere bağlı olarak düğme boyutları için söz konusu boyutları içeriyor. (I13973)
  • Material Text'te DynamicString ile StringProp kullanma desteği. Bu, 1.2 sürümünü destekleyen oluşturucular için desteklenir. Eski oluşturucular, sağlanan statik değere döner. Text#getText iade türünü String yerine StringProp olarak güncelleyin. (I7275b)

Sürüm 1.0.0-alpha09

10 Mayıs 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 yayınlandı. Sürüm 1.0.0-alpha09 bu kaydetmeleri içerir.

Yeni Özellikler

  • Deneysel bir uzantı düzen öğesi ekledik. Bunun varsayılan olarak kullanılamayacağı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 Anında İş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öntem DynamicTypeEvaluator grubundan kaldırıldı. Güncellemelerden arayan kişi sorumlu olmalıdır. (I78c6d)
  • Sınırlanan veri türlerinin boyutunu sınırlandırmaya izin ver. (Ie2966)
  • protolayout-material uygulamasında dinamik içerik açıklaması desteği eklendi. (I62c8e)
  • AnimationParameters'da süre ve gecikme için long ve @IntRange değerini kullanın. (I388b6)

Sürüm 1.0.0-alpha08

19 Nisan 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • AndroidTextStyle, şu konuma eklendi: LayoutElementBuilders (I8d967)
  • ProtoLayout Materyal Metninde yazı tipi dolgusunu hariç tutma özelliğini ayarlama desteği ekledik. (I17f5d)
  • ARGB_8888 artık satır içi resimler için desteklenmektedir. (I18c1e)
  • DynamicColor artık onCondition işlemini desteklemektedir. (I10927)

API Değişiklikleri

  • Ters animasyon için özel süre desteği (I3251f)
  • SemanticDescription değiştiriciyi ekledik. Ayrıca, ContentDescription bağlanabilir. (I3f1d)
  • DynamicBool.isFalse() yöntemi artık DynamicBool.negate() ile değiştirilmiştir ve DynamicBool.isTrue() kaldırılmıştır. Ayrıca, NaN DynamicFloat değerlerine ek olarak, DynamicInt32 değerinin DynamicFloat olarak daraltılması artık geçersiz bir dinamik sonuç oluşturmaktadır. (I6ac1e)
  • Tam ve kayan noktalı biçimlendiriciler artık Builder kalıbını kullanmaktadır. (Ieb213)

Hata Düzeltmeleri

  • Yedek statik değer, animasyona uygun alanlardan kaldırıldı. (Ifcb01)
  • DynamicTypeValueReceiver#onPreUpdate kaldırıldı. (I2dc35)
  • Dinamik ifadelerdeki dize uzunluğu artık sınırlandı. (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 yayınlandı. 1.0.0-alpha07 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • StringProp ürününe dinamik değer desteği ekleme (I04342)
  • Bağlanabilir düzen öğelerini işaretleyin (Ia110b)

API Değişiklikleri

  • sensorGateway#registerSensorGatewayConsumer, Tüketici'de yöntem yerine veri türünü parametre olarak alır. (Icf314)
  • ObservableStateStore, StateStore olarak yeniden adlandırıldı. (Ieb0e2)
  • Artık varsayılan olarak boş bir depolama alanına ayarlanmış ObservableStateStore dahil olmak üzere daha isteğe bağlı bağımsız değişkenlere izin vermek için kurucu bağımsız değişkenler yerine DynamicTypeEvaluator.Builder eklendi. (I6f832)
  • DynamicTypeEvaluator içindeki parametrelerin sırası yeniden düzenlendi. (Ic1ba4)

Hata Düzeltmeleri

  • Sinyalleri platform sensör kaynaklarından aşağı akış düğümlerine doğru şekilde yayma (I5a922)

Sürüm 1.0.0-alpha06

22 Mart 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Dinamik ifadelerde nabız ve günlük adım sayısını kullanmak için deneysel bir API (Ifd711) ekledik.
  • Animasyonlar için geri ve ileri gecikmesi desteği ekledik. (Ic25f7)
  • Sınır ve Arka Plan'a DynamicColor desteği ekledik
  • DimensionBuilder dilindeki türlere dinamik değer desteği ekledik
  • tiles-material uygulamasındaki düzen ve bileşenler protolayout-material hedefine taşınıyor

API Değişiklikleri

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

Hata Düzeltmeleri

  • Eklenen FloatNodesTest (Id7281)
  • Yapılandırılmış bit eşlem yüklenemediğinde ortaya çıkan oluşturucu kilitlenmesi düzeltildi.

Sürüm 1.0.0-alpha05

8 Mart 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

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

API Değişiklikleri

  • forwardRepeatDelayMillis ve reverseRepeatDelayMillis öğelerini Repeatable grubuna ekledik. Ayrıca AnimationSpec olan delayMillis, startDelayMillis (Ifb266) olarak yeniden adlandırıldı.
  • DynamicTypeEvaluator.bind yöntemleri artık bir Yürütücü kabul ediyor. (I346ab)
  • Dinamik tür bağlandıktan sonra değerlendirmeyi tetiklemek için BoundDynamicType öğesine startEvaluation yöntemini 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 yayınlandı. 1.0.0-alpha04 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • ObservableStateStore artık bir anahtar kaldırıldığında da dinleyicileri bilgilendiriyor.
  • DeviceParameters ürününe oluşturucu şeması sürümü ve yazı tipi ölçeği ekledik (bu özellik, farklı sürümlere ve yazı tipi ayarlarına göre koşullu olarak düzenler oluşturmak için kullanılabilir).
  • DynamicInt32 değerlerini canlandırma desteği ekledik (I05485)
  • OnLoad ve OnConditionalMet tetikleyici ekledik. Bunlar, bir tetikleyiciyi destekleyen animasyonları başlatmak için kullanılabilir.
  • Genişletilmiş boyutlar için düzen ağırlığı, sarmalanmış boyutlar için ise minimum boyut ekledik.
  • Süre ve anında dinamik türler ekledik. Bunlar, dinamik bir ifadede bir anı veya süreyi temsil etmek için kullanılabilir.
  • Düzen kaynağı olarak AnimatedVectorDrawable ve SeekableAnimatedVectorDrawable desteği ekledik.

API Değişiklikleri

  • Sensör verisi için API 29 veya sonraki sürümler gerekir. (I8099e)
  • İki launchAction yardımcı yöntemi (Etkinlikleri başlatmak için) ekledik.

Hata Düzeltmeleri

  • Karo animasyonunda (I3d74b) set/getSpec öğesinin adını set/getAnimationSpec olarak değiştirin

Sürüm 1.0.0-alpha03

8 Şubat 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Protolayout-express kitaplığındaki Dinamik türlere toByteArray() ve fromByteArray() ekledik.
  • Proto düzen ifade kitaplığındaki dinamik türlere toString() ekledik.
  • Dinamik türler için değerlendirme desteği ekledik. Protolayout-expression-pipeline kitaplığındaki DynamicTypeEvaluator sınıfı, önceden oluşturulmuş bir dinamik türe (DynamicString, DynamicFloat, ...) ait değerleri değerlendirmek (ve güncel değerleri almak) için kullanılabilir.
  • Animasyonlar oynatılamadığında (değerlendirme yapan kişi tarafından devre dışı bırakıldığı veya çalıştırılan animasyonların sayısı belirlenen sınıra ulaştığı için) animasyonun yerini almak için animasyon 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 serbest bırakıldı. 1.0.0-alpha02 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • androidx.wear.tiles:tiles kapsamındaki düzen oluşturucular, androidx.wear.protolayout:protolayout ürününe taşınıyor. androidx.wear.tiles:tiles sürümündekiler, sonraki alfa sürümlerinden birinde kullanımdan kaldırılacaktır.

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 serbest bırakıldı. 1.0.0-alpha01 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Bu sürümle birlikte "ProtoLayout Expression" adlı yeni bir kitaplık kullanıma sunulmuştur. dinamik değişkenlerden ifade oluşturmak için kullanılır.