wear protolayout

  
Bu kitaplık, uzak yüzeylerde oluşturulacak/değerlendirilecek bir dizi kullanıcı arayüzü düzeni ve kullanıcı arayüzü olmayan ifade tanımlamanıza olanak tanır.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
13 Kasım 2024 1.2.1 - - 1.3.0-alpha04

Bağımlılıkları beyan etme

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

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıları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-alpha04"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha04"

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

Kotlin

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

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

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

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ştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.3

Sürüm 1.3.0-alpha04

13 Kasım 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 yayınlanır. 1.3.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

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

Sürüm 1.3.0-alpha03

30 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 yayınlanır. 1.3.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • LayoutElementAssertionsProvider, LayoutElementAssertion ve LayoutElementMatcher'yi test kitaplığına ekleme (Id1110)

Sürüm 1.3.0-alpha02

16 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 yayınlanır. 1.3.0-alpha02 sürümü bu taahhütleri 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 ile derlenir. Güvenlik açığı riskini gidermek için androidx.wear.protolayout:protolayout-proto ve androidx.wear.protolayout:protolayout-external-protobuf'ın 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ı

Sürüm 1.3.0-alpha01

2 Ekim 2024

androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Roboto ve Roboto Flex yazı tipi aile adlarının kullanılabilirliğinin cihaza bağlı olduğu açıklandı. (I193be)
  • AndroidX Kart oluşturma aracında 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 yayınlanır. 1.2.1 sürümü bu taahhütleri içerir.

Güvenlik Düzeltmeleri

  • Bu değişiklik itibarıyla androidx, CVE-2024-7254'ü gidermek için protobuf 4.28.2 ile derlenir. Güvenlik açığı riskini gidermek için androidx.wear.protolayout:protolayout-proto ve androidx.wear.protolayout:protolayout-external-protobuf'ın 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 yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.

1.1.0 sürümünden bu yana yapılan ö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 desteklemek için daha iyi bir yazı tipi seçimi API'si içerecek şekilde güncellendi.
  • Ek değiştirici desteği:
    • Animasyonlu veya animasyonsuz olarak kaydırma, döndürme ve ölçeklendirme 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ştirici kullanan tüm öğelerin dokunulabilir alanı en az 48dpx48dp olacak şekilde uzatılarak tüm dokunma hedeflerinin erişilebilirliği iyileştirildi.
  • Farklı ekran boyutlarında bu düzenlerin duyarlı davranışını daha iyi desteklemek ve Kartlar tutarlılığını iyileştirmek için setResponsiveContentInsetEnabled ekleyerek PrimaryLayout ve EdgeContentLayout'ü iyileştirildi.
  • Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesi için Material Text'in ölçeklendirilmesi/ölçeklendirilmemesi iyileştirildi.
  • Tüm yay öğelerinde sağdan sola düzen yönü desteği iyileştirildi.

Ek değişiklikler

Sürüm 1.2.0-rc01

24 Temmuz 2024

androidx.wear.protolayout:protolayout-*:1.2.0-rc01 yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Standart Material Chip'i, yalnızca birincil veya ikincil etiketlerden hiçbiri iletilmediği takdirde simge olarak kullanılabilecek şekilde düzelttik. (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 yayınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

Wear ProtoLayout'ın 1.2.0-beta01 sürümü, kitaplığın bu sürümünde tüm özelliklerin mevcut olduğunu ve API'nin kilitli olduğunu (deneysel olarak işaretlenenler hariç) gösterir. Wear ProtoLayout 1.2 aşağıdaki yeni işlevleri ve API'leri içerir:

  • FontStyle, aşağıdaki ek yazı tipi desteğine sahip olacak şekilde 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 şeklinde sayılar (FontSetting.tnum yazı tipi özelliği ayarı)
    • Yazı tipi seçim API'leri, kullanılacak tercih edilen yazı tipi aile adlarını belirterek yakında kullanıma sunulacak esnek yazı tiplerini desteklemek için iyileştirildi.
  • Asimetrik köşeleri olan yapı öğelerine izin vermek için her CornerRadius değerini ayrı yatay ve dikey değerlerle belirtmeyi desteklemek üzere genişletilmiş Corner değiştirici.
  • LayoutElement için çeviri, döndürme ve ölçeklendirme sunan yeni bir Transformation değiştirici eklendi. Bu dönüşümler, dinamik değerler kullanılarak animasyonlu hale 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) Clockwise, CounterClockwise ve Normal seçenekleriyle setArcDirection eklendi.
  • Clickable değiştiricisini kullanan tüm öğelerin dokunulabilir alanı en az 48dpx48dp 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 Kartlar tutarlılığını iyileştirmek için setResponsiveContentInsetEnabled ekleyerek PrimaryLayout ve EdgeContentLayout'ü iyileştirildi. Bu API'lerin hızlı bir düzeltmeyle kullanılmasını önermek için linter uyarısı eklendi.
  • Android 14'ün doğrusal olmayan yazı tipi ölçeklendirmesi için Text materyalinin ölçeklendirilmesi/ölçeklendirilmemesi iyileştirildi.

API Değişiklikleri

  • preferredFontFamilies API'sinin kullanılmadığı ima edildiğinden varsayılan yazı tipi ailesi adı (DEFAULT_SYSTEM_FONT) kaldırılır. (I39dab)
  • FontSetting.width parametresine 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ınlanır. 1.2.0-alpha05 sürümü bu taahhütleri 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 sınıfına taşındı. (I06ced)
  • FontSetting.weight ve FontSetting.width API'sini, aralık ek açıklamaları içerecek şekilde güncelleyin ve ağırlık parametresini int olarak değiştirin. (Ia726c)

Hata Düzeltmeleri

  • Material kitaplığındaki ölçeklenemeyen 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ınlanır. 1.2.0-alpha04 sürümü bu taahhütleri 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'yi aşağıdakileri içerecek şekilde genişlettik:
    • Yazı tipini tablo şeklinde ayarlama gibi yazı tipi özelliği ayarları. (If12b7)
    • Yazı tipi varyantı ayarı (ör. değişken yazı tipleri için özel genişlik ayarlama). (I2b36d)
  • Hangi yazı tipi ailelerinin kullanılacağının sıra listesini belirtmeye olanak tanımak için FontStyle'e yazı tipi ailesi API'si eklendi. (Iba9f5)
  • Material'ın LayoutDefaults bölümünde, içerik ile ikincil etiket arasındaki boşluk yüksekliği için sabitler yeniden adlandırıldı. Başlangıçta "Kenar içeriği" ön ekiyle başlayan bu sabitler, hem PrimaryLayout hem de EdgeContentLayout'ye uygulanabildiği için daha genel olacak şekilde yeniden adlandırıldı. (I4dc32)

Hata Düzeltmeleri

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

Sürüm 1.2.0-alpha03

14 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 yayınlanır. 1.2.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • FontStyle için özel ağırlık değerleri ayarlamak üzere API eklendi. (I7390a)

Hata Düzeltmeleri

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

Sürüm 1.2.0-alpha02

1 Mayıs 2024

androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 yayınlanır. 1.2.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Tıklanabilir öğelerde dalga geri bildirimini devre dışı bırakma desteğini ekledik. (If1ede)
  • Dönüşüm API'si, bu özelliği desteklemediği için ArcModifiers'ten kaldırıldı (Ic0827)
  • ArcDirectionProp Builder artık oluşturucuda bir değer bekler. (I76ada)
  • PlatformDataValues.Builder.putAll yöntemi, bir PlatformDataValue öğesini başka bir öğeyle birleştirmenize 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 büyür) kullanılıp kullanılmayacağını ayarlayabilir. (Ibc849)
  • İçerik açıklamasını TitleChip olarak ayarlama seçeneğini ekledik. (I5d21f)
  • CompactChip yalnızca simgeyle düzgün çalışacak şekilde düzeltildi ve API bu seçeneğe izin verecek şekilde güncellendi. (I6589e)

Hata Düzeltmeleri

  • İlk başlatma sırasında platform verilerinin yinelenmesi olasılığıyla ilgili bir sorun düzeltildi. (Iba0fd)
  • Düğüm maliyetini almak için DynamicDataNode'e yeni bir alıcı ekleyin. Maliyet, dinamik düğüm kotası edinirken kullanılır. Şu anda sabit değerlere 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ı bildirmek ve hızlı bir 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 yayınlanır. 1.2.0-alpha01 sürümü bu taahhütleri 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 öğesine eklemek, bu öğelerin RTL düzenlerindeki davranışını düzeltir. (I90699)
  • EdgeContentLayout, kullanıcı deneyimi yönergeleriyle daha iyi uyum sağlamak, birincil etiketi en üstte sabit bir yerde tutarak Kartlar'da tutarlılık sağlamak ve etiketler için duyarlı içe yerleştirilmiş alan kullanmak amacıyla yeni bir setResponsiveContentInsetEnabled ayarlayıcıyla güncellendi. (I60175)
  • İçeriğin ekran kenarından taşmasını önlemek için bu düzendeki birincil etikete, ikincil etikete ve alt çipe duyarlı içe ekleme ekleyen PrimaryLayout.setResponsiveContentInsetEnabled öğesini 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

  • Kart oluşturma aracı artık tüm metin öğelerinde varsayılan olarak font dolgusunu hariç tutar ve dahil etme seçeneği sunmaz. (I3e300)

Hata Düzeltmeleri

  • Metinde elips, harf aralığı ve orta hizalama seçeneklerinin tümü kullanıldığında metin hizalama sorunu düzeltildi. (I716c7)
  • Skia yay çizme sorunu için geçici bir çözüm ekleyin. (I08f09)
  • Sağdan sola düzenler için ArcLine çizim yönünü düzeltin. (I6c141)

Sürüm 1.1

1.1.0 sürümü

7 Şubat 2024

androidx.wear.protolayout:protolayout-*:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.

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

  • ArcLine'te degrade desteği ve 360 dereceden uzun uzunlukların daha iyi gösterilmesi.
  • Tarih ve 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 elips oluşturma seçenekleri.
  • Boşluk, isteğe bağlı ağırlığa sahip genişletilmiş boyutları destekler.
  • Tüm ProtoLayout API'leri için şema sürümü koşulu ek açıklaması.
  • Erişilebilirlik koşullarını karşılamak için tüm Clickable öğelerinin hedef alanını 48 dp x 48 dp'ye genişletildi.
  • Yazı tipi dolgusu varsayılan olarak devre dışıdır ve metin içeren tüm metin öğeleri ve Material 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ınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • PlatformTimeUpdateNotifierImpl, güncellemeyi etkinleştirdikten hemen sonra işaretlenir. (I77145)
  • CircularProgressIndicator, sağdan sola düzenler için düzeltildi. Bundan sonra, tüm durumlarda saat yönünde ilerleyecek. (I95ee3)
  • Skia yay çizme sorunu için geçici bir çözüm ekleyin. (I08f09)

Sürüm 1.1.0-beta01

10 Ocak 2024

androidx.wear.protolayout:protolayout-*:1.1.0-beta01 yayınlanır. 1.1.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

Wear ProtoLayout'ın 1.1.0-beta01 sürümü, kitaplığın bu sürümünde tüm özelliklerin mevcut olduğunu ve API'nin kilitli olduğunu (deneysel olarak işaretlenenler hariç) gösterir. Wear ProtoLayout 1.1 aşağıdaki yeni işlevleri ve API'leri içerir:

  • ArcLine artık SweepGradient ile Brush ekleyerek degradeyi ve mevcut StrokeCap'e Shadow ekleyerek 360 dereceden uzun uzunlukları daha iyi temsil etmek için kapakta gölgeyi destekliyor.
  • DynamicInstant, bölgeye göre tarih ve saat biçimlendirmesini destekler. DynamicInstant ve DynamicDuration, durum veya platform veri türleri olarak kullanılabilir.
  • Metin boyutu için birden fazla boyutu FontStyle.setSizes olarak ayarlamanıza olanak tanıyan otomatik boyutlandırma özelliği. Bu durumda metin boyutu, üst öğenin içindeki alana göre otomatik olarak ölçeklenir. Ayrıca, TEXT_OVERFLOW_ELLIPSIZE ekleyerek ve TEXT_OVERFLOW_ELLIPSIZE_END desteğini sonlandırarak, taşkın metinler için elips ekleme seçeneklerini iyileştirdik.
  • Spacer artık isteğe bağlı ağırlığa sahip genişletilmiş boyutları desteklemektedir. 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. Buna BoolProp içinde dinamik değerler bulunması da dahildir.
  • Tüm ProtoLayout API'lerinde artık şema sürümü koşulu ek açıklaması bulunuyor ve daha yeni bir API çağrılmadan önce sürüm kontrol edilebiliyor.
  • Erişilebilirlik koşullarını daha iyi desteklemek için Clickable içeren her öğenin hedef alanı artık oluşturucuda en az 48x48 olarak genişletildi.
  • Diğer Materyal bileşenleri ve Oluştur girişimlerinin ardından, tüm Text öğelerinde yazı tipi dolgusunu varsayılan olarak devre dışı bıraktık. Ayrıca, AndroidTextStyle ve ilgili ayarlayıcılar, aşağıdaki hata düzeltmeleriyle birlikte herkese açık API'den kaldırıldı:
  • Kenar içeriğini EdgeContentLayout içinde konumlandırmak için diğer içerikten önce konumlandırılabilmesi amacıyla bir ayarlayıcı eklendi.
  • Tanınmayan bir enum değeriyle karşılaşıldığında sürekli olarak istisna atma.
  • Geçersiz bir sayısal değer (NaN veya sonsuz) döndürdüğünde veya ArithmeticException oluşturduğunda bir 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'de yapılan güncellemeler. (I6676f)

Hata Düzeltmeleri

  • Yay öğelerinin çizileceği yönü ayarlamak için kısıtlanmış bir API ve oluşturma aracı desteği eklendi. (Idef5a)
  • RoundMode, belirtilmediği takdirde FloatToInt32Node içinde varsayılan olarak Floor olur. Sağlanan RoundMode tanınmasa bile düğüm yine de istisna atar. (I1b2d8)

Sürüm 1.1.0-alpha04

13 Aralık 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 yayınlanır. 1.1.0-alpha04 sürümü bu taahhütleri 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 için artık destek sunulmamaktadır. Lütfen çok benzer davranışa sahip yeni API TEXT_OVERFLOW_ELLIPSIZE'yi kullanın. (I822d8)
  • Diğer Materyal bileşenleri ve Oluştur girişimlerinin ardından, 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 atayın. (I9d2cf)
  • DynamicTypeBindingRequest dosyasını yeniden yapılandırın. (I27b57)
  • Geçersiz bir sayısal değer (NaN veya sonsuz) döndürdüğünde veya ArithmeticException oluşturduğunda bir 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 yayınlanır. 1.1.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Sayfa düzeni öğelerini dinamik olarak gizleme/gösterme için deneysel destek ekleme (I64a78)
  • BoolProp (I2fe96) için dinamik değer desteği ekleme
  • ProtoLayout API'lerine şema sürümü koşulu notu ekleme (I0f03c)
  • API'yi, maksimum satıra ulaşılmadığında bile (ancak metin için yeterli alan olmadığında) sabit bir üst kapsayıcıdaki metni üç noktayla kısaltmak için TextOverflow'teki yeni seçenekle genişletme. (I110a9)
  • Ağırlığı olan ExpandedDimensionProp binası için DimensionBuilders.weight yardımcı yöntemi eklendi. (I4f72b)
  • DynamicInstant ve DynamicDuration, durum veya platform veri türleri olarak kullanılabilir. (I6819f)

API Değişiklikleri

  • API'yi DynamicZonedDateTime'ü gizleyecek ve tüm işlemlerini DyanamicInstant'a taşıyacak şekilde güncelleme (I34b94)
  • Boşluk artık genişlik/yükseklik için Genişletilmiş boyutu 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 yayınlanır. 1.1.0-alpha02 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • API'ye bir ArcLine StrokeCap Shadow alanı eklendi. (I830ec)
  • API'yi, genişletilecek Spacer'ın genişliğini veya yüksekliğini belirtebilecek şekilde genişletme. (I757ca)
  • Metin boyutunu, üst öğ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şturma aracı desteği eklendi. (I48b17)
  • ArcLine'te sarma gradyan için oluşturma desteği eklendi. (I4d5bb)

Sürüm 1.1.0-alpha01

18 Ekim 2023

androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 yayınlanır. 1.1.0-alpha01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Arcline'e SweepGradient desteği sunan bir fırça seçeneği eklendi. (Ie7ce3)
  • Bölgesel tarih ve saat biçimlendirmesi için destek eklendi. (Ibfae0)
  • Bölgesel tarih ve saat biçimlendirmesi için gereken protolar ve java sarmalayıcıları eklendi. (I97126)
  • DynamicDataValue içinde depolanan değeri geri okumak için alıcı işlevleri eklendi. (Ie6cea)
  • Kenar içeriğini EdgeContentLayout içinde konumlandırmak için diğer içerikten önce konumlandırılabilmesi amacıyla bir ayarlayıcı eklendi. (Ie8e8a)

Hata Düzeltmeleri

  • Birden fazla zaman veri kaynağı kaydı içeren bir ifadenin hemen güncellenmemesiyle ilgili sorun düzeltildi. (I8e1a8)
  • Fark güncellemeleri sırasında kök öğeyi merkezlemeyle ilgili bir hata düzeltildi. (Ie48f7)
  • Ayarlanmamış (veya boş) düzen kısıtlaması değerleri artık yok sayılmaz. (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 yayınlanır. 1.0.0 sürümü bu taahhütleri içerir.

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

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

Sürüm 1.0.0-rc01

26 Temmuz 2023

androidx.wear.protolayout:protolayout-*:1.0.0-rc01 yayınlanır. 1.0.0-rc01 sürümü bu taahhütleri içerir.

  • Kartlardan ProtoLayout'e geçmek için lütfen buradaki talimatları uygulayın.

API Değişiklikleri

  • setLayoutConstraintForDynamicAnchorAngle ve getLayoutConstraintForDynamicAnchorAngle yöntemleri Arc öğesinden kaldırıldı. Bu yöntemler yanlışlıkla eklendi ve sağlanan düzeni etkilemedi. (If7d01)
  • Bir ProtoLayout'ün 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 bir SpanText için ayarlanmışsa hata atanacak 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ınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Zaman bağlama testleri için saat ayarlamaya izin verin. (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 açısından güvenli eşlemeyi kabul ediyor. Yani DynamicDataValue artık DynamicType ile yazılıyor. HEART_RATE_ACCURACY_X sabitleri, diğer Android sabitlerinin konumuyla eşleşecek şekilde PlatformHealthSources'ın köküne taşındı. HEART_RATE_ACCURACY_X int sabitleri artık değer sabitinin yerine doğrudan DynamicHeartRateAccuracy.constant() ve DynamicHeartRateAccuracy.dynamicDataValueOf() içinde kullanılıyor. (I82ff5)
  • PlatformHealthSources.Constants sınıfı yanlışlıkla oluşturulabilir durumdaydı. Bu sorun düzeltildi. (Icb849)
  • PlatformTimeUpdateNotifier#setReceiver artık Supplier işlevi yerine Runnable işlevini ve bildirim için Executor değerini alıyor. (I9d938)
  • PlatformTimeUpdateNotifier#setReceiver parametresinin türünü Callable yerine Supplier olarak değiştirdik. (I664bf)
  • CompactChip ve TitleChip artık bunlara simge eklemeyi destekliyor. (I5a01e)

Hata Düzeltmeleri

  • Prop mesajlarını, bunun yerine oneof kullanacak şekilde dinamik alanlarla güncelleyin (I81739)
  • Ayarlayıcısı olan aşırı yüklemeler için ayarlayıcıları yeniden kullanma (Ied70c)
  • Aşırı yükleme bulunan ayarlayıcılara parmak izlerini doğru şekilde kaydetme (I86ed2)

Sürüm 1.0.0-alpha11

7 Haziran 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 yayınlanır. 1.0.0-alpha11 sürümü bu taahhütleri içerir.

Yeni Özellikler

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

API Değişiklikleri

  • StateBuilders#getIdToValueMapping değerini getKeyToValueMapping olarak yeniden adlandırın ve döndürülen türünü Map<<AppDataKey<?>,DynamicDataValue> olarak değiştirin. (Iaa7ae)
  • StateStore sınıfını son sınıf yapın (I408ca)
  • TimeGateway arayüzü, zaman verilerini güncellemek için istenen sıklığı sağlayan protolayout-expression-pipeline kitaplığında PlatformTimeUpdateNotifier ile değiştirildi. (I60869)
  • PlatformDataProvider'deki register/unregisterForData öğesini set/clearReceiver olarak yeniden adlandırma (I14b02)
  • Materyal metninde 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 çiplere 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 kılındığını açıklığa kavuşturmak için özellik türleri dokümanlarını güncelleyin. Statik değer sağlanmadıysa kullanılan varsayılan değeri belirtin. (I155aa)
  • PlatformDataKey ad alanları Java stilinde adlandırılmalıdır. (I47bda)

Sürüm 1.0.0-alpha10

24 Mayıs 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 yayınlanır. 1.0.0-alpha10 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Uygulama tarafından gönderilen duruma erişmek için AppDataKey ekleyin; Platform verilerine erişmek için PlatformDataKey ekleyin; StateStore'de 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'inizi oluşturun. (Ic929b)
  • Action#Builder iç içe yerleştirilmiş arayüzünü Action arayüzünden gizleme. Builder'ın uygulamaları zaten LoadAction ve LaunchAction sınıfları tarafından sağlanmaktadır. (I1d70c)
  • DynamicFloat'ün FloatProp ile kullanılmasına izin verin. FloatProp, düzeni değiştiren bir öğe 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)
  • StateEntryValueDynamicDataValue olarak yeniden adlandırın ve durum API'lerini DynamicDataKey (If1c01) kullanacak şekilde güncelleyin.
  • StateStore örneğinin her biri için bellek kullanımının ve durum güncelleme süresinin iyi bir şekilde kontrol edildiğinden emin olmak amacıyla StateStore'te izin verilen giriş sayısını sınırlıyoruz. Bu nedenle, geliştiricinin haritasında MAX_STATE_ENTRY_COUNT'ten fazla giriş olmadığından emin olması gerekir. Aksi takdirde, StateStore'yi oluştururken veya güncellerken IllegalStateException hatası alır. (Ibadb3)
  • OnLoadTrigger ve OnConditionMetTrigger sınıflarını gizleyin ve OnConditionMetTrigger için setTrigger sınıfını setCondition olarak yeniden adlandırın. (Ibf629)
  • Performans ve uyumluluk nedeniyle ProtoLayout oluşturma araçları, 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ığı kaynaklarının anahtarları artık PlatformHealthSources.Keys (Ib7637) altında
  • Easing.cubicBezier yöntemi, CubicBezierEasing.Builder yönteminin yerini almıştır. Bu sayede EasingFunction sınıfı kaldırıldı ve bu sınıftaki yumuşatma 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ştirilir (Ib41e7)
  • Kalp atış hızı ve günlük adım sayısını sağlamak için PlatformDataProvider'ü uygulayın. SensorGateway arayüzü, herkese açık API'den kaldırıldı. (I55b84)
  • PlatformDataProvider ekleyin ve ifade ardışık düzenindeki düğüm tarafından sağlayıcının desteklenen anahtarı gerektiğinde PlatformDataProvider'e kaydolmak için StateStore'u güncelleyin. (Ib616a)
  • SensorGateway artık herhangi bir durum bilgisi tutmadığı için Closeable değil. (I6b4f7)
  • CircularProgressIndicator'de ilerleme kaydetmek için FloatPropDynamicFloat ile birlikte kullanmaya izin verin. Bu özellik, 1.2 sürümünü destekleyen oluşturma araçları için desteklenir. Eski oluşturma araçları, sağlanmışsa staticValue değerini, aksi takdirde 0 değerini (I0d91b) kullanır.
  • MultiButtonLayout sabitleri, artık düzendeki düğme sayısına bağlı olarak düğme boyutlarını içeren LayoutDefaults.MultiButtonLayoutDefaults sınıfına yeniden yapılandırıldı. (I13973)
  • Materyal metinde StringProp ile DynamicString kullanılmasını destekleme Bu özellik, 1.2 sürümünü destekleyen oluşturma araçları için desteklenir. Eski oluşturma araçları, sağlanan statik değere geri döner. Text#getText döndürme 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ınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Deneysel bir uzantı düzeni öğ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 işlem için destek eklendi. (I489a7)
  • Koşullu Süre işlemi için destek eklendi. (Iab469)
  • Saniye cinsinden süre oluşturma desteği eklendi. (Ib5fa1)

API Değişiklikleri

  • enable/disablePlatformSource yöntemi DynamicTypeEvaluator'dan kaldırıldı. Güncellemelerden arayan sorumludur. (I78c6d)
  • Bağlı veri türlerinin boyutunun sınırlandırılmasına izin verin. (Ie2966)
  • protolayout-material'te dinamik içerik açıklaması desteği ekleyin. (I62c8e)
  • AnimationParameters'ta süre ve gecikme için long ve @IntRange kullanın. (I388b6)

Sürüm 1.0.0-alpha08

19 Nisan 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 yayınlanır. 1.0.0-alpha08 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • AndroidTextStyle, şu konuma eklendi: LayoutElementBuilders (I8d967)
  • ProtoLayout Materyal Metni'nde yazı tipi dolgusunu hariç tutma ayarını desteklemeye başladık. (I17f5d)
  • Satır içi resimler için ARGB_8888 artık destekleniyor. (I18c1e)
  • DynamicColor artık onCondition işlemini destekliyor. (I10927)

API Değişiklikleri

  • Ters animasyon 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 bir DynamicInt32 değerinin DynamicFloat değerine daraltılması artık geçersiz dinamik bir sonuç döndürüyor. (I6ac1e)
  • Tam sayı ve kayan nokta biçimlendiricileri artık Builder kalıbını kullanır. (Ieb213)

Hata Düzeltmeleri

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

Sürüm 1.0.0-alpha07

5 Nisan 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 yayınlanır. 1.0.0-alpha07 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • StringProp için dinamik değer desteği ekleme (I04342)
  • Bağlanabilir düzen öğelerini işaretleme (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 mağaza olan ObservableStateStore dahil olmak üzere daha fazla isteğe bağlı bağımsız değişkene izin vermek için kurucu bağımsız değişkenleri yerine DynamicTypeEvaluator.Builder eklendi. (I6f832)
  • DynamicTypeEvaluator parametrelerinin sırası yeniden düzenlendi. (Ic1ba4)

Hata Düzeltmeleri

  • Platform sensör kaynaklarından gelen sinyallerin yayın düğümlerine doğru şekilde aktarılması (I5a922)

Sürüm 1.0.0-alpha06

22 Mart 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 yayınlanır. 1.0.0-alpha06 sürümü bu taahhütleri 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)
  • Animasyonlar için geri ve ileri sarma gecikmesi desteği ekledik. (Ic25f7)
  • Kenarlık ve Arka Plan'a DynamicColor desteği ekledik
  • DimensionBuilder türlerine dinamik değer desteği ekledik
  • tiles-material'teki düzen ve bileşenler protolayout-material'e taşınıyor

API Değişiklikleri

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

Hata Düzeltmeleri

  • FloatNodesTest (Id7281) eklendi
  • Yapılandırılmış bitmap yüklenemeyen durumlarda oluşturma aracı kilitlenme sorunu düzeltildi.

Sürüm 1.0.0-alpha05

8 Mart 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 yayınlanır. 1.0.0-alpha05 sürümü bu taahhütleri içerir.

Yeni Özellikler

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

API Değişiklikleri

  • forwardRepeatDelayMillis ve reverseRepeatDelayMillis kullanıcılarını Repeatable grubuna ekledik. Ayrıca, AnimationSpec'daki delayMillis'yi startDelayMillis (Ifb266) olarak yeniden adlandırdık.
  • DynamicTypeEvaluator.bind yöntemleri artık bir Executor'ı kabul ediyor. (I346ab)
  • Değerlendirmeyi dinamik tür bağlandıktan sonra tetiklemek için startEvaluation yöntemini BoundDynamicType öğesine ekledik. (I19908)

Hata Düzeltmeleri

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

Sürüm 1.0.0-alpha04

22 Şubat 2023

androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 yayınlanır. 1.0.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • ObservableStateStore artık anahtar kaldırıldığında dinleyicileri de bilgilendiriyor.
  • Oluşturucu şeması sürümünü ve yazı tipi ölçeğini DeviceParameters'e ekledik (bu, farklı sürümlere ve yazı tipi ayarlarına yanıt olarak koşullu olarak düzenler oluşturmak için kullanılabilir).
  • DynamicInt32 değerlerinin animasyonu için destek eklendi (I05485)
  • OnLoad ve OnConditionalMet tetikleyicilerini ekledik. Bunlar, bir tetikleyiciyi destekleyen animasyonları başlatmak için kullanılabilir.
  • Genişletilmiş boyutlar için düzen ağırlığı ve sarmalanmış boyutlar için minimum boyut ekledik.
  • Süre ve anında dinamik türler ekledik. Bunlar, dinamik bir ifadede bir zaman anını veya süresini temsil etmek için kullanılabilir.
  • AnimatedVectorDrawable ve SeekableAnimatedVectorDrawable için düzen kaynakları desteği ekledik.

API Değişiklikleri

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

Hata Düzeltmeleri

  • Kart 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 yayınlanır. 1.0.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • protolayout-express kitaplığındaki dinamik türlere toByteArray() ve fromByteArray() eklendi.
  • Protolayout-expression 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ı, daha önce oluşturulmuş bir dinamik türün (DynamicString, DynamicFloat, ...) değerlendirilmesi (ve güncellenmiş değerleri alması) için kullanılabilir.
  • Animasyonlar oynatılamadığında (değerlendirici tarafından devre dışı bırakıldıkları veya çalışan animasyon sayısı belirlenen sınıra ulaştığı için) animasyonu değiştirmek üzere animasyonlu 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ü bu taahhütleri içerir.

Yeni Özellikler

  • androidx.wear.tiles:tiles'teki düzen oluşturucular androidx.wear.protolayout:protolayout'e taşınıyor. androidx.wear.tiles:tiles içindekiler, sonraki alfa sürümlerinden birinde kullanımdan kaldı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ü bu taahhütleri içerir.

Yeni Özellikler

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