Materyal Oluşturma

Kullanıma hazır Materyal Tasarım Bileşenleri ile Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, Compose'un www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış üst düzey giriş noktasıdır.
Son Güncelleme Kararlı Sürüm Yayın Adayı Beta Sürümü Alfa Sürümü
24 Temmuz 2024 1.6.8 - 1.7.0-beta06 -

Yapı

Oluşturma, androidx içindeki 7 Maven grubu kimliğinin kombinasyonudur. Her Grup Her biri kendi sürüm kümesine sahip olan, hedeflenmiş bir işlev alt kümesi içerir notlar.

Bu tabloda, gruplar ve her sürüm notu grubunun bağlantıları açıklanmaktadır.

GrupAçıklama
compose.animationJetpack Compose uygulamalarında animasyonlar oluşturarak kullanıcı deneyimini zenginleştirin.
compose.derleyici@Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisiyle optimizasyonları etkinleştirin.
compose.temelKullanıma hazır yapı taşlarıyla Jetpack Compose uygulamaları yazın ve kendi tasarım sistemi parçalarınızı oluşturmak için temeli genişletin.
compose.materialKullanıma hazır Materyal Tasarım Bileşenleri ile Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, Compose'un www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış üst düzey giriş noktasıdır.
compose.material3Materyal Tasarım'ın yeni evrimi olan Materyal Tasarım 3 Bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Güncellenmiş tema ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özellikleri içeren Material 3, yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak.
compose.runtimeCompose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Compiler eklentisinin hedefleyeceği temel çalışma zamanı.
compose.uiDüzen, çizim ve giriş de dahil olmak üzere cihazla etkileşimde bulunmak için gereken yazma kullanıcı arayüzünün temel bileşenleri.

Bağımlılıkları bildirme

Compose'a bağımlılık eklemek için Google Maven deposunu 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:

Modern

dependencies {
    implementation "androidx.compose.material:material:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material:material:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Bağımlılıklar hakkında daha fazla bilgi 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.7

Sürüm 1.7.0-beta06

24 Temmuz 2024

androidx.compose.material:material-*:1.7.0-beta06 yayınlandı. Sürüm 1.7.0-beta06 bu kayıtları içerir.

Sürüm 1.7.0-beta05

10 Temmuz 2024

androidx.compose.material:material-*:1.7.0-beta05 yayınlandı. Sürüm 1.7.0-beta05 bu kayıtları içerir.

Sürüm 1.7.0-beta04

26 Haziran 2024

androidx.compose.material:material-*:1.7.0-beta04 yayınlandı. Sürüm 1.7.0-beta04 bu kayıtları içerir.

Sürüm 1.7.0-beta03

12 Haziran 2024

androidx.compose.material:material-*:1.7.0-beta03 yayınlandı. Sürüm 1.7.0-beta03 bu kayıtları içerir.

Sürüm 1.7.0-beta02

29 Mayıs 2024

androidx.compose.material:material-*:1.7.0-beta02 yayınlandı. Sürüm 1.7.0-beta02 bu kayıtları içerir.

API Değişiklikleri

  • Bağlantıların stilini belirlemek için güncelleme API'si: TextLinkStyles öğesi TextStyle öğesine taşındı ve TextDefaults öğesi materyalden kaldırıldı (I5477b)

Sürüm 1.7.0-beta01

14 Mayıs 2024

androidx.compose.material:material-*:1.7.0-beta01 yayınlandı. Sürüm 1.7.0-beta01 bu kayıtları içerir.

API Değişiklikleri

  • Metinde Materyal temalı bağlantılar alma API'si güncellendi. Özellikle, temalı LinkAnnotations oluşturma ve temalı bağlantılara sahip HTML ayrıştırma yöntemleri TextDefaults öğesinden kaldırıldı. Bunun yerine, bağlantıları metin composable'a parametre olarak biçimlendirmeye olanak tanıyan bir TextLinkStyles sınıfı eklendi. (I31b93)

Sürüm 1.7.0-alpha08

1 Mayıs 2024

androidx.compose.material:material-*:1.7.0-alpha08 yayınlandı. Sürüm 1.7.0-alpha08 bu kaydetmeleri içerir.

API Değişiklikleri

  • TextFieldDecorationBox ve OutlinedTextFieldDecorationBox için geçerli olmayan backgroundColor sorununu düzeltin. Dekorasyon kutuları artık shape parametresini kabul etmektedir. (I371c2, b/307694651)
  • RippleConfiguration#isEnabled kaldırıldı ve LocalRippleConfiguration geçersiz kılınabilir hale getirildi. Dalgayı devre dışı bırakmak için isEnabled = false ile RippleConfiguration sağlamak yerine LocalRippleConfiguration öğesine null sağlayın. (I22725)
  • Metin bağlantılarında, normal stile ek olarak basılı durum stil seçeneği bulunur, imleçle üzerine gelindiğinde odaklanılır. TextDefaults yöntemlerinin her birinde bunu destekleyen bir pressedStyle bağımsız değişkeni vardır. (Ic473f, b/139312671)

Hata Düzeltmeleri

  • OutlinedTextField etiketinin üst dolgusu artık sistem yazı tipi boyutunu dikkate alıyor. (Idc781)

Sürüm 1.7.0-alpha07

17 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha07 yayınlandı. Sürüm 1.7.0-alpha07 bu kaydetmeleri içerir.

API Değişiklikleri

  • Metin bağlantılarına, normal stile ek olarak basılı durum stil seçeneği eklendi, imleçle üzerine gelindi ve odaklanıldı. (I5f864, b/139312671)
  • LinkAnnotation oluşturma ve bağlantılara MaterialTheme işlemini uygulayan HTML etiketli dizeyi ayrıştırma yöntemlerini içeren bir TextDefaults nesnesi eklendi. (I98532, b/139312671)

Sürüm 1.7.0-alpha06

3 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha06 yayınlandı. Sürüm 1.7.0-alpha06 bu kaydetmeleri içerir.

Duyuru

  • androidx.compose.material artık bu maven grubundaki her yapının aynı sürümünün kullanılmasını gerektirmiyor. Kullanıcılar, Compose temel kitaplıklarının (Ie5fba) farklı sürümlerini karıştırıp eşleştirebilir

API Değişiklikleri

  • Daha fazla ModalDrawer ve BottomDrawer varsayılanı DrawerDefaults nesnesine taşındı. (Ib5b2e)

Sürüm 1.7.0-alpha05

20 Mart 2024

androidx.compose.material:material-*:1.7.0-alpha05 yayınlandı. Sürüm 1.7.0-alpha05 bu kaydetmeleri içerir.

API Değişiklikleri

  • ScaffoldSubcomposeInMeasureFix işareti kaldırıldı. (I67363)

Sürüm 1.7.0-alpha04

6 Mart 2024

androidx.compose.material:material-*:1.7.0-alpha04 yayınlandı. Sürüm 1.7.0-alpha04 bu kaydetmeleri içerir.

Yeni Özellikler

Sürüm 1.7.0-alpha03

21 Şubat 2024

androidx.compose.material:material-*:1.7.0-alpha03 yayınlandı. 1.7.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • BottomDrawer, deneme sürümünden kararlı sürüme yükseltildi. BottomDrawerState artık ilerlemeyi bir işlev olarak göstererek belirli hedefler arasındaki ilerleme durumunun sorgulanmasına olanak tanır. BottomDrawerState artık animasyon spesifikasyonunun özelleştirilmesine izin veriyor ve confirmStateChange artık sona eren bir lambda değil. (I9c029, b/261423850)
  • BackdropScaffold, deneme sürümünden kararlı sürüme yükseltildi. Animasyon spesifikasyonu artık yönergelere uygun bir tween spesifikasyonu oldu. Sondaki lambdalarla karışıklığı önlemek için BackdropScaffold öğesinin snackbarHost parametresi artık son parametre değil. BackdropScaffoldState, çapalar arasında ilerleme durumunu sorgulamak için bir progress(from, to) API'si sunar. (I73f48, b/261423218)
  • Standart alt sayfalar, deneme sürümünden kararlı sürüme yükseltildi. Desteği sonlandırılan kurucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir tween spesifikasyonu oldu. (I3c1a8, b/278692145, b/261409034)
  • Kalıcı alt sayfalar, deneme aşamasından kararlı sürüme yükseltildi. Desteği sonlandırılan kurucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir tween spesifikasyonu oldu. (Ic53f4, b/278692145, b/266780235, b/261409034)

Hata Düzeltmeleri

  • LookaheadScope ile birlikte belirli senaryolarda BackdropScaffold uygulamasının kilitlenmesine neden olan sorun düzeltildi. (I51396)
  • Performansı artırmak için BottomSheetScaffold içindeki alt beste kaldırıldı. LookaheadScope ile birlikte belirli senaryolarda BottomSheetScaffold uygulamasının kilitlenmesine neden olan sorun düzeltildi. (I2f90c)
  • ModalBottomSheetLayout içindeki alt beste kaldırıldı ve performans artırıldı. (I7a025)

Sürüm 1.7.0-alpha02

7 Şubat 2024

androidx.compose.material:material-*:1.7.0-alpha02 yayınlandı. 1.7.0-alpha02 sürümü bu kaydetmeleri içerir.

Sürüm 1.7.0-alpha01

24 Ocak 2024

androidx.compose.material:material-*:1.7.0-alpha01 yayınlandı. 1.7.0-alpha01 sürümü bu kaydetmeleri içerir.

Davranış Değişiklikleri

  • Malzeme bileşenleri, yeni ripple API'lerini kullanmak için taşındı ve artık RippleTheme sorgusu gerçekleştirmiyor.

API Değişiklikleri

  • rememberRipple ve RippleTheme, malzeme ripple aracındaki desteği sonlandırılmıştır. Materyal ve diğer tasarım sistemi kitaplıklarına yeni ripple ve RippleConfiguration API'leri eklenmiştir.

  • Daha önce bir MutableInteractionSource kabul eden ve varsayılan olarak { MutableInteractionSource() } öğesini hatırlayan materyal bileşenleri artık null (boş değer) MutableInteractionSource kabul ediyor ve bunun yerine varsayılan olarak null (boş değer) değerini alıyor. Kaldırmıyor ve MutableInteractionSource öğesini kullanmıyorsanız null değerini iletmeniz gerekir. Bu, bazı bileşenlerin yalnızca gerektiğinde geç bir şekilde örnek oluşturmasına olanak tanıyarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.

Sürüm 1.6

Sürüm 1.6.8

12 Haziran 2024

androidx.compose.material:material-*:1.6.8 yayınlandı. Sürüm 1.6.8 bu taahhütleri içerir.

Sürüm 1.6.7

1 Mayıs 2024

androidx.compose.material:material-*:1.6.7 yayınlandı. Sürüm 1.6.7 bu taahhütleri içerir.

Sürüm 1.6.6

17 Nisan 2024

androidx.compose.material:material-*:1.6.6 yayınlandı. Son sürümden bu yana değişiklik yok.

Sürüm 1.6.5

3 Nisan 2024

androidx.compose.material:material-*:1.6.5 yayınlandı. Sürüm 1.6.5 bu taahhütleri içerir.

Sürüm 1.6.4

20 Mart 2024

androidx.compose.material:material-*:1.6.4 yayınlandı. Sürüm 1.6.4 bu kaydetmeleri içerir.

Sürüm 1.6.3

6 Mart 2024

androidx.compose.material:material-*:1.6.3 yayınlandı. Sürüm 1.6.3 bu taahhütleri içerir.

Hata Düzeltmeleri

  • Tekrar odaklanılabilir hale getirmek için ExposedDropdownMenu içindeki regresyonu düzeltin. (c0e0ed, b/323694447)

Sürüm 1.6.2

21 Şubat 2024

androidx.compose.material:material-*:1.6.2 yayınlandı. 1.6.2 sürümü bu kaydetmeleri içerir.

Sürüm 1.6.1

7 Şubat 2024

androidx.compose.material:material-*:1.6.1 yayınlandı. Sürüm 1.6.1 bu kaydetmeleri içerir.

Sürüm 1.6.0

24 Ocak 2024

androidx.compose.material:material-*:1.6.0 yayınlandı. 1.6.0 sürümü bu kaydetmeleri içerir.

Sürüm 1.6.0-rc01

10 Ocak 2024

androidx.compose.material:material-*:1.6.0-rc01 yayınlandı. Sürüm 1.6.0-rc01 bu kaydetmeleri içerir.

Sürüm 1.6.0-beta03

13 Aralık 2023

androidx.compose.material:material-*:1.6.0-beta03 yayınlandı. Sürüm 1.6.0-beta03 bu kaydetmeleri içerir.

Sürüm 1.6.0-beta02

29 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta02 yayınlandı. Sürüm 1.6.0-beta02 bu kaydetmeleri içerir.

Sürüm 1.6.0-beta01

15 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta01 yayınlandı. Sürüm 1.6.0-beta01 bu kaydetmeleri içerir.

Sürüm 1.6.0-alpha08

18 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha08 yayınlandı. 1.6.0-alpha08 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • autoMirror parametresi alan aşırı yük nedeniyle materialIcon işlevini kullanımdan kaldırın. (Ia338d)

Hata Düzeltmeleri - Büyük içerik için gezinme öğesinin yüksekliğini otomatik olarak artırın. (0c4ecc, b/272336962)

Sürüm 1.6.0-alpha07

4 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha07 yayınlandı. 1.6.0-alpha07 sürümü bu kaydetmeleri içerir.

  • Bağımlılık güncellemeleri

Sürüm 1.6.0-alpha06

20 Eylül 2023

androidx.compose.material:material-*:1.6.0-alpha06 yayınlandı. 1.6.0-alpha06 sürümü bu kaydetmeleri içerir.

Davranış Kırıcı Değişim

  • Çekmeceyle ilgili işlev, BottomSheetScaffold ürününden kaldırıldı. Önceki işlevi elde etmek için BottomSheetScaffold cihazınızı bir Çekmece composable'a sarın. Örnek için bkz. BottomSheetScaffoldWithDrawerSample. (I1dcc8)

API Değişiklikleri

  • İskele'nin ölçüm veya yerleştirme sırasında alt öğelerini ölçmesi gerekip gerekmediğini kontrol etmek için geçici bir işaretleme eklendi. Varsayılan olarak bu, ölçümde ölçülür. Yeni davranışla ilgili sorun yaşıyorsanız lütfen sorun bildirin. (If6e3b)

Sürüm 1.6.0-alpha05

6 Eylül 2023

androidx.compose.material:material-*:1.6.0-alpha05 yayınlandı. 1.6.0-alpha05 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Sağdan sola düzenlerde oluşturulan otomatik yansıtılan simgeler için destek eklendi. Materyal-simgeler-çekirdek ve materyal-simgeleri ile genişletilmiş modüllerdeki simgeler, artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge grupları sağlıyor. Yeni grupların başında Icons.AutoMirrored.Filled... vb. bulunur ve bunların sağ alt düzeninde otomatik olarak yansıtılacak simgeler basılı tutulur. Otomatik olarak yansıtılabilen (ve olması gereken) simgelerin listesi için Materyal simgeleri listesine bakın.

API Değişiklikleri

  • Sağdan sola düzenlerde oluşturulan otomatik yansıtılan simgeler için destek eklendi. Materyal-simgeler-çekirdek ve materyal-simgeleri ile genişletilmiş modüllerdeki simgeler, artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge grupları sağlıyor. Yeni grupların başında Icons.AutoMirrored.Filled... vb. bulunur ve bunların sağ alt düzeninde otomatik olarak yansıtılacak simgeler basılı tutulur. Otomatik olarak yansıtılabilen (ve olması gereken) simgelerin listesi için Materyal simgeleri listesine bakın. Bu simgeler için daha önce sağlanan simge özellikleri artık "desteği sonlandırılmış" olarak işaretlenmiştir ve taşıma işlemine yardımcı olmak için, yeni bir engelleme önerisi sunar. Sağdan sola simge yansıtma işlemi için özel bir işlem yapmanız gerekmiyorsa yeni simge grubuna geçiş yapmanızı öneririz. Örneğin, Icons.Filled.ArrowBack, Icons.AutoMirrored.Filled.ArrowBack olarak yeniden düzenlenmelidir. (I4b511)

Sürüm 1.6.0-alpha04

23 Ağustos 2023

androidx.compose.material:material-*:1.6.0-alpha04 yayınlandı. 1.6.0-alpha04 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • LookaheadScope içindeki bir İskele içinde Subcomposition (ör. BottomSheetScaffold) kullanan bazı bileşenlerin boyutlarını çok erken okumaya çalışmasıyla ilgili sorun düzeltildi. (If2c5d)
  • Menü ekranın alt kısmına yakın olduğunda x ofsetlerinin yalnızca yerel düzen yönüne bağlı olması ve y ofsetlerinin artık geri alınmaması için DropdownMenu ürününün offset hesaplaması düzeltildi. (Iccc74, b/294103942)
  • BottomSheetScaffold öğesinin düzen dahili öğeleri optimize edildi ve LookaheadLayout içindeki BottomSheetScaffold ile ilgili olası sorun düzeltildi. (Ic0afa)

Sürüm 1.6.0-alpha03

9 Ağustos 2023

androidx.compose.material:material-*:1.6.0-alpha03 yayınlandı. 1.6.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Material2 bileşenleri, Android'de uçtan uca işlevselliği desteklemek için artık windowInsets iletilecek ayrı bir API'ye sahip. malzeme3 bileşenlerinden farklı olarak, malzeme2 bileşenleri varsayılan olarak ekleri desteklemez ve değer manuel olarak iletilmelidir. Yol göstermesi için ilgili örneklere bakın. (I655e8)

Sürüm 1.6.0-alpha02

26 Temmuz 2023

androidx.compose.material:material-*:1.6.0-alpha02 yayınlandı. 1.6.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, şu bileşenler için geçerlidir: SwipeToDismiss ve e-tablo tabanlı bileşenler. Lütfen yoğunluk parametresi olan, sağlanan yeni aşırı yükü kullanın. (I1846e)
  • composable'lara izin verilen girişleri belirtmek için ek ek açıklamalar (I51109)
  • API dosyaları, uyumluluk engellemesine açıklama ekleyecek şekilde güncellendi (I8e87a, b/287516207)
  • FabPosition için yeni Başlangıç hizalaması eklendi (Ib7aea, b/170592777)
  • Materyal 2'de TextFieldColorsWithIcons desteği sonlandırılarak TextFieldColors kullanıma sunuldu. leadingIconColor veya trailingIconColor değerini geçersiz kılarken, aşırı yüklemeyi interactionSource ile de geçersiz kılın. (Id57ed, b/199377790)

Sürüm 1.6.0-alpha01

21 Haziran 2023

androidx.compose.material:material-*:1.6.0-alpha01 yayınlandı. 1.6.0-alpha01 sürümü bu kaydetmeleri içerir.

Davranış Değişiklikleri

  • includeFontPadding artık Materyal 2 tipografisinde varsayılan olarak false oldu. Varsayılan satır yüksekliği stili de Trim.None ve Alignment.Center olarak değiştirildi. Ayrıca Typography öğesinin TextStyle öğelerine açıkça lineHeight (sp cinsinden) eklendi. Bu değerleri özelleştirmek isterseniz API belgelerine bakın ve bu değişiklikleri ayrıntılı bir şekilde açıklamak için blog yayınını inceleyin. (Icabc3, I3f801, I04c03)

API Değişiklikleri

  • Material'ın Swipeable API'leri kullanımdan kaldırıldı. Lütfen Foundation'ın hem basit hem de karmaşık kullanım alanları için optimize edilmiş AnchoredDraggable API'lerini inceleyin. (I732e0)

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık geçerli (düzeltilmiş) sabit ile kaydırma yönünde en yakın bağlantı arasındaki ilerlemeyi gösteren bir ilerleme durumu özelliği gösterir. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Sürüm 1.5

Sürüm 1.5.4

18 Ekim 2023

androidx.compose.material:material-*:1.5.4 yayınlandı. 1.5.4 sürümü bu kaydetmeleri içerir.

Sürüm 1.5.3

4 Ekim 2023

androidx.compose.material:material-*:1.5.3 yayınlandı. Bu sürümde değişiklik yok

Sürüm 1.5.2

27 Eylül 2023

androidx.compose.material:material-*:1.5.2 yayınlandı. Sürüm 1.5.2 bu kaydetmeleri içerir.

Sürüm 1.5.1

6 Eylül 2023

androidx.compose.material:material-*:1.5.1 hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.5.1 bu kaydetmeleri içerir.

Sürüm 1.5.0

9 Ağustos 2023

androidx.compose.material:material-*:1.5.0 yayınlandı. 1.5.0 sürümü bu kaydetmeleri içerir.

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

API Değişiklikleri

  • BottomSheetScaffold ürünündeki Kaydırılabilir 1 API'lerde yapılan değişiklikler eklendi. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık kayan noktalı değer olarak gösteriliyor. animateTo ve snapTo dahilidir. Bunun yerine expand() ve collapse() kullanın. direction ve overflow kaldırıldı. offset, requireOffset() ile değiştirildi. I323b4
  • Çekmece'deki snapTo işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368)
  • Dairesel ilerleme göstergeleri için bir parkur rengi parametresi, hem dairesel hem de doğrusal ilerleme göstergeleri için bir çizgi sınırı parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState adlı çocuğun confirmStateChange öğesi confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçükse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi. ModalBottomSheetState ürününün animasyonluTonu artık animationSpec parametresi almıyor ve gösterilen ofset artık null değerine ayarlanıyor. Ofseti zorunlu kılmak için requireOffset değerini kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (I8f206)
  • ModalDrawer. DrawerState ürününün animateTo içindeki Kaydırılabilir API'lerde yapılan değişiklikler, açma ve kapatma yöntemleriyle değiştirildi ve ofset artık null hale getirilebilir. Ofseti zorunlu kılmak için requireOffset değerini kullanın. (I3de9e)
  • Hareketlerin kaydırma etkinliklerine dönüşmesi durumunda basmaları doğru şekilde geciktirmek için Çekmeceler ve E-Tablolar güncellendi.
  • Malzeme ve malzeme3 Metin, TextField ve OutlinedTextField özelliklerine minLines parametresi eklendi. Bu parametre, satır sayısı açısından bileşenin minimum yüksekliğinin ayarlanmasına olanak tanır (I4af1d)

Hata Düzeltmeleri

  • pullRefresh öğesinin hızı tüketmemesine ve fazla kaydırmanın gösterilmesine neden olan bir sorunu düzeltir. Ayrıca, Modifier.pullRefresh ürününde onRelease lambda'nın API imzası, tüketilen hız için bir Kayan değer döndürecek şekilde değiştirildi (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık geçerli (düzeltilmiş) sabit ile kaydırma yönünde en yakın bağlantı arasındaki ilerlemeyi gösteren bir ilerleme durumu özelliği gösterir. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • İşlemler iletişim kutusunun genişliğine sığacak şekilde birbirinin üzerine yığıldığında AlertDialog kapatma işlemi, onaylama işleminin altında görünecek şekilde düzeltildi. Bu düzeltme, uygulamanın Materyal Tasarım spesifikasyonuyla uyumlu olmasını sağlar. (I029de, b/235454277)
  • gesturesEnabled yanlış değerine ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırmada yer almaz. (I634f3, b/215403277)
  • Alanlar için boş içerik sağlandığında BottomSheetScaffold uygulamasının kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • PullRefreshIndicator araya giren tıklamaları/işaretçi etkinliklerini düzeltir. (2494256, b/271777421)
  • Yön değişikliğinde uç büyük/küçük harf kullanımının ModalBottomSheetLayout kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğinin içindeki/içindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)

Sürüm 1.5.0-rc01

26 Temmuz 2023

androidx.compose.material:material-*:1.5.0-rc01 yayınlandı. Sürüm 1.5.0-rc01 bu kaydetmeleri içerir.

Sürüm 1.5.0-beta03

28 Haziran 2023

androidx.compose.material:material-*:1.5.0-beta03 yayınlandı. Sürüm 1.5.0-beta03 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık geçerli (düzeltilmiş) sabit ile kaydırma yönünde en yakın bağlantı arasındaki ilerlemeyi gösteren bir ilerleme durumu özelliği gösterir. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Sürüm 1.5.0-beta02

7 Haziran 2023

androidx.compose.material:material-*:1.5.0-beta02 yayınlandı. Sürüm 1.5.0-beta02 bu kaydetmeleri içerir.

Sürüm 1.5.0-beta01

24 Mayıs 2023

androidx.compose.material:material-*:1.5.0-beta01 yayınlandı. Sürüm 1.5.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • DrawerState ve BottomDrawerState ofsetleri artık null değil. Bunun yerine, ofsetin olmadığını belirtmek için Float.NaN değerini döndürürler. (Ie9855)
  • Görüntülenen menü öğelerinin dikey kaydırma durumunu kontrol etmek için DropdownMenu veya ExposedDropdownMenu oluştururken ScrollState içinde geçiş yapma seçeneği eklendi. (Idb009, b/185304441)
  • ModalBottomSheetLayout hareketini etkinleştirme/devre dışı bırakma desteği ekleyin. Böylece kullanıcı, daha fazla öne çıkan alt sayfada bu hareketi yapılandırabilir (I40af0)
  • Metin renginin verimli bir şekilde animasyona veya ayarlanmasına olanak tanımak için BasicText öğesine bir renk parametresi eklendi. (Iffd88, b/246961787)
  • isContainer anlamsal özelliği isTraversalGroup (I121f6) olarak yeniden adlandırılıyor

Hata Düzeltmeleri

  • İşlemler iletişim kutusunun genişliğine sığacak şekilde birbirinin üzerine yığıldığında AlertDialog kapatma işlemi, onaylama işleminin altında görünecek şekilde düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getiriyor. (I029de, b/235454277)

Sürüm 1.5.0-alpha04

10 Mayıs 2023

androidx.compose.material:material-*:1.5.0-alpha04 yayınlandı. 1.5.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, şu bileşenler için geçerlidir: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. Lütfen yoğunluk parametresi olan, sağlanan yeni aşırı yükü kullanın. (I8fbd8)

Sürüm 1.5.0-alpha03

19 Nisan 2023

androidx.compose.material:material-*:1.5.0-alpha03 yayınlandı. 1.5.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Yeni SwipeableV2 API'lerini kullanmak için BottomDrawer dahili öğeyi güncelleyin. Bu BottomDrawerState nedeniyle artık yalnızca sınıf düzeyinde tanımlanmış API'ler olacak ve SwipeableState kaynağındaki yöntemleri/özellikleri devralmayacak. Dahili SwipeableV2State özelliğine sahip beste kullanıyoruz. Offset artık boş değer atanabilir bir kayan nokta mülküdür. Geçerli değere ve kaydırma hedefi değerine, currentValue ve targetValue özellikleri üzerinden erişmeye devam edebilirsiniz. Aç/genişlet/kapat gibi önceki sınıf düzeyinde yöntemler ve isOpen/isClosed gibi özellikler desteklenmeye devam etmektedir. (Iad40c, b/178529942, b/220676296)

Hata Düzeltmeleri

  • Geçiş bileşeninin dahili öğeleri güncellendi. Anahtar artık sürüklerken en yakın (hedef durumu) önizler. (Id90d4)
  • BottomSheetScaffold kapsayıcısındaki animasyonlu sayfa içeriği (ör. sayfa içeriğindeki Modifier.animateContentSize) optimize edildi ve sorunsuz bir şekilde çalışıyor. (Ia913c, b/270518202, b/254446195)
  • gesturesEnabled, false olarak ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırmada yer almaz. (I634f3, b/215403277)

Sürüm 1.5.0-alpha02

5 Nisan 2023

androidx.compose.material:material-*:1.5.0-alpha02 yayınlandı. 1.5.0-alpha02 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Alanlar için boş içerik sağlandığında BottomSheetScaffold uygulamasının kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • PullRefreshIndicator öndeki tıklamalara / işaretçi etkinliklerine müdahale eden sorunları düzeltir (2494256, b/271777421)

Sürüm 1.5.0-alpha01

22 Mart 2023

androidx.compose.material:material-*:1.5.0-alpha01 yayınlandı. 1.5.0-alpha01 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Çip grubu yeniden düzenleme örneği ekleyin. Tek satırlı çip grubu örneğinde alt çipler arasındaki yatay dolguyu spesifikasyonla eşleşecek şekilde güncelleyin. (I3b155)
  • Yön değişikliğinde uç büyük/küçük harf kullanımının ModalBottomSheetLayout kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğinin içindeki/içindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)

Sürüm 1.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.material:material-*:1.4.3 hiçbir değişiklik yapılmadan yayınlandı (yalnızca sürüm yükseltmesi).

Sürüm 1.4.2

19 Nisan 2023

androidx.compose.material:material-*:1.4.2 yayınlandı. Sürüm 1.4.2 bu kaydetmeleri içerir.

Sürüm 1.4.1

5 Nisan 2023

androidx.compose.material:material-*:1.4.1 yayınlandı. Sürüm 1.4.1 bu kaydetmeleri içerir.

Sürüm 1.4.0

22 Mart 2023

androidx.compose.material:material-*:1.4.0 yayınlandı. 1.4.0 sürümü bu kaydetmeleri içerir.

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

API Değişiklikleri

  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçükse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)
  • ModalDrawer ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi. DrawerState öğesinin animateTo değeri, açma ve kapatma yöntemleriyle değiştirildi ve ofset artık null değerine sahip. Ofseti zorunlu kılmak için requireOffset değerini kullanın. (I3de9e)
  • Malzeme ve malzeme3 Metin, TextField ve OutlinedTextField özelliklerine minLines parametresi eklendi. Bu parametre, satır sayısı açısından bileşenin minimum yüksekliğinin ayarlanmasına olanak tanır (I4af1d)
  • BasicText ve BasicTextField bölümlerine minLines parametresi eklendi. Bu composable'ların, satır sayısı açısından minimum yüksekliğinin ayarlanmasına olanak tanır (I24294, b/122476634)

Sürüm 1.4.0-rc01

8 Mart 2023

androidx.compose.material:material-*:1.4.0-rc01 hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.4.0-rc01 bu kaydetmeleri içerir.

Sürüm 1.4.0-beta02

22 Şubat 2023

androidx.compose.material:material-*:1.4.0-beta02 yayınlandı. Sürüm 1.4.0-beta02 bu kaydetmeleri içerir.

API Değişiklikleri

  • BottomSheetScaffold ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık kayan noktalı değer olarak gösteriliyor. animateTo ve snapTo dahilidir. Bunun yerine expand() ve collapse() kullanın. direction ve overflow kaldırıldı. offset, requireOffset() ile değiştirildi. (I323b4)

Hata Düzeltmeleri

  • Tıklanabilir ve seçilebilir yüzeylerden anlamsal roller kaldırıldı, değiştirici.semantik kullanarak rolleri ayarlamak için bunları kullanan bileşenler güncellendi (Ibb4ba)
  • Genişletilmiş Materyal simgelerinde, doldurulmuş desktop_mac, directions ve kitchen simgelerinde ince ayar yapan küçük güncelleme. (I65f5e)

Sürüm 1.4.0-beta01

8 Şubat 2023

androidx.compose.material:material-*:1.4.0-beta01 yayınlandı. Sürüm 1.4.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • pullRefresh öğesinin hızı tüketmemesine ve fazla kaydırmanın gösterilmesine neden olan bir sorunu düzeltir. Ayrıca, Modifier.pullRefresh ürününde onRelease lambda'nın API imzası, tüketilen hız için bir Kayan değer döndürecek şekilde değiştirildi (I7db65, b/266874741)
  • LocalMinimuTouchTargetEnforcement özelliği geri yüklendi, desteği sonlandırıldı olarak işaretleyin ve LocalMinimumInteractiveComponentEnforcement adresine yönlendiriliyor. (I60dd5)

Sürüm 1.4.0-alpha05

25 Ocak 2023

androidx.compose.material:material-*:1.4.0-alpha05 yayınlandı. 1.4.0-alpha05 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • ModalBottomSheetLayout's HalfExpanded durumunun yanlış hesaplanmasına ve sayfanın kayan gibi görünmesine neden olan sorun düzeltildi. (I8c615, b/265610459)
  • ModalBottomSheetLayout ürününde, bazı durumlarda gizli moddan görünür duruma geçerken sayfanın kilitlenmesine neden olan hata düzeltildi. (Ia9265, b/265444789)

Sürüm 1.4.0-alpha04

11 Ocak 2023

androidx.compose.material:material-*:1.4.0-alpha04 yayınlandı. 1.4.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Platformlarda IsContainer anlamsal özelliğine eklendi. Bu özellik, yüzeyler gibi öğelerin anlamlarına dayalı olarak geçiş sırasını belirleyen daha sonraki bir değişiklikte kullanılacaktır. (I63379)
  • Çekmece'deki snapTo işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368)
  • Dairesel ilerleme göstergeleri için bir parkur rengi parametresi, hem dairesel hem de doğrusal ilerleme göstergeleri için bir çizgi sınırı parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState adlı çocuğun confirmStateChange öğesi confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Desteği sonlandırılan gizli işlevlerin (Ibf7b0) daha fazla dönüş türü null değeri
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçükse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout uygulamasındaki Kaydırılabilir API'lerde yapılan değişiklikler eklendi. ModalBottomSheetState öğesinin animateTo değeri artık animationSpec parametresi almıyor ve sunulan offset parametresi artık null değerine sahip. offset özelliğini zorunlu kılmak için requireOffset kullanın. (Ia2e79)

Hata Düzeltmeleri

  • ModalBottomSheetLayout adlı kullanıcının e-tablosu artık maksimum 640 dp genişliğe sahip. (I71a4f, b/234927577)
  • rememberPullRefreshState uygulamasının zaman içinde refreshThreshold ve refreshingOffset öğelerini güncellememesine neden olan sorunu düzeltir. (Ifed10, b/263159832)
  • İlerleme göstergeleri için ilerleme durumu, artık beklenen aralığa doğru şekilde sınırlandı. (I8a7eb, b/262262727)
  • ModalBottomSheetState henüz herhangi bir sabit reklam almadığında, istisna uygulamak yerine snapTo veya animateTo çağrıldığında currentValue animasyon olmadan güncellenir. (I2c91b)
  • Materyal 2 FilterChip uygulamasında etkin durum düzeltildi. (Id326a, b/261329817)
  • Dikeyden yataya dönerken HalfExpanded ise ModalBottomSheetLayout ürününün kilitlenmesine neden olan hata düzeltildi. Lütfen doğru initialValue öğesini ilettiğinizden emin olun (örneğin, yapılandırmayı kontrol ederek). (Ie8df7, b/182882364)
  • Sayfa içeriği boş olduğunda ModalBottomSheetLayout uygulamasının kilitlenmesine neden olan sorun düzeltildi. ModalBottomSheetLayout artık boş sayfa içeriğine izin veriyor. Sayfa içeriği boşsa yalnızca Gizli durumu gösterilir. (Ic2288, b/200980998, b/216693030)

Bilinen Sorun

  • androidx.compose.foundation:1.4.0-alpha03 sürümünden androidx.compose.foundation:1.4.0-alpha04 sürümüne güncellerken java.lang.NoSuchFieldError hatasıyla karşılaşabilirsiniz. Sorun ilk olarak burada bildirilmiştir. Bir düzeltme gönderildi. Bir sonraki Oluştur güncellemesinde kullanıma sunulacak. Geçici bir çözüm olarak androidx.compose.material ve androidx.compose.material3 kitaplıklarınızı en son sürüme(1.1.0-alpha04) güncelleyin veya androidx.compose.foundation sürümünü 1.4.0-alpha03 sürümüne geçirin.

Sürüm 1.4.0-alpha03

7 Aralık 2022

androidx.compose.material:material-*:1.4.0-alpha03 yayınlandı. 1.4.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (I8f206)
  • ModalDrawer adresindeki Swipeable API'lerine değişiklikler eklendi. DrawerState öğesinin animateTo değeri open ve close yöntemleriyle değiştirildi ve ofset artık null değerine sahip. Ofseti zorunlu kılmak için requireOffset değerini kullanın. (I3de9e)
  • Üst öğelerin kaydırma bilgilerini sorgulamak için Değiştirici API eklendi. (I2ba9d, b/203141462)
  • Hareketler kaydırma etkinliklerine dönüştüğünde, basma etkileşimlerini doğru şekilde ertelemek için Clickable ürününde kullanılır.
  • Clickables öğesinin, Scrollable ViewGroup içinde kullanıldığında dalgaları doğru şekilde geciktirmemesi düzeltildi.
  • Hareketlerin kaydırma etkinliklerine dönüşmesi durumunda basmaları doğru şekilde geciktirmek için Çekmeceler ve E-Tablolar güncellendi.

Hata Düzeltmeleri

  • Yenileme durumu doğru olarak değiştirilmezse onRefresh çağrıldıktan sonra PullRefreshIndicator ürününün takılmasına neden olan sorun düzeltildi. (Ie2416, b/248274004)

Bağımlılık Güncellemeleri

  • Kullanıcı Arayüzü Oluşturma ve Materyal Oluşturma artık Yaşam Döngüsü 2.5.1'e bağlı. (I05ab0, b/258038814)

Sürüm 1.4.0-alpha02

9 Kasım 2022

androidx.compose.material:material-*:1.4.0-alpha02 yayınlandı. 1.4.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Daha fazla esneklik için awaitFirstDown ve waitForUpOrCancellation artık PointerEventPass kabul ediyor. (I7579a, b/212091796)
  • Malzeme ve malzeme3 Metin, TextField ve OutlinedTextField özelliklerine minLines parametresi eklendi. Bu parametre, satır sayısı açısından bileşenin minimum yüksekliğinin ayarlanmasına olanak tanır (I4af1d)
  • BasicText ve BasicTextField bölümlerine minLines parametresi eklendi. Bu composable'ların minimum yüksekliğinin ne kadarının satır sayısı (I24294, b/122476634)

Sürüm 1.4.0-alpha01

24 Ekim 2022

androidx.compose.material:material-*:1.4.0-alpha01 yayınlandı. 1.4.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Hareket algılayıcıları için yeni bir yöntem (awaitEachGesture()) eklendi. forEachGesture() işlevine benzer, ancak döngü hareketleri tamamen AwaitPointerEventScope içinde çalışır. Böylece etkinlikler, yinelemeler arasında kaybolamaz.
  • forEachGesture(), etkinliklerin hareketler arasında kaybolmasına izin verdiği için artık awaitEachGesture() yerine kullanımdan kaldırıldı. (Iffc3f, b/251260206)

Sürüm 1.3

Sürüm 1.3.1

9 Kasım 2022

androidx.compose.material:material-*:1.3.1 yayınlandı. Sürüm 1.3.1 bu kaydetmeleri içerir.

Sürüm 1.3.0

24 Ekim 2022

androidx.compose.material:material-*:1.3.0 yayınlandı. 1.3.0 sürümü bu kaydetmeleri içerir.

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

Davranışı bozan değişiklik

  • İletişim kutuları ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.

API Değişiklikleri

  • Oluşturma işlevine (I29168) bir Yenilemek İçin Çekme bileşeni ekleyin.
  • RangeSlider'da (I3b79a) değerler olan parametre adını değere dönüştürün.

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.material:material-*:1.3.0-rc01 yayınlandı. Sürüm 1.3.0-rc01 bu kaydetmeleri içerir.

Sürüm 1.3.0-beta03

21 Eylül 2022

androidx.compose.material:material-*:1.3.0-beta03 yayınlandı. Sürüm 1.3.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • Oluşturma işlevine Yenilemek için Çekme bileşeni ekleme (I29168)

Sürüm 1.3.0-beta02

7 Eylül 2022

androidx.compose.material:material-*:1.3.0-beta02 yayınlandı. Sürüm 1.3.0-beta02 bu kaydetmeleri içerir.

1.3.0-beta01 sürümünden bu yana değişiklik yok

Sürüm 1.3.0-beta01

24 Ağustos 2022

androidx.compose.material:material-*:1.3.0-beta01 yayınlandı. Sürüm 1.3.0-beta01 bu kaydetmeleri içerir.

Davranışı bozan değişiklik

İletişim kutuları ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.

Oluştur iletişim kutuları ve pop-up'lar için desteklenen maksimum yükseklik 30 dp'den 8 dp'ye düşürüldü. Bu değişiklik hem materyal hem de kullanıcı arayüzü özel iletişim kutularını ve pop-up'larını etkiler. Bu değişiklik, S altındaki Android sürümlerinde erişilebilirlik hatasını azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up'taki içerikle etkileşim kurabilmesini sağlamak amacıyla yapılmıştır.

Yalnızca 8 dp'den daha yüksek düzeylere ayarlanmış özel bir iletişim kutusu veya pop-up uygulaması oluşturuyorsanız bu değişiklikten etkilenirsiniz. İletişim kutusu veya pop-up'ın yüksekliğini düşürebilirsiniz. Bu yeni davranışın kapsamı dışında kalmayı seçmeniz gerekiyorsa kendi iletişim kutunuzu veya pop-up'ınızı istediğiniz yükseklik grubuyla çatallamayı düşünün. Erişilebilirlik olumsuz yönde etkilenebileceğinden bu önerilmez. İletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından etkileşimli ve okunabilir olmasını sağlamak geliştiricinin sorumluluğundadır.

Sürüm 1.3.0-alpha03

10 Ağustos 2022

androidx.compose.material:material-*:1.3.0-alpha03 yayınlandı. 1.3.0-alpha03 sürümü bu kaydetmeleri içerir.

Sürüm 1.3.0-alpha02

27 Temmuz 2022

androidx.compose.material:material-*:1.3.0-alpha02 yayınlandı. 1.3.0-alpha02 sürümü bu kaydetmeleri içerir.

Harici Katkı

  • İskele'de FloatingActionButton ile ilgili AnimatedVisibility sorunu düzeltin (I3a0ae, b/224005027)

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.compose.material:material-*:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Değer olan parametre adını RangeSlider hücresinde değer olarak değiştir (I3b79a)

Hata Düzeltmeleri

  • Daha anlamlı içerik açıklamaları sağlamak için rozet örneğini güncelleyin. (I10b9d)

Sürüm 1.2

Sürüm 1.2.1

10 Ağustos 2022

androidx.compose.material:material-*:1.2.1 yayınlandı. Sürüm 1.2.1 bu kaydetmeleri içerir.

Sürüm 1.2.0

27 Temmuz 2022

androidx.compose.material:material-*:1.2.0 yayınlandı. 1.2.0 sürümü bu kaydetmeleri içerir.

Sürüm 1.2.0-rc03

29 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc03 yayınlandı. Sürüm 1.2.0-rc03 bu kaydetmeleri içerir.

  • 1.2.0-rc02'den bu yana değişiklik yok.

Sürüm 1.2.0-rc02

22 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc02 yayınlandı. Sürüm 1.2.0-rc02 bu kaydetmeleri içerir.

Sürüm 1.2.0-rc01

15 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc01 yayınlandı. Sürüm 1.2.0-rc01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Oluşturma kitaplıklarındaki arayüzler artık jdk8 varsayılan arayüz yöntemleri (I5bcf1) kullanılarak oluşturulmuştur.

Hata Düzeltmeleri

  • Rozeti, simge yerine etikete sabitlemek için başında simge sekmesini içeren günceller. (I90993)

Sürüm 1.2.0-beta03

1 Haziran 2022

androidx.compose.material:material-*:1.2.0-beta03 yayınlandı. Sürüm 1.2.0-beta03 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • BottomSheetScaffold ürününün üst uygulama çubuğunun gölgesinin üzerinde çizim yapmasına neden olan hata düzeltildi. BottomSheetScaffold artık Snackbar'ları yerleştirirken sayfanın durumunu da dikkate alıyor: Daraltılmış durumdayken Snackbar'lar sayfanın üzerine ve FAB'ye yerleştirilir; genişletilmiş durumdayken Snackbar'lar sayfanın en altına sabitlenir. (Ia80b5, b/187771422)

Sürüm 1.2.0-beta02

18 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta02 yayınlandı. Sürüm 1.2.0-beta02 bu kaydetmeleri içerir.

Sürüm 1.2.0-beta01

11 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta01 yayınlandı. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

  • Bu, 1.2'nin ilk beta sürümüdür.

API Değişiklikleri

  • OutlinedTextField içinde kenarlık çizgisi çizen TextFieldDefaults.BorderStroke composable, TextFieldDefaults.BorderBox olarak yeniden adlandırıldı. (I5f295)

Sürüm 1.2.0-alpha08

20 Nisan 2022

androidx.compose.material:material-*:1.2.0-alpha08 yayınlandı. 1.2.0-alpha08 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • PointerInputChange için kısmi tüketim (aşağı VEYA konum) kullanımdan kaldırıldı. Değişikliği tamamen kullanmak için consume() kullanabilirsiniz. Başka birinin daha önce değişikliği yapıp yapmadığını belirlemek için isConsumed kullanabilirsiniz.
  • PointerInputChange::copy() artık her zaman yüzeysel bir kopya oluşturuyor. Bu, PointerInputChange kopyalarının, kopyalardan biri kullanıldığında tüketileceği anlamına gelir. Bağlı olmayan bir PointerInputChange oluşturmak istiyorsanız bunun yerine oluşturucu kullanın. (Ie6be4, b/225669674)

Sürüm 1.2.0-alpha07

6 Nisan 2022

androidx.compose.material:material-*:1.2.0-alpha07 yayınlandı. 1.2.0-alpha07 sürümü bu kaydetmeleri içerir.

Sürüm 1.2.0-alpha06

23 Mart 2022

androidx.compose.material:material-*:1.2.0-alpha06 yayınlandı. 1.2.0-alpha06 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Surface API'deki (I56bcb) değişiklikleri takip etmek için tıklanabilir Card API'de yapılan güncellemeler
  • Seçilebilir ve açılıp kapatılabilir yüzeyler için ek aşırı yüklenen işlevler ekleyen Material 2 Surface API güncellemeleri. (Ifcca5)

Sürüm 1.2.0-alpha05

9 Mart 2022

androidx.compose.material:material-*:1.2.0-alpha05 yayınlandı. 1.2.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyVerticalGrid ve LazyHorizontalGrid artık kararlı. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen içe aktarma işlemlerinizi androidx.compose.foundation.lazy adresinden androidx.compose.foundation.lazy.grid olarak güncelleyin. (I2d446, b/219942574)
  • Şu kadar süre boyunca yalnızca Görünüme dayalı olma şeklinde yapılan önceki değişiklik geri alındı: WindowInsetsControllerCompat ve ardından şu kadar aralık gerekir: bazı pencere işaretlerini yönetmek için gereken bir gerekliliktir. Kullanımdan Kaldırıldı Doğru Pencere'nin seçildiğinden emin olmak için WindowCompat.getInsetsController lehine ViewCompat.getWindowInsetsController kullanılır (örneğin, Görünüm bir iletişim kutusundaysa). (I660ae, b/219572936)
  • Metin:includeFontPadding artık varsayılan olarak devre dışı. İlgili içeriği oluşturmak için kullanılan includeFontPadding=false nedeniyle oluşan kırpma sorunları ele alındı Uzun alfabelerde kırpma yapılmamalıdır. (I31c84, b/171394808)
  • Çapraz eksen boyutlarını tanımlamak için yeni bir LazyVerticalGrid API eklendi (I17723)

Sürüm 1.2.0-alpha04

23 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha04 yayınlandı. 1.2.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Add support for filter chips (I39a6e, b/192585545)
  • TextFieldDecorationBox ve OutlinedTextFieldDecorationBox. Bunları BasicTextField ile birlikte kullanma Materyal Tasarım metnine dayalı özel metin alanı oluşturmanıza yardımcı olur daha fazla özelleştirme seçeneğiyle birlikte sunulur.
  • Metin alanlarındaki yatay ve dikey dolguları ayarlama yöntemi sağlandı. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168)
  • ComposableTarget, ComposableTargetMarker ve eklendi Aşağıdaki durumların derleme zamanı raporlanmasına olanak tanıyan ComposableOpenTarget: composable işlev, olmadığı bir uygulayıcıyı hedefleme olarak adlandırılır tasarladık.

    Çoğu durumda, ek açıklamalar oluşturma sırasında derleyici eklentisidir. Bu nedenle, bu ek açıklamayı doğrudan nadir . Tahmin edilemeyen durumlar, soyut composable işlevler (ör. arayüz yöntemleri), alanları veya değişkenleri composable lambda'lar (yerel değişkenler ve parametreler tahmin edilir), veya ComposeNode ya da ilgili composable işlevleri kullanılırken sorun yaşanmaz.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode tarafından CompoableTarget fonksiyon ve diğer herhangi bir composable lambda parametre türleri. Bununla birlikte, ve ComposableTargetMarker ve ardından işaretlenen ek açıklama kullanılır. kullanabilirsiniz.ComposableTarget Oluşturulabilir bir ek açıklama ComposableTargetMarker ile işaretlenen bir Özelliğin tam adını içeren ComposbleTarget class'ı uygulayın. Örnek olarak ComposableTargetMarker bkz. anroidx.compose.ui.UiComposable. (I38f11)

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha03 yayınlandı. 1.2.0-alpha03 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

Sürüm 1.2.0-alpha02

26 Ocak 2022

androidx.compose.material:material-*:1.2.0-alpha02 yayınlandı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Aşırı yükleme olan yöntemlere NonRestartableComposable eklendi mevcut yöntemlerin toplamıdır. Bu, derleyiciyi azaltır oluşturulan not denetimlerine eşittir (eşittir) çağrılan iç fonksiyonda tekrarlanır. (I90490)
  • İşlem çipi desteği ekleme (I07100, b/192585545)

Sürüm 1.2.0-alpha01

12 Ocak 2022

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

Bağımlılık Güncellemeleri

  • Artık Kotlin 1.6.10 bağlı.

Harici Katkı

  • ModalBottomSheetState artık isSkipHalfExpanded işaretine sahip. Oluşturucu aracılığıyla ayarlanabilir veya daha sonra ModalBottomSheetState öğesinin isSkipHalfExpanded özelliği true olarak ayarlanarak güncellenebilir. isSkipHalfExpanded değerinin güncellenmesi, sayfanın yeniden oluşturulmasına neden olur. (I18b86, b/186669820)

Sürüm 1.1

Sürüm 1.1.1

23 Şubat 2022

androidx.compose.material:material-*:1.1.1 yayınlandı. Sürüm 1.1.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

Sürüm 1.1.0

9 Şubat 2022

androidx.compose.material:material-*: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

  • Android 12 Fazla kaydırma efekti için kararlı destek
  • Dokunma hedefi boyutlandırmasıyla ilgili iyileştirmeler
  • Compose 1.0'da, Materyal bileşenlerinin düzen alanlarını dokunma hedefi boyutu ile ilgili Materyal erişilebilirlik yönergelerine uyacak şekilde genişleteceğini unutmayın. Örneğin, Düğmenin boyutunu daha küçük olacak şekilde ayarlasanız bile düğmenin dokunma hedefi en az 48x48 dp boyutuna genişler. Bu, Oluştur Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirir ve Görünümler ile Oluştur'u birlikte kullandığınızda tutarlı davranış sağlar. Bu değişiklik, Materyal Oluşturma bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda, dokunma hedefi erişilebilirliğiyle ilgili minimum gereksinimlerin karşılanmasını da sağlar.
  • Navigasyon Rayı için Kararlı Destek
  • Daha önce deneysel olan bir dizi API'yi kararlı sürüme geçirir
  • Kotlin'in daha yeni sürümleri için destek

Sürüm 1.1.0-rc03

26 Ocak 2022

androidx.compose.material:material-*:1.1.0-rc03 yayınlandı. Sürüm 1.1.0-rc03 bu kaydetmeleri içerir.

Davranış Değişiklikleri

Compose 1.0'da, Materyal bileşenlerinin düzen alanlarını Materyal erişilebilirlik yönergelerine dokunma hedefi boyutuna uyacak şekilde genişleteceğini unutmayın. Örneğin, Düğmenin boyutunu daha küçük olacak şekilde ayarlasanız bile düğmenin dokunma hedefi en az 48x48 dp boyutuna genişler. Bu, Oluştur Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirir ve Görünümler ile Oluştur'u birlikte kullandığınızda tutarlı davranış sağlar. Bu değişiklik, Materyal Oluşturma bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda, dokunma hedefi erişilebilirliğiyle ilgili minimum gereksinimlerin karşılanmasını da sağlar.

Hata Düzeltmeleri

  • Minimum dokunma hedefi değiştiricileri incelenirken düzen denetleyicisi için daha iyi hata ayıklama bilgileri eklendi. (aosp/1955036)

Sürüm 1.1.0-rc01

15 Aralık 2021

androidx.compose.material:material-*:1.1.0-rc01 yayınlandı. Sürüm 1.1.0-rc01 bu kaydetmeleri içerir.

Hata Düzeltmeleri

Sürüm 1.1.0-beta04

1 Aralık 2021

androidx.compose.material:material-*:1.1.0-beta04 yayınlandı. Sürüm 1.1.0-beta04 bu kaydetmeleri içerir.

Yeni Özellikler

  • Kotlin 1.6.0 ile uyumlu olacak şekilde güncellendi

Sürüm 1.1.0-beta03

17 Kasım 2021

androidx.compose.material:material-*:1.1.0-beta03 yayınlandı. Sürüm 1.1.0-beta03 bu kaydetmeleri içerir.

Sürüm 1.1.0-beta02

3 Kasım 2021

androidx.compose.material:material-*:1.1.0-beta02 yayınlandı. Sürüm 1.1.0-beta02 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Dalgalar ve diğer göstergeler artık indirme etkinliği için her zaman gecikmeli olmak yerine, yalnızca bir Modifier.scrollable() kapsayıcısının içinde olduklarında gecikecek. (Ibefe0, b/203141462)

Sürüm 1.1.0-beta01

27 Ekim 2021

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

Yeni Özellikler

  • Dalgalar artık fareyle üzerine gelme ve odaklama durumlarını desteklemektedir. Dolayısıyla, Düğme gibi bir bileşenin üzerine gelindiğinde / odaklanıldığında artık doğru durum yer paylaşımı gösterilecektir.

Sürüm 1.1.0-alpha06

13 Ekim 2021

androidx.compose.material:material-*:1.1.0-alpha06 yayınlandı. 1.1.0-alpha06 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Düzen için, verimlilik artırılarak çocuksuz bir aşırı yükleme eklendi (Ib0d9a)
  • ExposedDropdownMenu öğesinin içinde TextField ve DropdownMenu ile ExposedDropdownMenuBox temel alınarak (If60b2) uygulanması
  • dismissOnOutsideClick, desteği sonlandırılmış olan dismissOnClickOutside yerine PopupProperties etiketine eklendi. Yeni mülk, tıklama konumunu ve bağlantı sınırlarını alarak oncloseRequest'in çağrılıp çağrılamayacağı konusunda daha hassas kontrol sağlar. Örneğin bu, sabite yapılan dokunuşlar için çapanın kapatılmasını önlemek için yararlı olabilir.
    • updateAndroidWindowManagerFlags, PopupProperties bölümüne eklendi ve pop-up tarafından Android WindowManager'a geçirilen işaretler üzerinde alt düzey kontrol olanağı sunuyor. Lambda parametresi, WindowManager flag'leriyle sonuçlanan PopupProperties değerlerinden hesaplanan işaretler olacaktır: Ör. odaklanılabilir. Lambda'nın sonucu, Android WindowManager'a aktarılacak son flag'ler olur. Varsayılan olarak, updateAndroidWindowManagerFlags parametrelerden hesaplanan işaretleri değiştirmez. Bu API, yalnızca pop-up'ın çok belirli davranış gereksinimlerinin olduğu durumlarda dikkatli kullanılmalıdır. (I6e9f9)

Sürüm 1.1.0-alpha05

29 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha05 yayınlandı. 1.1.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Erişilebilir bir dokunma hedefi olmayan Malzeme bileşenleri için minimum dokunma hedefi boyutlandırması ekler. Bu durum, yeterli büyüklükte bir dokunma hedefine sahip olduklarından emin olmak için bileşenlerin etrafında fazladan boşluk ekler. Bu durum, söz konusu bileşenlerin boyutunun görsel boyutları olduğunu varsayan ve dokunma hedefi boyutunu hesaba katmayan mevcut kullanıcı arayüzlerini değiştirebilir. Bir hiyerarşi genelinde bu davranışı devre dışı bırakmak için yerel deneysel LocalMinimumTouchTargetEnforcement bileşimini kullanabilirsiniz. Ancak bunun amacı, mevcut kullanıcı arayüzlerini yeni minimum boyutu hesaba katacak şekilde güncellerken yalnızca geçici bir kaçış yoludur. (I9b966, b/149691127, b/171509422)
  • Deneysel TextFieldColorsWithIcons arayüzü eklendi ve TextFieldColors genişletilerek EngagementSource'un liderColor ve soningColor'a uygun şekilde genişletilmesi. Bu, TextField'in görünümünü odak durumuna göre değiştirmeyi sağlar. (I66923, b/198402662)

Sürüm 1.1.0-alpha04

15 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Şu özelliklere sahip performGesture ve GestureScope kullanımdan kaldırıldı: performTouchInput ve TouchInjectionScope ile değiştirildi. (Ia5f3f, b/190493367)
  • touchBoundsInRoot SemanticsNode içine eklendi geliştiricilerin minimum dokunma hedefi boyutunu içermesi , dokunma hedeflerinin erişilebilirlik minimum değerlerini karşılamasını sağlayabilir. (I2e14b, b/197751214)

Hata Düzeltmeleri

  • Klibin dokunma hedefi sınırlarını genişletmesine izin ver dokunma hedefiyle ilgili amaçlar için klip bölgesini tanımlamalıdır. (I43e10, b/171509422)
  • Divider composable, şu şekilde güncellendi: kalınlık parametresi için Dp.Hairline yönergesine uyulması tek pikselli ayırıcılar çizmeyi desteklemek için görüntü yoğunluğundan bağımsız olarak ayarlamanızı sağlar. (I16ffb, b/196840810)

Sürüm 1.1.0-alpha03

1 Eylül 2021

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

Yeni Özellikler

  • Oluşturma 1.1.0-alpha03, Kotlin 1.5.30 öğesine bağlı olacak şekilde güncellendi. (I74545)

API Değişiklikleri

  • Kısaltılmış sınırları almak için test yöntemi eklendi. (I6b28e)
  • ViewConfiguration'a minimum dokunma hedefi boyutu eklendi Bu özellik, erişilebilirliği sağlamak adına anlambilim ve işaretçi girişi için kullanılabilir. (Ie861c)

Sürüm 1.1.0-alpha02

18 Ağustos 2021

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

Harici Katkı

  • Kaydırma ofsetinin bir sabitleyicinin yuvarlama hatası içinde olduğu durumlarda ScrollableState davranışını düzeltin. (I03d39, b/191993377)

Sürüm 1.1.0-alpha01

4 Ağustos 2021

androidx.compose.material:material-*:1.1.0-alpha01 yayınlandı. 1.1.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Şu özelliklere sahip DrawScope#drawImage yöntemi güncellendi: kaynak ve hedef dikdörtgenleri tüketir kullanmak için isteğe bağlı filtre kalitesi parametresinden sonra bir değer girin. Bu, piksel için yararlıdır pikselleştirilmek üzere tasarlanmış sanat eserleri büyütüldüğünden emin olun. BitmapPainter + composable resim güncellendi kullanabilirsiniz. parametre (Ie4fb0, b/180311607)
  • QueryBox'un adı, ScriptdBox olarak değiştirildi, parametreler Rozet'in composable'ı kabul edecek şekilde değiştirildi. QuerydBox için tipik rozet içeriği olan Rozet bileşeni eklendi. (I639c6)
  • NavigationRail bileşeni eklendi, kullanım bilgileri için dokümanlara ve örneklere bakın (I8de77)

Hata Düzeltmeleri

  • Alta hizalı bir NavigationRail örneği ve Katalog uygulaması eklendi demomuz var. (I3cffc)
  • İletişim kutuları artık platform boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth değerini false olarak ayarlayın. (Iffaed, b/192682388)
  • Katalog uygulamasına gezinme demiryolu demosu eklendi. (I04960)
  • Katalog uygulamasına rozet demosu eklendi. (If285d)

Sürüm 1.0

Sürüm 1.0.5

3 Kasım 2021

androidx.compose.material:material-*:1.0.5 yayınlandı. 1.0.5 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • TüretilmişStateOf örneklerindeki kilitlenme izleme sorunu düzeltildi. (aosp/1792247)

Sürüm 1.0.4

13 Ekim 2021

androidx.compose.material:material-*:1.0.4 yayınlandı. 1.0.4 sürümü bu kaydetmeleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin'e (1.5.31) bağlı olarak güncellendi

Sürüm 1.0.3

29 Eylül 2021

androidx.compose.material:material-*:1.0.3 yayınlandı. 1.0.3 sürümü bu kaydetmeleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin'e (1.5.30) bağlı olarak güncellendi

Sürüm 1.0.2

1 Eylül 2021

androidx.compose.material:material-*:1.0.2 yayınlandı. 1.0.2 sürümü bu kaydetmeleri içerir.

Compose 1.0.2 sürümünü desteklemek üzere güncellendi. Oluşturulan 1.0.2, Kotlin 1.5.21 ile hâlâ uyumlu.

Sürüm 1.0.1

4 Ağustos 2021

androidx.compose.material:material-*:1.0.1 yayınlandı. Sürüm 1.0.1 bu kaydetmeleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.21 kaynağına bağlı olarak güncellendi.

Sürüm 1.0.0

28 Temmuz 2021

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

1.0.0'ın temel özellikleri

Bu, Compose'un ilk kararlı sürümüdür. Daha fazla bilgi için lütfen resmi Compose Sürüm bloguna göz atın!

Bilinen Sorunlar

  • Android Studio Bumblebee Canary 4 veya AGP 7.1.0-alpha04/7.1.0-alpha05 kullanıyorsanız şu kilitlenmeyle karşılaşabilirsiniz:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    Sorunu düzeltmek için build.gradle dosyanızda minSdkVersion değerini geçici olarak 24'ün üzerine çıkarın. Bu sorun, Android Studio Bumblebee ve AGP'nin 7.1 sonraki sürümünde düzeltilecektir. (b/194289155)

Sürüm 1.0.0-rc02

14 Temmuz 2021

androidx.compose.material:material-*:1.0.0-rc02 yayınlandı. Sürüm 1.0.0-rc02 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • İletişim kutuları artık platform boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth politikasını false (yanlış) olarak ayarlayın. (Iffaed, b/192682388)

Sürüm 1.0.0-rc01

1 Temmuz 2021

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

API Değişiklikleri

  • BadgeBox bileşeni eklendi, kullanım bilgileri için dokümanlara ve örneklere bakın (I5e284)
  • PopupProperties adlı dokümandaki useDefaultMaxWidth, usePlatformDefaultWidth olarak yeniden adlandırıldı. (I05710)
  • İletişim kutuları artık ekran genişliğinin tamamını kullanabiliyor. (I83929, b/190810877)
  • Deneysel Aralık Kaydırma Çubuğu uygulaması eklendi (I2f4b3)

Hata Düzeltmeleri

  • Malzeme Tasarımı özelliklerine uygun OutlinesTextField özellikleri için, etiket yer tutucu olarak kullanılırken etiket için hata rengi kullanılarak geçersiz giriş durduruldu. İkincisi, metin alanında giriş metni olmadığında ve metin alanı odakta değilse geçerlidir. Bu değişiklikle birlikte TextFieldColors.labelColor() işlevindeki error:Boolean parametresinin anlamı da değişti: Etiket yer tutucu olarak kullanılıyorsa giriş geçersiz olsa bile artık false döndürülecek. (I45f78)

Sürüm 1.0.0-beta09

16 Haziran 2021

androidx.compose.material:material-*:1.0.0-beta09 yayınlandı. Sürüm 1.0.0-beta09 bu kaydetmeleri içerir.

API Değişiklikleri

  • Kenarlığın şeklini özelleştirebilmek için OutlinesTextField'e Şekil parametresi eklendi (I8f39e, b/181322957)
  • TextOverflow, satır içi sınıf olarak değiştirildi. (I433af)

Hata Düzeltmeleri

  • BottomDrawer, BackdropScaffold ve ModalBottomSheetLayout'taki Scrim ile birlikte Color.Belirtilmemiş ayarı geçirildi (I2d899, b/182063309)

Eklenen Profil Kuralları

Bu sürüm, aşağıdaki oluşturma modüllerine (I14ed6) profil kuralları ekler:

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.temel
  • androidx.compose.foundation-layout
  • androidx.compose.malzeme
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.grafikler
  • androidx.compose.ui.metin
  • androidx.compose.ui.metin
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Profil kuralları nedir?

  • Bir kitaplığa ilişkin profil kuralları, src/main veya eşdeğer dizinde bulunan bir metin dosyasında (baseline-prof.txt) belirtilir. Dosya, her satır için bir kural belirtir. Bu durumda kural, kitaplıktaki yöntemler veya sınıflarla eşleştirmeye yönelik bir kalıptır. Bu kuralların söz dizimi, adb shell profman --dump-classes-and-methods ... kullanılırken kullanılan, okunabilir ART profili biçiminin üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini alır.

  • Bir yöntem kuralı aşağıdaki kalıba sahip olur:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Sınıf kuralı da aşağıdaki kalıba sahip olur:

    <CLASS_DESCRIPTOR>
    
  • Burada <FLAGS>, bu yöntemin "Popüler", "Başlangıç" veya "Başlangıç Sonrası" olarak işaretlenip işaretlenmeyeceğini belirtmek için H, S ve P karakterlerinden bir veya daha fazlasını göstermektedir.

  • <CLASS_DESCRIPTOR>, hedeflenen yöntemin ait olduğu sınıfın tanımlayıcısıdır. Örneğin, androidx.compose.runtime.SlotTable sınıfının tanımlayıcısı Landroidx/compose/runtime/SlotTable; olur.

  • <METHOD_SIGNATURE>, yöntemin imzasıdır ve yöntemin adını, parametre türlerini ve döndürme türlerini içerir. Örneğin, LayoutNode sitesindeki fun isPlaced(): Boolean yöntemi isPlaced()Z imzasına sahiptir.

  • Tek bir kuralın birden fazla yöntem veya sınıfı kapsaması için bu kalıplar joker karakterler (**, * ve ?) içerebilir.

Kurallar ne işe yarar?

  • H işaretine sahip bir yöntem, bu yöntemin "çalışıyor" olduğunu gösterir yöntemidir ve önceden derlenmesi gerekir.

  • S işaretine sahip bir yöntem, bu yöntemin başlangıçta çağrılan bir yöntem olduğunu ve derleme ve başlatma sırasında yöntemi yorumlama maliyetinden kaçınmak için önceden derlenmesi gerektiğini belirtir.

  • P işaretine sahip bir yöntem, bunun başlatmadan sonra çağrılan bir yöntem olduğunu gösterir.

  • Bu dosyada bulunan bir sınıf, başlangıç sırasında kullanıldığını ve sınıf yükleme maliyetinden kaçınmak için yığına önceden ayrılması gerektiğini belirtir.

Nasıl çalışır?

  • Kitaplıklar, AAR yapılarında paketlenecek bu kuralları tanımlayabilir. Ardından, bu yapıları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleştirilmiş kurallar, APK'ya özel küçük bir ikili ART profili oluşturmak için kullanılır. ART, özellikle ilk çalıştırmada uygulamanın performansını iyileştirmek amacıyla uygulamanın belirli bir alt kümesini önceden derlemek için APK cihazlara yüklendiğinde bu profilden yararlanabilir. Bunun, hata ayıklaması yapılabilecek uygulamalar üzerinde herhangi bir etkisi olmayacağını unutmayın.

Sürüm 1.0.0-beta08

2 Haziran 2021

androidx.compose.material:material-*:1.0.0-beta08 yayınlandı. Sürüm 1.0.0-beta08 bu kaydetmeleri içerir.

Yeni Özellikler

Davranışı Zarar Veren API Değişikliği

  • DAVRANIŞ DÖNÜŞÜMÜ: Kart artık tıklama alıyor ve Card(Modifier.clickable) üzerinden eklenen tıklamaları işlemsiz hale getiriyor. Lütfen onClick'i kabul eden bir kartın yeni deneysel aşırı yüklemesini kullanın. (Ia8744, b/183775620)
    • Tıklamaları ve diğer tıklanabilir işlevleri ele alan yeni bir kart aşırı yüklemesi eklendi: identifier, engagementSource, etkin/devre dışı. Bu durumlarda Kart, dalga sinyalini kırpmayacağı için Modifier.clickable ile birlikte normal tıklanamaz bir kart kullanılamadı.
  • DAVRANIŞ DÖNEMİ: Yüzey artık tıklamaları tüketiyor ve Surface(Modifier.clickable) üzerinden eklenen tıklamaları işlemsiz hale getiriyor. Lütfen onClick'i kabul eden yeni deneysel Surface uygulamasını kullanın. (I73e6c, b/183775620)
    • Tıklamaları ve diğer tıklanabilir işlevleri şu şekilde işleyen yeni bir Yüzey aşırı yüklemesi eklendi: gösterge, engagementSource, etkin/devre dışı. Modifier.clickable ile normal, tıklanamayan bir yüzey kullanmak mümkün değildi, çünkü bu durumlarda yüzey, dalga sinyalini kırpmayacaktır.

API Değişiklikleri

  • FabPosition, gelecekte olası genişletmeyi desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb)
  • Kaçınılması için satır içi sınıflarda enum kullanımları yeniden düzenlendi aşağıdaki durumlarda tüm teslimatlar ile ilgili yeni enum değerleri eklenir. (I2b5eb)
  • Kaydırma / sürükleme sırasında dalga gösterilmesini önlemek için tıklanabilir / açılabilir öğe için bir dokunma zaman aşımı ekler (Ia2704, b/168524931)
  • ContentDescription ve Metin anlamsal özellikleri artık kullanılmıyor listeler. Bu işlem, bu öğeleri oldukları gibi birleştirmenize olanak tanır. yardımcı olabilir. Ayrıca bunları kullanmak için daha iyi test API'leri sağlandı değişiklikler (Ica6bf, b/184825850)
  • Modifier.focusModifier() desteği sonlandırıldı ve Modifier.focusTarget() (I6c860) ile değiştirildi
  • FocusState sıralaması FocusState arayüzüyle değiştirildi (Iccc1a, b/187055290)
  • View-backed ripple uygulaması kararlı hale geldiğinden LocalRippleNativeRendering kaldırıldı (I7fab3, b/188569367)

Hata Düzeltmeleri

  • Modifier.onGloballyPositioned(), tüm değiştiriciler uygulandıktan sonra düzen koordinatlarını değil, değiştirici zincirinde bu değiştiricinin koordinatlarını raporlayacak şekilde değiştirildi. Bu, artık değiştiricilerin sırasının, hangi koordinatların raporlanacağını etkilediği anlamına gelir. (Ieb67d, b/177926591)
  • Mevcut Compose Material kataloğuna BENİOKU işlevi eklendi. (If9191)

Sürüm 1.0.0-beta07

18 Mayıs 2021

androidx.compose.material:material-*:1.0.0-beta07 yayınlandı. Sürüm 1.0.0-beta07 bu kaydetmeleri içerir.

API Değişiklikleri

  • Rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor oluşturabilirsiniz. (I22beb, b/172823546)

Sürüm 1.0.0-beta06

5 Mayıs 2021

androidx.compose.material:material-*:1.0.0-beta06 yayınlandı. Sürüm 1.0.0-beta06 bu kaydetmeleri içerir.

API Değişiklikleri

  • Ripple, RippleDrawable Android cihazlarda dahili olarak kullanmak için taşındı. Bu, dalga animasyonlarının RenderThread'de gerçekleşeceği ve böylece, kullanıcı arayüzü iş parçacığı yüklenmekteyken (örneğin, ekranlar arasında gezinirken) bile sorunsuz bir şekilde çalışacağı anlamına gelir. Bu durum, dalganın API yüzeyini değiştirmez ancak bu değişiklik sonucunda davranış değişiklikleri ortaya çıkabilir. Taşıma işlemine yardımcı olmak için LocalRippleNativeRendering eklendi. CompositionLocalProvider içindeki önceki ripple uygulamasını kullanmak için bu CompositionLocal öğesine false değeri sağlayın. Bu API geçicidir ve gelecekte kaldırılacaktır. Bu nedenle, bu API'yi kullanmanıza neden olan sorunlarla karşılaşırsanız lütfen hata bildiriminde bulunun. (I902f8, b/168777351, b/183019123)
  • Erişilebilirlik hizmetleri için koleksiyonu ve öğelerini işaretlemeye olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017)
  • Geçersiz giriş içeren bir düğümün işaretlenmesine olanak tanıyan error Erişilebilirlik API'si eklendi (I12997, b/180584804, b/182142737)

Hata Düzeltmeleri

  • Compose Materyal kataloğu inset uygulaması şu adresten güncellendi: https://github.com/google/accompanist/pull/365. (I25dc3)
  • Satır ve ağırlık(fill = false) değerine sahip sütun alt öğeleri, artık üst öğenin mevcut ana eksen alanının tamamını doldurmasını sağlamıyor. (Ied94d, b/186012444, b/184355105)

Sürüm 1.0.0-beta05

21 Nisan 2021

androidx.compose.material:material-*:1.0.0-beta05 yayınlandı. Sürüm 1.0.0-beta05 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Mevcut Materyal Oluşturma kataloğuna bileşen karo resimleri, tema seçici ve daha spesifik menü URL'leri eklendi. (I9b58e)

Sürüm 1.0.0-beta04

7 Nisan 2021

androidx.compose.material:material-*:1.0.0-beta04 yayınlandı. Sürüm 1.0.0-beta04 bu kaydetmeleri içerir.

API Değişiklikleri

  • API DEĞİŞİKLİĞİ: DrawerState durumu, deneysel slideableState'te artık desteklenmemektedir.
    • API DEĞİŞİKLİĞİ: BottomDrawerState, zaten Deneysel BottomDrawer bileşeniyle (I81114, b/181656094) eşleştirmek için artık Deneysel olarak işaretlendi
  • Yeniden adlandırma hideSoftwareKeyboard ve showSoftwareKeyboard açık Sırasıyla SoftwareKeyboardController - hide() ve show().
    • için tüm CompositionLocal arayüzünün tamamını sağlayın (özellikle testlerde faydalı) (I579a6)
  • LiveRegion Accessibility API eklendi. Düğüm canlı bölge olarak işaretlenmişse erişilebilirlik hizmetleri kullanıcıya yaptığı değişiklikleri otomatik olarak bildirir (Idcf6f, b/172590946)

Hata Düzeltmeleri

  • Mevcut modüle Compose Material kataloğunun uygulanması eklendi. Şu anda eksik olan: bileşen karo resimleri, tema seçici (sonraki değişikliklere eklenecek). (Ie7a94)

Sürüm 1.0.0-beta03

24 Mart 2021

androidx.compose.material:material-*:1.0.0-beta03 yayınlandı. Sürüm 1.0.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • DefaultMonotonicFrameClock desteği sonlandırıldı. Telefon etme Hayır olan withFrameNanos veya Recomposer.runRecomposeAndApplyChanges MonotonicFrameClock şimdi IllegalStateException atacak. (I4eb0d)
  • Sekmelerde simge ve satır içi metin görüntülemeyi desteklemek için yeni bir API LeadingIconTab öğesi eklendi. (I23267)

Harici Katkı

  • [Jossi Wolf'tan] BottomDrawer, çekmece yuvasının içeriğini artık sarmalıyor. Üst öğe sonsuz yüksekliğe sahip olduğunda BottomDrawer, IllegalStateException atmaz. Alt çekmece artık üst çekmecenin% 50'sinden küçükse genişletilmiş durumda açılır. BottomDrawerState ve ModalBottomSheetLayoutState etrafındaki dokümanlar güncellendi. BottomDrawerState#isOpen açık veya genişletilmiş durumdaysa şimdi true değerini döndürür. (I87241)

Sürüm 1.0.0-beta02

10 Mart 2021

androidx.compose.material:material-*:1.0.0-beta02 yayınlandı. Sürüm 1.0.0-beta02 bu kaydetmeleri içerir.

API Değişiklikleri

  • Yeni LocalSoftwareKeyboardController bestesi yerel eklendi Önceki SoftwareKeyboardController arayüzünün yerini alacak API TextField'i (Metin Alanı) seçin. (I5951e, b/168778053)

Hata Düzeltmeleri

  • Deneysel API'lerin herkese açık kullanımıyla ilgili kısıtlamaları zorunlu kılın (I6aa29, b/174531520)
  • TopAppBar ve BottomAppBar için varsayılan yatay hizalama, Satır ile tutarlı olarak (Ib2dc7) Başlangıç olarak değiştirildi
  • Şu anda mevcut entegrasyon testi demolarında iç içe yerleştirilmiş olan Compose Material kataloğu için yeni modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
  • androidx.compose.ui:ui artık AppCompat veya Fragment'a bağlı değil. Uygulamanızda ComposeView kullanıyorsanız ve Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3 ve / veya Fragment 1.3 veya sonraki sürümleri kullandığınızdan emin olun. Bu sürümler, ComposeView için gerekli yaşam döngüsünü ve kayıtlı durum sahiplerini doğru şekilde ayarlamak amacıyla gereklidir. (I1d6fa, b/161814404)

Sürüm 1.0.0-beta01

24 Şubat 2021

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

Bu, Compose 1.0.0 Beta'nın ilk sürümüdür.

API Değişiklikleri

  • Boyut değiştiricileri yeniden adlandırıldı. Değiştirici.genişlik/yükseklik/boyut, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Değiştirici.tercihWidth/PreferenceHeight/PreferenceSize, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)
  • imageResource ve vectorResource artık uzantı işlevleri oldu ImageBitmap ve ImageVector tamamlayıcılarında gösterilir. load{Image,Vector,Font}Kaynak işlevleri silindi. (I89130)
  • Yerleşik öğelere göre boyutlandırma değiştiricileri artık deneysel değildir. (I15744)
  • Kaldırılan dp onayları (I798d2)
  • Tüm metinlerden SoftwareKlavyeController geri çağırması kaldırıldı alanları kısa süre içinde yeni bir API ile değiştirilecektir. (Iae869, b/168778053)
  • Switch, Onay Kutusu ve RadioButton işlem lambda'ları artık kullanılabilir null atanabilir. Tıklanabilir satırdaki onay kutusu örnekleri bunu kullanacak şekilde güncellendi özelliğini kullanabilirsiniz. (If601b, b/171819073)
  • InteractionState, [Mutable]InteractionSource ile değiştirildi
    • Arayüzler, Etkileşim etkinliklerinin yayınlanmasından / toplamasından sorumludur.
    • interactionState = remember { InteractionState() } öğesini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } kullanın.
    • Interaction.Pressed in interactionState yerine, InteractiveSource.collectIs PressedAsState() gibi uzantı işlevlerini kullanmanız gerekir.
    • Karmaşık kullanım alanları için EngagementSource.interactions akışını gözlemleyerek Etkileşimlerin akışını gözlemleyebilirsiniz. Daha fazla bilgi için EngagementSource belgelerine ve örneklerine bakın.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • AccessibilityMananger arayüzünü ekleyin ve CompositionLocals içinde LocalAccessibilityMananger (I53520)
  • Kullanımdan kaldırılan LayoutKoordinatlar yöntemleri kaldırıldı, locationInParent ve boundsInParent özelliği yerine işlevi kullanın (I580ed, b/169874631, b/175142755)
  • Kaydırma çubuğu artık etkin/devre dışı durumu destekliyor (I6d56b, b/179793072)
  • CoreTextField gibi alt düzey metin bileşenlerinden giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
  • AnimationEndCondition.Interrupted kaldırıldı. Animasyon kesilirse CancelException hatası verilir. (I2cbbc, b/179695417)
  • @ExperimentalRippleApi kaldırıldı ve RippleAlpha, arayüz yerine özelliklere sahip bir sınıf olarak değiştirildi. (I6df7c)
  • Farklı durumlarda TextField ve OutlinesTextField'de kullanılan farklı renkleri temsil etmek için TextFieldColors arayüzü eklendi. Varsayılan uygulama için bkz. TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors.
    • TextField ve OutlinesTextField içindeki isErrorValue parametresi yeniden adlandırıldı isError'a girebilirsiniz. (I831f9, b/171305338, b/168004067)
  • Erişilebilirlik amacıyla Sekme veya RadioButton koleksiyonunu işaretlemeye olanak tanıyan seçim Grubu değiştiricisi ekleyin (Ie5c29)
  • LazyListState.animate ScrollToItem Ekle

    Bu yöntem, sorunsuz bir şekilde listedeki belirli bir öğeye kaydırır. (I4bfd7)

  • ScrollableState.smoothScrollBy(), animateScrollBy() olarak yeniden adlandırıldı LazyListState.snapToItemIndex(), scrollToItem() olarak yeniden adlandırıldı ScrollState.smoothScrollTo(), animateScrollTo() (I35ded) olarak yeniden adlandırıldı

  • @ReadOnlyComposable ile işaretlenen tüm composable'lar artık yalnızca diğer @ReadOnlyComposables (I58961) için çağrı yaptıklarından emin olmak için derleme zamanı açısından doğrulanıyor.

  • TargetAnimation API kaldırıldı. (If47d1, b/177457083)

  • Modifier.vertical Scroll()/Yatay Kaydırma() işlevinde kaydırma konumu artık Ints ile temsil ediliyor (I81298)

  • smoothWrapBy ve ScrollBy yöntemleri' paketler androidx.compose.foundation.gestures.* olarak değiştirildi (I3f7c1, b/175294473)

  • FlingConfig, FlingBehavior olarak yeniden adlandırıldı. Artık önceden tanımlanmış Decay'ler yerine askıya alma animasyonunun özelleştirilmesine olanak tanıyor. (I02b86, b/175294473)

  • Boyut değiştiricileri yeniden adlandırıldı. Değiştirici.genişlik/yükseklik/boyut, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Değiştirici.tercihWidth/PreferenceHeight/PreferenceSize, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)

  • defaultMinSizeConstraints defaultMinSize olarak yeniden adlandırıldı. (I4eaae)

  • Yön, temel paketine taşındı. VelocirtTracker, ui.gesture'dan ui.input.pointer'a taşındı. (Iff4a8, b/175294473)

  • drawerState.open() vedrawerState.close(), artık işlevleri askıya alıyor. Çağrı yapmak istediğiniz bestenin kapsamını almak için leadCoroutineScope() işlevini kullanın (I16f60, b/175294473)

  • Sağlayıcılar, CompositionLocalProvider olarak yeniden adlandırıldı

    • Beste oluşturucu artık anahtar parametreleri kabul etmiyor ve kullanımdan kaldırıldı.
    • currentCompositeKeyHash, composable üst seviye bir işlev yerine derlenebilir üst düzey bir mülke dönüştürüldü.
    • CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı
    • ComposableLambda, somut bir sınıf yerine bir arayüz haline getirildi ve artık tür parametrelerine sahip değil.
    • ComposableLambdaN, somut bir sınıf yerine bir arayüz haline getirildi ve artık tür parametrelerine sahip değil.
    • SnapshotFlow işlevi, androidx.compose.runtime ad alanına taşındı
    • SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değil
    • @TestOnly üst düzey clearRoots işlevi kaldırıldı. Artık gerekli değildir.
    • keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Bunlar artık gerekli değildir.
    • Composer.collectKeySourceInfo bilgileri kaldırıldı. Artık gerekli değildir.
    • isJoinedKey,joinKeyLeft vejoinKeyRight yöntemleri kaldırıldı. Bunlar artık gerekli değildir.
    • Çeşitli üst düzey API'ler taşındı ve farklı dosyalara yeniden düzenlendi. Bu, Kotlin'in dosya sınıfı semantiği nedeniyle ikili program uyumluluğunu bozar ancak kaynak uyumluluğunu bozmaz. Bu nedenle çoğu kullanıcı için sorun olmayacaktır.
    • (I99b7d, b/177245490)
  • Değiştirici.scrollable yeniden düzenlendi. Şimdi ScrollableController sınıfının yerine Kaydırılabilir arayüzü kullanıyor (I4f5a5, b/174485541, b/175294473)

  • Değiştirici.draggable artık basit bir lambda yerine DraggableState'i kabul ediyor. Önceden olduğu gibi aynı davranışı elde etmek için rememberDraggableState { delta -> } aracılığıyla durum oluşturabilirsiniz (Ica70f, b/175294473)

  • ZoomableController.smoothScaleBy ve ZoomableController.stopAnimation, askıya alma işlevleri olarak değiştirildi. (I7f970, b/177457083)

  • Desteği sonlandırılan bazı API'ler silindi (Ice5da, b/178633932)

  • Aşağıdaki Material API değişiklikleri yapıldı:

    • Varsayılan dolgunun özelleştirilmesine olanak tanımak için Top/BottomAppBar'a contentPadding parametresi eklendi.
    • BackdropScaffold'deki parametreler, gerekli parametrelerin isteğe bağlı parametrelerden önce gelmesi için API yönergelerine uygun olacak şekilde yeniden sıralandı.
    • BottomGezinmeItem kutusundaki icon parametresi, selected ve onClick tarihinden sonra olacak şekilde taşındı.
    • BottomClicksItem öğesi içindeki alwaysShowLabels parametresi alwaysShowLabel olarak yeniden adlandırıldı.
    • Birkaç bileşendeki bodyContent parametre yalnızca content olarak yeniden adlandırıldı.
    • ButtonDefaults.buttonColors() içindeki parametreler yeniden sıralandı. Parametrelerin türü değişmediği için bunun kodunuzda hataya neden olmayacağını lütfen unutmayın. Lütfen adlandırılmış parametreler kullandığınızdan veya sıralamayı manuel olarak güncellediğinizden emin olun. Aksi takdirde, kodunuz öncekiyle aynı şekilde çalışmaz.
    • darkColors() öğesine secondaryVariant parametresi eklendi. Bu renk, genellikle koyu temadaki secondary ile aynıdır ancak tutarlılık ve daha fazla özelleştirme için eklenir.
    • Yaygın olarak kullanılmadığı / faydalı olmadığı için ElevationDefaults veAnimationElevation() öğelerini herkese açık API yüzeyinden kaldırdık.
    • Slider öğesindeki onValueChangeEnd, onValueChangeFinished olarak yeniden adlandırıldı ve boş değer olarak değiştirildi.
    • Tutarlılık sağlamak için Snackbar öğesindeki text parametresi content olarak yeniden adlandırıldı.
    • Varsayılan dolgunun özelleştirilmesine olanak tanımak için DropdownMenuItem öğesine contentPadding parametresi eklendi ve content, RowScope öğesinde uzantı yapıldı.
    • ModalDrawerLayout adlı dosya ModalDrawer olarak yeniden adlandırıldı.
    • BottomDrawerLayout adlı dosya BottomDrawer olarak yeniden adlandırıldı.
    • (I1cc66)
  • BasicTextField artık daha iyi özelleştirme için Renk yerine Fırçayı kabul ediyor (I83a36)

  • imageResource ve vectorResource artık uzantı işlevleri oldu ImageBitmap ve ImageVector tamamlayıcılarında gösterilir. load{Image,Vector,Font}Kaynak işlevleri silindi. (I89130)

  • Indication#createIndication() , Indication#rememberUpdatedIndication(EngagementState) olarak değiştirilir ve IndicationInstance#drawIndication() öğelerindeki EngagementState parametresi kaldırılır. IndicationInstance yalnızca görsel efektleri çizmekten ve EngagementState değişikliklerine yanıt olarak animasyonları / yazma durumunu başlatmamaktan sorumlu olmalıdır. Bu animasyonlar ve durum yazma işlemleri, bunun yerine rememberUpdatedIndication() içinde gerçekleştirilmelidir. Modifier.indication tablosundaki indication parametresi de gerekli bir parametre olarak değiştirildi. (Ic1764, b/152525426)

Hata Düzeltmeleri

  • Yeni Yerel Yazılım Klavye Denetleyicisi bileşimi eklendi üzerindeki önceki SoftwareKlavyeController arayüzünün yerini alacak API TextField'i (Metin Alanı) seçin. (I658b6, b/168778053)

Sürüm 1.0.0-alpha12

10 Şubat 2021

androidx.compose.material:material-*:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Değiştirici.pointerInput, artık tuşların şunu belirtmek için hatırlanmasını gerektiriyor: yeni için işaretçi girişi algılama eş anlamlısının yeniden başlatılması gerektiğinde ve bildirmeyi konuştuk. (I849cd)
  • BottomDrawerLayout ve ListItem @Deneysel MaterialApi olarak işaretlendi (Id766e)
  • PaddingValues.Mutlak eklendi ve PaddingValues kabul eden API'lerde kullanılabilir. (Ia5f30)
  • onImeActionPerformed desteği sonlandırıldı. bunun yerine Klavyeİşlemler'i kullanın (If0bbd, b/179071523)
  • Adlandırmayla daha iyi eşleşme için ve ImageBitmap ve ImageVector ile ImagePainter, BitmapPainter olarak yeniden adlandırıldı VectorPainter'a paralel yapabilirsiniz. (Iba381, b/174565889)
  • Animatable.snapTo ve Animatable.stop, askıya alma işlevleri olarak değiştirildi (If4288)
  • ComponentActivity.setContent, şuraya taşındı: androidx.activity.compose.setContent androidx.activity:activity-compose modülü. (Icf416)
  • Yıkım ve Copy() yöntemleri, bazı sınıflara üye olmak için faaliyet sergilediler. (I26702, b/178659281)
  • ModalBottomSheetState'te (Ic914e) leadexpand() veexpand() işlevlerini yapın
  • Gösterge#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> yerine bir Gösterge içerecek şekilde değiştirildi Gösterge. (I5eeea, b/157150564)
  • AlertsDialog ve DropdownMenü şimdilik yalnızca Android olacak şekilde taşındı. Temel Pop-up'ın daha fazla yapılandırılması için DropdownMenü'ye PopupProperties parametresi eklendi. (I9c443)
  • loadFontResource desteği sonlandırıldı. Bunun yerine fontResource öğesini kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource kullanımdan kaldırılmıştır. Bunun yerine PainterResource öğesini kullanın. (I6b809)
  • DropdownMenü'den toggle ve toggleModifier parametresi kaldırıldı, dropdownModifier, dropdownOffset ve dropdownContent parametreleri sırasıyla modifier, offset ve content olarak yeniden adlandırıldı. Dropdown Menu artık menünün konumu için üst düzenin kullanıldığı Popup ile tutarlı bir şekilde davranıyor. Çoğu durumda, toggle öğesini DropdownMenu öğesinin kardeş öğesi olacak şekilde taşıyabilir ve her ikisini de bir Box içine sarmalayabilirsiniz. Bu API'nin kullanımı hakkında daha fazla bilgi için dokümanlardaki güncellenmiş örneği inceleyin. (I884fb)
  • toIntPx(), roundToPx() olarak yeniden adlandırıldı. (I9b7e4, b/173502290)
  • IntBounds, IntRect olarak yeniden adlandırıldı ve API iyileştirildi. (I1f6ff)
  • Genişletme ve daraltma anlamsal işlemleri eklendi. Eklenme zamanı Genişletme ve Yarım Genişlet (ModalBottomSheetState) (Ib5064)
  • Değiştirici.dragmotionFilter desteği sonlandırıldı. Bunun yerine Modifier.pointerInput { detectDragGestures (...)} politikasını kullanın. Alternatif olarak, bir eksendeki sürüklemeler için Değiştirici.draggable'ı kullanın (I0ba93, b/175294473)
  • Ambiyanslar, Ambiyans ile eşleşecek şekilde yeniden adlandırıldı -> CompositionLocal yeniden adlandırıldı. Ambiyanslar eskiden AmbientFoo olarak adlandırılıyorken CompositionLocals artık LocalFoo olarak adlandırılıyor. (I2d55d)
  • Seçim, temele taşındı. (I7892b)
  • Daha önce state { 0 } composable'ı kaldırıp remember { mutableStateOf(0) } gibi kullanımları teşvik etme şeklimize benzer şekilde, savedInstanceState { 0 } composable'ı da kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmanız gerekir. MutableState içinde kullanılan tür Paket'te depolanabiliyorsa dosya otomatik olarak kaydedilip geri yüklenir. Daha önce bir özel koruyucu nesnesi iletiyorsanız şimdi stateSaver parametresine sahip yeni birhatırla Kaydedilebilir öğe yüklemesi kullanmanız gerekir. Kullanım şu şekilde görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • ProgressBarRangeInfo eklendi.Erişilebilirlik için belirsiz ilerleme çubuklarının işaretlenmemesi (I6fe05)
  • @ComposableContract desteği sonlandırıldığı için yerine üç ek ek açıklama eklendi.

    • @ComposableContract(restartable = false), @NonRestartableComposable oldu
    • @ComposableContract(readonly = true), @ReadOnlyComposable oldu
    • @ComposableContract(preventCapture = true), @DisallowComposableCalls oldu
    • @ComposableContract(tracked = true) kaldırıldı.
    • (I60a9d)
  • emptyContent() ve (@Composable () -> Unit).orEmpty() yardımcı programları, performans üzerinde artık olumlu bir etkisi veya değeri olmadığı için kullanımdan kaldırıldı (I0484d)

  • receiveSavedInstanceState(), offerSaveable() olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)

  • Tasarruf, listSaver(), MapSaver(), autoSaver, androidx.compose.runtime.savedinstancestate değerinden androidx.compose.runtime.saveable (I77fe6) değerine taşındı.

  • RounderCornerShape, CutCornerShape ve CornerbasedShape parametreleri, şeklin rtl yönünde otomatik yansıtmasını desteklemek için soldan/sağdan başlangıç/bitiş olarak yeniden adlandırıldı. Otomatik yansıtmanın istenmediği durumlar için MutlakrounderCornerShape ve MutlakCutCornerShape kullanıma sunuldu. (I61040, b/152756983)

  • Bileşenin boyutunu ve düzenini etkilediği için bu parametreler sağlandığında / sağlanmadığında bileşenin davranışını daha iyi aktarmak için Sekme'nin text ve icon parametreleri ile BottomGezinmeItem'in label parametresi null olacak şekilde değiştirildi. Şu anda metin / simge / etiket barındırmaması için emptyContent() iletiyorsanız bunun yerine null kullanmalısınız. (I57ed4)

  • contentColorFor renk parametresi, backgroundColor (I5bb67) olarak yeniden adlandırıldı

  • TabDefaults kullanımdan kaldırıldı ve TabRowDefaults ile değiştirildi. (I0f189)

  • Kullanılan ColorMatrix API kullanıma sunuldu kaynak içeriğin rgb değerlerini değiştirmek için ColorFilter API, arayüz oluşturmak ve uygulamadaki örneğidir. (Ica1e8)

  • AnimasyonluDeğer/Kayan Öğe için destek sonlandırıldı. Lütfen şunu kullanın: Animasyonlarla oluşturulabilir. (I71345, b/177457083)

  • SemanticsProperties.PaneTitle API'yi ekleyin. (I20d5a)

  • Etkin parametreler, Tıklanmamaları için Sekme ve BottomGezinmeItem öğelerine eklendi. BottomGezinme Öğesi, API'sinde düzen gereksinimlerini daha iyi ifade etmek için RowScope.BottomGezinmeItem olarak değiştirildi. (Id683d)

  • TapHareketFilter, doubleTapHareketFilter, long PressHareketFilter ve pressIndicaitonmotionFilter kullanımdan kaldırılmıştır. Bunun yerine Değiştirici.clickable veya Modifier.pointerInput değişkeni kullanın. (I6baf9, b/175294473)

  • Şekil'in createOutline öğesine layoutDirection parametresi ekleyin. Bu, düzen yönüne duyarlı şekiller oluşturulmasına olanak tanır. (I57c20, b/152756983)

  • Recomposer.current() kaldırıldı. [Abstract]Şimdi görüntüle tarafından sağlanan gecikmeli şekilde oluşturulan, pencere kapsamlı Yeniden derleyicilere Pencerede ViewTreeLifecycleOwner'ı seçin. Yeniden düzenleme ve withFrameNanos tabanlı animasyon çizgileri, ana makine Yaşam Döngüsü sırasında duraklatılır durdurulur. (I38e11)

Hata Düzeltmeleri

  • Simgenin ölçeği, uygulanan boyut değiştiricilere uygun şekilde boyutuna sığacak şekilde artırılacak. Örneğin, Icon(.., modifier = Modifier.size(50.dp) artık 50x50 dp boyutunda bir alan çizer. (Ib2ba9, b/178796190)

Sürüm 1.0.0-alpha11

28 Ocak 2021

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

API Değişiklikleri

  • Bazı Material API'leri artık @Experimental değil (I5d20e) olmaya teşvik ediyor
  • Resim ve Simge'ye içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine (I2ac4c) açıklama sağlamak için kullanılır
  • Materyal durum bilgili parametre arayüzlerini, State<T> değerini döndüren @Composable işlevlerine sahip olacak şekilde değiştirir. Animasyonlu öğeleri bir duruma dönüştürmeyi kolaylaştırmak için Animatable.asState() ekler. Ayrıca, animasyonluElevation değerini, Animatable'da askıya alma uzantısı olarak değiştirir. (If613c)
  • Snackbar, SnackbarHost, SnackbarHostState artık @ExperimentalMaterialAPI değil (Id1fb5)
  • Tipografi, Şekiller ve TabPosition değerlerini artık veri sınıfı olmayacak şekilde değiştirir. Oluşturulanların yerine Tipografi ve Şekiller için kopyalama işlevi ekler. (I40037)
  • Daha önce kullanımdan kaldırılan bazı Materyal API'ler (Ifaa25) silindi

Hata Düzeltmeleri

  • SideEffect ve DisposableEffect API'leri (If760e) yerini alarak onCommit, onDispose ve onActive desteği sonlandırılmıştır.
  • TransitionDefinition tabanlı geçiş kullanımdan kaldırıldı (I0ac57)
  • UpdateTransition'da İlk Durum artık destekleniyor (Ifd51d)
  • WithConstraints BoxWithConstraints olarak yeniden düzenlendi ve Foundation.layout öğesine taşındı. (I9420b, b/173387208)
  • Askıya alınmadan önce

    Artık kaydırmayı kontrol etmek ve beklemek için askıya alma işlevlerini kullanmanızı öneririz. devam edin. Şu anda askıya alınmamış sürümlerini de bu geçişin parçası olarak ele alacağız. (A9 kez verilmiş)

  • Askıya alınmayan smooth ScrollBy desteğini sonlandırma Artık kaydırmayı kontrol etmek ve beklemek için askıya alma işlevlerini kullanmanızı öneririz. devam edin. Askıya alınmamış sürümler kullanımdan kaldırılıyor bu işlevlerin kullanımına daha sonra geri döneceğiz. (I12880)

  • ComposeContentTestRule kullanıma sunuldu ComposeTestRule ve şu klasörden kaldırılan setContent öğesini tanımlar: ComposeTestRule. createEmptyComposeRule() fabrika yöntemi eklendi ComposeTestRule döndüren ve şunun için bir Etkinlik başlatmayan: siz. Bunu, testiniz sırasında Etkinliğinizi başlatmak istediğinizde kullanın. ör. ActivityScenario.launch kullanılarak (I9d782, b/174472899)

  • Button ve floatingActionButton'da kullanılan dalga, artık AmbientIndication aracılığıyla yeni bir Gösterge sağlanarak özelleştirilemez. Bu, hiçbir zaman bu bileşenleri özelleştirmek için tasarlanmamıştı ve şimdi bu bileşenleri diğer Materyal bileşenlerle tutarlı hale getiriyor. Bir uygulamadaki dalgaları özelleştirmek için Dalga Teması'na göz atın. (I546c5)

  • animasyonluAsState artık animasyonluFooAsState. Foo ise animasyon uygulanan değişkenin türü. ör. Kayan, Dp, Offset vb. (Ie7e25)

  • BasicTextField, decorationBox adlı yeni bir parametre aldı. Metin alanına simge, yer tutucu, etiket vb. süslemeler eklemenizi ve bunun isabet hedef alanını genişletmeyi sağlar. (I16996)

  • Malzeme metin alanının genişliğinin 280.dp'den (I78373) daha az olmasını engelleyen bir hata düzeltildi

  • canDrag parametresi Değiştirici.draggable'dan kaldırıldı (Ic4bec, b/175294473)

  • Kaçınılması gerektiği için displaySize değerini kaldırın. Genellikle en azından onRoot() veya pencere boyutu boyutunu kullanmak daha iyi. (I62db4)

  • Yüzey artık birden fazla düzene sahip alt öğelere sahip olabilir. (I66a92, b/144488459)

  • in Verify ve bestReference() yöntemi desteği sonlandırılarak, sırasıyla currentRecomposeScope ve chooseCompositionReference yerine kullanılmaya başlandı. (I583a8)

  • PopupPositionProvider'ı genel koordinatları değil, pencereye bağlı koordinatları kullanacak şekilde değiştirir. parentGlobalBounds'u anchorBounds olarak yeniden adlandırır ve windowGlobalBounds'u windowSize: IntSize olarak değiştirir (I2994a)

  • Süre ve Çalışma Süresi, Uzun milisaniye olarak değiştirilecek, ve bu adım, işaretçi girişinin mevcut kaynaklara olan bağımlılığını sınıflar. (Ia33b2, b/175142755, b/177420019)

  • FlingConfig'i kabul eden hareketlifloat.fling kaldırıldı. Lütfen askıya alma özelliğini kullanın Animatable.animateDecay'i seçin. (I4659b, b/177457083)

  • Artık bestenin dışında tıklanabilir, geçiş yapılabilir ve seçilebilir hale getirilebilir (I0a130, b/172938345, b/175294473).

  • Yumuşak geçiş işlevsel bir arayüz olarak değiştirildi (Ib14e5)

  • ScrollableColumn/Row kullanımdan kaldırıldı. ScrollableColumn kullanımı, büyük bir kayan içeriğiniz olan LazyColumn ile karşılaştırıldığında daha az verimlidir, çünkü LazyColumn ile yalnızca görünür öğeleri oluşturabiliyoruz/ölçebiliyor/çizebiliyoruz. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunların yerine LazyColumn ve LazyRow kullanımlarını teşvik etmeye karar verdik. Kullanıcılar hâlâ tembel davranışa ihtiyaç duymadıklarına karar vererek değiştiricileri doğrudan şu şekilde kullanabilirler: Column(Modifier.vertical Scroll(remember ScrollState())) (Ib976b, b/170468083)

  • LazyColumn/LazyRow/LazyVerticalGrid kapsamı için yeni items(count: Int) fabrika yöntemi. items(items: List) ve itemsIndexed(items: List) artık uzantı işlevleri olduğundan bunları kullandığınızda manuel olarak içe aktarmanız gerekir. Diziler için yeni uzantı aşırı yüklemeleri: items(items: Array) ve itemsIndexed(Array) (I803fc, b/175562574)

  • Deneysel monotonicFrameAnimationClockOf yöntemleri kaldırıldı (Ib753f, b/170708374)

  • Genel koordinat yöntemleri kullanımdan kaldırıldı ve yeni pencere tabanlı koordinat yöntemleri. (Iee284)

  • İnceleme etkinleştirildiğinde grafik katmanı değiştiricisi ekleyen Değiştirici.toolingGraphicslayer eklendi. (I315df)

  • FocusRequester.createRefs, değişebileceği için deneysel olarak işaretlendi. (I2d898, b/177000821)

  • SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı. stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. Accessibility ScrollState, ScrollAxisRange olarak yeniden adlandırıldı. YatayErişilebilirlikKaydırmaState, yatay KaydırmaAxisRange olarak yeniden adlandırıldı. dikeyAccessibility ScrollState, vertical ScrollAxisRange olarak yeniden adlandırıldı. (Id3148)

  • Testlerde TestCoroutineDispatcher'dan yararlanın (I532b6)

  • Vektör grafikleri güncellendi Tonlamanın ayrıştırılmasını destekleyen API köküne uygulanır. (Id9d53, b/177210509)

Sürüm 1.0.0-alpha10

13 Ocak 2021

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

API Değişiklikleri

  • Hız, bileşen parçaları olacak şekilde değiştirilmiş ve matematiksel anlamına gelir. (Ib0447)
  • @ExperimentalTesting adlı dosya @ExperimentalTestApi olarak yeniden adlandırıldı benzer deneysel API ek açıklamalarıyla tutarlı (Ia4502, b/171464963)
  • Konum, DpOfset olarak yeniden adlandırıldı ve getDISTANCE() (Ib2dfd) kaldırıldı.
  • Color.takeOrElse() için Ranamed Color.useOrElse() (Ifdcf5)
  • Temel Strings.kt öğesine açma/kapatma düğmesini ekleyin (I4a5b7, b/172366489)
  • FlowRow ve FlowColumn desteği sonlandırıldı. Lütfen bunun yerine özel bir düzen kullanın. (I09027)
  • Değiştirici.focus() ve Modifier.focusRequester() desteğine son verilmez. Bunun yerine Modifier.focusModifier() ve Modifier.focusReference()'ı kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
  • NativeClass şuraya taşındı: ui modülünden geçti ve dahili hale getirdik. Şurada yerelClass kullanımları güncellendi: kullanılacak uygulama sayısına eşittir "MyClass" . (I4f734)

Hata Düzeltmeleri

  • Devre dışı bırakılan ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
  • animate(), animateAsState() ile değiştirildi. Bu değer, T yerine State<T> değerini döndürür. Böylece daha iyi daraltılabilir. Bunun nedeni, performansın eyalet değerinin okunacağı yere ekleyin. (Ib179e)
  • Anlamsal rol API'sini ekleyip parametre olarak Rol'ü seçilebilir ve devre dışı bırakılabilir SemanticsModifier ile çalışır. Değiştirildi Değiştirici.progressSemantics, böylece Slider bunu da kullanabilir. (I216cd)

Sürüm 1.0.0-alpha09

16 Aralık 2020

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

API Değişiklikleri

  • Yerleşme animasyonunu manuel olarak tetiklemek ve Değiştirici.sDELETEable'da sürüklemek için API eklendi (Iaa17a, b/162408885)
  • *ButtonConstants gibi nesneler, ButtonDefaults gibi varsayılanlarla bitecek şekilde yeniden adlandırıldı. Ayrıca, bu yeni nesnelerdeki özelliklerden gereksiz default ön eklerini de kaldırır. (Ibb915, b/159982740)
  • Compose, composable çağrılar yapabilen özellik alıcılarını destekler. Bunun için sunulan destek kaldırılmayacak ancak bir özellik alıcısını @Composable olarak tanımlamak için kullanılan söz dizimi değişiyor.

    Bunu yapmak için artık kullanımdan kaldırılan söz dizimi, mülkün kendisine ek açıklama eklemekti:

        @Composable val someProperty: Int get() = ...
    

    Bunu yapmak için şu anda doğru olan söz dizimi, mülkü alan kişiye açıklama eklemektir:

       val someProperty: Int @Composable get() = ...
    

    Her iki söz dizimi de bir süre boyunca çalışacaktır ancak kullanımdan kaldırılan eski söz dizimi, sonunda derleme hatasına dönüşecektir. (Id9197)

  • Materyal kitaplığının geri kalanına ihtiyaç duymadan etkileşimli bileşenler oluşturmaya olanak tanımak için ripple API'leri içeren androidx.compose.material:material-ripple kitaplığı eklendi. receiveRippleIndication kullanımdan kaldırılmış ve bunların yerini hatırlamaRipple almıştır. (Ibdf11)

Hata Düzeltmeleri

  • Ofset değiştiricilerdeki Lambda'lar artık Kayma yerine IntOffset değerini döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • GölgelendiriciBrush'ı şu şekilde yeniden düzenledi: bir gölgelendirici örneği oluşturarak çizimin boyut bilgileri kullanılabilir durumda olduğundan emin olun. Bu yöntem, farklı renklerdeki gradyanları composable'ın tüm çizim sınırlarını kaplayacak bestelemenize gerek kalmadan uygulamaları hakkında bilgi edinin.

    Desteği sonlandırılan gradyan işlevi oluşturucu API'leri tercih ettik. (I511fc, b/173066799)

  • Değiştirici.focusObserver desteği sonlandırıldı. Bunun yerine Modifier.onFocusChanged veya Modifier.onFocusEvent kullanın (I30f17, b/168511863, b/168511484)

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed'in desteğini sonlandırın. Bunun yerine LazyColumn ve LazyRow'u kullanın (I5b48c)

  • Dp.VectorConverter, Position.VectorConverter, vb. animasyon çekirdeğine geçiş yapıldı ve eski VectorConveters (If0c4b) desteği sonlandırıldı

  • Autofill API artık deneysel bir API olup etkinleştirilmesini gerektiriyor (I0a1ec)

  • FocusRequester örnekleri oluşturmak için yapı bozma bildirimleri ekleme (I35d84, b/174817008)

  • AccessibilityLabel, contentDescription olarak yeniden adlandırıldı. erişilebilirlikValue, stateDescription olarak yeniden adlandırıldı. (I250f2)

  • Infinite RepeatableSpec oluşturmak için yeni infinite Repeatable işlevi (I668e5)

  • DropdownMenülerin konumlandırma davranışı, Malzeme özelliklerine göre biraz değişti. (I34c72, b/168594123)

  • TextFields için EngagementState desteği eklendi. (I61d91)

  • Alt öğeleri temizlemek için Değiştirici.clearAndSetSemantics eklendi anlamları geliştirip yenilerini oluşturabilirsiniz. (I277ca)

  • ContentDrawScope kullanıcı arayüzü grafiklerine taşındı modülünü kullanabilirsiniz. (Iee043, b/173832789)

Sürüm 1.0.0-alpha08

2 Aralık 2020

androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ve androidx.compose.material:material-icons-extended:1.0.0-alpha08 serbest bırakıldı. 1.0.0-alpha08 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • MaterialTheme, artık seçim tutma yerleri ve seçim arka planı için doğru renkleri ayarlıyor. Materyal olmayan uygulamalar, seçimde kullanılan renkleri özelleştirmek için AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
  • Oluşturma yönergeleriyle tutarlılığı kontrol etmek üzere composable lambda parametresi adı ve konumu için lint denetimi eklendi. Ayrıca, lint kontrolü ve rehberlik doğrultusunda, sondaki lambdaların adı olarak children kullanılan bazı API'ler de content ortamına taşındı. (Iec48e)
  • VectorAsset, ImageVector olarak yeniden adlandırıldı VectorAsset, Builder olarak taşındı ve yeniden adlandırıldı. şuna göre ImageVector'ın iç sınıfı olmalıdır: API konseyi yönergeleri. VectorAssetBuilder için tür takma adı şuna eklendi: ImageVector.Builder bağlantısını kullanabilirsiniz. (Icfdc8)
  • Yeniden Adlandırılan ImageAsset ve benzer yöntemler kullanır. (Ia2d99)
  • Temel anlamsal özellikleri kullanıcı arayüzüne taşındı (I6f05c)
  • fun RippleIndication() desteği sonlandırıldı ve diğer API'lerle tutarlılık için rememberRippleIndication() ile değiştirildi. (Id8e2c)
  • BasicTextField, TextField ve OutlinedTextField öğelerine singeLine parametresi eklendi. Metin alanını yatay olarak kaydırılabilir tek bir satır yapmak için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)

Hata Düzeltmeleri

  • Anlamsal işlem ekleme işlemi Kapat (I2b706)
  • DrawModifier API'leri androidx.compose.ui paketini androidx.compose.ui.draw paketinde bulabilirsiniz. DrawModifier Uyumsuz.kt dosyası oluşturuldu: yardımcı olacak tiptaktikler/yardımcı yöntemler içermelidir desteği sonlandırılandan güncel API'ler. (Id6044, b/173834241)
  • Değiştirici.drawKatmanlar, Değiştirici.graphicsKatman olarak yeniden adlandırıldı Ayrıca, ilgili sınıflar şu şekilde GraphicsKatman olarak güncellendi: API geri bildirimi. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout bildiriminden kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • Değiştirici.ölçek/döndürme özelliği eklendi Trafiğe eklemek için API'leri kullanabilirsiniz.
    • Modifier.drawOpacity adlı dosya Modifier.alpha olarak yeniden adlandırıldı
    • Modifier.drawShadow listesi Modifier.shadow olarak yeniden adlandırıldı (I264ca, b/173208140)
  • Box'ın hizalama parametresi, contentHizalama olarak yeniden adlandırıldı. (I2c957)
  • ofPx değiştiricileri, ofset olarak yeniden adlandırıldı. Artık State yerine lambda parametrelerini alıyorlar. (Ic3021, b/173594846)
  • SweepGradientShader kullanıma sunuldu ve SweepGradientBrush API'ler. (Ia22c1)
  • Oluşturulabilir işlevlerde Değiştirici parametreleri için lint kontrolü eklendi. Bu hata analizi kontrolü, parametrenin adını, döndürme türünü, varsayılan değerini ve sırasını Yazma yönergeleriyle tutarlılık açısından kontrol eder. (If493b)
  • TextFieldValue API'si güncellendi
    • TextFieldValue.composition salt okunur yapıldı
    • geçersiz seçim aralığı (I4a675, b/172239032) nedeniyle kaldırıldı istisna
  • Yeni bir Modifier.drawLayer() aşırı yüklemesi eklendi. Yeni bir GraphicslayerScope üzerinde bir lambda bloğu alır. Burada katman parametrelerini, durum değişikliği gerçekleştiğinde yeniden düzenleme ve düzenleme adımını atlayabilecek şekilde tanımlarsınız. DrawKatmanModifier, mantığını placeable.placeWithLayer() LayoutModifier yöntemine (I15e9f, b/173030831) taşımaya hazırlanmak için artık dahilidir
  • Sonek olarak Ambient adını taşıyan ve desteği sonlandırılmış Ambiyanslar, diğer Ambients and Compose API kurallarına uyarak Ambient ön ekini taşıyan yeni özellikler eklendi. (I33440)
  • Değiştirici fabrikaların @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullanıp kullanmadığını kontrol etmek için lint denetimi eklendi. (I3c4bc)
  • Anlamsal bağımsız değişken birleştirmeAllDescendants olarak yeniden adlandırıldı birleşim. (Ib6250)
  • Testlerdeki zaman kontrolü (TestAnimationClock ve kullanımları) artık deneysel (I6ef86, b/171378521)
  • Eski kullanıcı arayüzü testi modülünü ve uçlarını kaldırın (I3a7cb)
  • TextUnit.Inherit, TextUnit olarak yeniden adlandırıldı.Diğer birimlerle tutarlılık için belirtilmemiş. (Ifce19)
  • Hizalama arayüzü güncellendi ve işlevsel hale getirildi. (I46a07, b/172311734)
  • id, LayoutIdParentData için layoutId olarak yeniden adlandırıldı. Measurable.id, Measurable.layoutId olarak yeniden adlandırıldı. (Iadbcb, b/172449643)

Sürüm 1.0.0-alpha07

11 Kasım 2020

androidx.compose.material:material:1.0.0-alpha07, androidx.compose.material:material-icons-core:1.0.0-alpha07 ve androidx.compose.material:material-icons-extended:1.0.0-alpha07 serbest bırakıldı. 1.0.0-alpha07 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Vurgu, kullanımdan kaldırıldı ve AmbientContentAlpha ile değiştirildi. AmbientContentAlpha, hiyerarşinin tercih edilen içerik alfasını temsil eden, AmbientContentColor'ın tercih edilen içerik rengini temsil etmesi gibi daha basit bir soyutlamadır. Metin ve Simge artık AmbientContentAlpha'daki mevcut değeri varsayılan olarak kullanıyor. Bileşenlerinizde aynı etkiyi yaratmak için color.copy(alpha = AmbientContentAlpha.current) işlemini manuel olarak yapabilirsiniz. OfferEmphasis'i kullanmak yerine, doğrudan AmbientContentAlpha üzerinden bir değer sağlayabilir ve eski EmphasisLevels yerine ContentAlpha'daki yeni varsayılan seviyeleri kullanabilirsiniz. (Idf03e, b/159017896)
  • androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770) yerine androidx.compose.material.AmbientContentColor'ı ekler.
  • androidx.compose.foundation.Text'in yerine üst düzey, temalı bir Metin bileşeni olarak androidx.compose.material.Text öğesini ekler. Temadan renk / metin stilini kullanmayan bir temel metin bileşeni için BasicText'i kullanın. (Ie6ae0)
  • Metin Alanlarına maxLines eklendi (Ib2a5b)
  • TextFields'i KlavyeSeçenekleri (Ida7f3) kabul edecek şekilde güncelleyin
  • Yüzey artık yükselti bindirmeleri hesaplanırken mutlak (toplam) yüksekliği kullanır. Dolayısıyla, başka bir Yüzey'e iç içe yerleştirilmiş bir Yüzey, bindirmeyi çizmek için birleştirilmiş yüksekliği kullanır. (I7bd2b, b/171031040)

Hata Düzeltmeleri

  • captureToBitmap, captureToImage adlı kümeye taşındı. (I86385)
  • AmbientTextStyle, OfferTextStyle ve AmbientContentColor temelinin desteği sonlandırıldı. Bunun yerine Materyal kitaplığında mevcut olan yeni sürümleri kullanın. Materyal olmayan uygulamalar için bunun yerine, kendi bileşenlerinizde tüketilebilecek kendi tasarım sisteminize özel tema ambiyanslarını oluşturmalısınız. (I74acc, b/172067770)
  • Foundation.Text desteği sonlandırılmış ve asset.Text ile değiştirildi. Temadan değer kullanmayan temel ve işlemsiz metin API'leri için androidx.compose.foundation.BasicText adresini ziyaret edin. (If64cb)
  • Klavye Seçeneklerini ImeOptions olarak yeniden adlandırın (I82f36)
  • Klavye Türü ve ImeAction, KlavyeSeçeneklerine taşındı (I910ce)
  • BaseTextField desteği sonlandırıldı. Bunun yerine BasicTextField alanını kullanın. (I896eb)
  • ExperimentalSubcomposeLayoutApi ek açıklaması kaldırıldı. SubcomposeLayout, artık @OptIn öğesi eklenmeden kullanılabilir (I708ad)
  • FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine (Ied2e7) taşındı
  • Color.Unspecified için simge API'si güncellendi. mümkün olan bir ton rengi kullanarak herhangi bir öğe veya boyaya sahip olmayabilir. Önceden renk tonlamayı göz ardı etmeye çalışıyor.Belirtilmemiş tonlamaya başlar ve sonunda şeffaf bir hiçbir şey oluşturulmaz. (I049e2, b/171624632)
  • relPaddingFrom, FILLFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin referans değerlerine olan mesafeleri belirtmeyi kolaylaştırmak amacıyla FILLFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
  • LaunchedTask, tutarlılık için LaunchedEffect olarak yeniden adlandırıldı SideEffect ve DisposableEffect API'lerini kullanabilirsiniz. LaunchedEffect dosyası kapalı en iyi uygulamaları teşvik etmek için konu parametrelerine izin verilmez. (Ifd3d4)
  • MeasureResult, MeasureScope dışına taşındı. (Ibf96d, b/171184002)
  • Düzenle ilgili çeşitli semboller androidx.compose.ui'den androidx.compose.layout.ui'ye taşındı. (I0fa98, b/170475424)

Sürüm 1.0.0-alpha06

28 Ekim 2020

androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 ve androidx.compose.material:material-icons-extended:1.0.0-alpha06 serbest bırakıldı. 1.0.0-alpha06 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • androidx.compose.foundation.Icon, androidx.compose.material.Icon konumuna taşındı. Materyal kitaplığını kullanmak istemiyorsanız Resim bileşenini / Değiştirici.paint() işlevini bir Painter ile de kullanabilirsiniz. (I9f622)
  • Farklı eyaletlerdeki FAB'ler tarafından kullanılan yüksekliği göstermek için floatingActionButtonElevation ekler. Varsayılan uygulama (I2d4f5) için floatingActionButtonConstants.defaultElevation() konusuna bakın
  • Bir Switch tarafından farklı durumlarda kullanılan renkleri göstermek için SwitchColors arayüzü eklendi. Bu renkleri özelleştirmek için SwitchConstants.defaultColors adresine bakın. (I93805)
  • Farklı durumlarda düğmelerin kullandığı yüksekliği ve renkleri göstermek için ButtonElevation ve ButtonColors arayüzleri ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevleri inceleyin. (Ic5b7b)
  • Bir RadioButton tarafından farklı durumlarda kullanılan renkleri göstermek için RadioButtonColors arayüzü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() konusuna bakın. (I74130)
  • Bir onay kutusunun farklı durumlarda kullandığı renkleri göstermek için CheckboxColors arayüzü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için CheckboxConstants.defaultColors() konusuna bakın. (I7dbdb)

Hata Düzeltmeleri

  • Malzeme bileşenleri, yüksekliği artık zIndex olarak ayarlamaz. Bu da aynı üst öğede daha büyük gölge boyutuna sahip alt öğenin, daha küçük olanın üzerine otomatik olarak çizilmeyeceği anlamına gelir. Bu tür bir davranışa ihtiyacınız varsa lütfen gerektiğinde Değiştirici.zIndex() işlevini manuel olarak ayarlayın (I70417, b/170623932)
  • VectorPainter'ı kullanımdan kaldır: hatırlamak için VectorPainter'ın composable API'nin dahili olarak “hatırla” farklı platformlarda bileşimler. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştir; seçeneği kaldır ComposeTestRule'da yanıp sönen imleci etkinleştirin. (If0de3)
  • CoreTextField'e tek satırlı klavye seçeneği eklendi (I72e6d)
  • Radius API şu şekilde yeniden adlandırıldı: Daha iyi ifade etmek için Köşe Yarıçapı nasıl kullanıldığına bakalım. Dokümanları negatif köşe yarıçaplarının sabitlendiği sıfıra eşittir. (I130c7, b/168762961)
  • DrawScope ve ContentDrawScope arayüzleri soyut sınıflar yerine
    • CanvasDrawScope uygulaması oluşturuldu DrawScope
    • Yeniden düzenlenen DrawScope, bunun yerine CanvasScope'u kullanır
    • Bağımlılıkları sarmak için DrawContext oluşturuldu DrawScope için
    • DrawScope'ta (I56f5e) desteği sonlandırılmış yöntemler kaldırıldı
  • Box, satır içi işlev haline getirildi. (Ibce0c, b/155056091)

Sürüm 1.0.0-alpha05

14 Ekim 2020

androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 ve androidx.compose.material:material-icons-extended:1.0.0-alpha05 serbest bırakıldı. 1.0.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Pop-up'lar ve iletişim kutuları artık üst pencereden FLAG_SECURE değerini devralıyor. Bunu açıkça yapılandırmaya yönelik seçenek de eklendi (I64966, b/143778148, b/143778149)
  • Değiştirici.sDELETEable artık varsayılan olarak eyaletler için 56.dp eşiklerine sahiptir (Iab825, b/168610267)
  • @Kararlı olarak işaretlenen tüm iskelet durumları. ScaffoldState'tekidrawerHareketsEnabled, Scaffold'e taşındı. (I36645, b/168297016)
  • Yapı İskelesi lambda parametrelerinden boş değer içeren türü kaldırır. Belirli bir parametre için içerik olmadığını göstermek üzere emptyContent() kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
  • contentColor() ve currentTextStyle() API'lerini kullanımdan kaldırır ve bunları sırasıyla AmbientContentColor ve AmbientTextStyle ambiyanslarla değiştirir. Geçerli değere, diğer ambiyanslarda olduğu gibi ambiyans özelliğinde .current kullanarak erişebilirsiniz. Bu değişiklik, tutarlılık ve aynı şeyi başarmak için birden çok yöntemden kaçınmanız amacıyla yapılmıştır. Ayrıca aşağıdaki ortam özelliklerini daha iyi tanımlayabilmek için bazı ambiyans özelliklerini de yeniden adlandırıyor:

    • ContentColorAmbient -> Ambiyans İçerik Rengi
    • TextStyleAmbient -> Ambiyans Metin Stili
    • IndicationAmbient -> Ambiyans Göstergesi
    • EmphasisAmbient (Ambiyans Vurgusu) -> Ambiyans Vurgu Seviyeleri
    • Dalga Teması (Ambiyans) -> Ambiyans Dalgası Teması (I37b6d)
  • Koyu temadaki yüzeylere uygulanan varsayılan yükseklik yer paylaşımının özelleştirilmesine / devre dışı bırakılmasına olanak tanıyan AmbientElevationOverlay'i ekler. (I5b74d)

Hata Düzeltmeleri

  • Standartlaştırma sürecinin bir parçası olarak sentinel değerlerinden farklıdır. Rengi yeniden adlandır.Ayarlanmadı. Renk.Belirtilmemiş diğer satır içi sınıflarla tutarlılık için (I97611, b/169797763)
  • TextOverflow.None kullanıma sunuldu. Taşma değeri Yok olduğunda, Metin artık taşmayı işlemez ve gerçek boyutunu LayoutNode'a bildirir. (I175c9, b/158830170)
  • LaunchInComposition, Compose ile eşleşecek şekilde LaunchedTask olarak yeniden adlandırıldı API yönergeleri (I99a8e)
  • OnPositionedModifier, OnGloballyPositionedModifier olarak yeniden adlandırıldı ve onPositioned(), onGloballyPositioned() olarak yeniden adlandırılır. (I587e8, b/169083903)

Sürüm 1.0.0-alpha04

1 Ekim 2020

androidx.compose.material:material:1.0.0-alpha04, androidx.compose.material:material-icons-core:1.0.0-alpha04 ve androidx.compose.material:material-icons-extended:1.0.0-alpha04 serbest bırakıldı. 1.0.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Durumu yükseltmeye ve durumu okumaya / kontrol etmeye olanak tanımak için durum bilgili Materyal bileşenlerinde EngagementState parametrelerini gösterir. (Iaca5f, b/168025711, b/167164434)
  • Her bir durumda kullanılan renklerin tamamen özelleştirilmesinin yanı sıra isterseniz renklerin durumlar arasındaki animasyonunun değiştirilmesine olanak tanımak için RadioButton ve TriStateCheckbox üzerindeki *color parametrelerini değiştirir. Daha fazla bilgi için CheckboxConstants ve RadioButtonConstants'taki yeni animasyonluDefault* renk işlevlerine bakın. (I1c532)
  • preventBackdropState,BackdropScaffoldState'i hatırlamak için yeniden adlandırıldı ve animasyon saati için ek bir parametre ekledik. Parametre yeniden adlandırıldı BackdropScaffold'ün arka planScaffoldState'ini yalnızca scaffoldState'e ekleyin. Yeniden adlandırıldı BackdropConstanant'lar (Arka Plan Sabitleri) BackdropScaffoldConstants. (Ib644d)
  • Deneysel BottomSheetScaffold bileşeni eklendi. (Ie02f0, b/148996320)
  • Deneysel ModalBottomSheetLayout bileşeni eklendi. (Ic209e, b/148996320)
  • ButtonConstants/floatingActionButtonConstants.defaultAnimatedElevation adını defaultElevation olarak yeniden adlandırır ve artık AnimasyonDeğeri yerine bir Dp değeri döndürüyor. (I5f3ed)

Hata Düzeltmeleri

  • Çok sayıda Graphics API'si güncellendi
    • Ölçek ve rotasyon güncellendi dönüşüm API'lerini kullanarak tek bir Özeti temsil eden ofset parametresi koordinatı koordine etmeye çalışın x/y koordinatlarına ilişkin parametreler DrawScope ve DrawTransform
    • Rect.expandToInclude ve Rect.join kaldırıldı yöntemler
    • Yarıçap dokümanları oval ifadesi içerecek şekilde güncellendi eliptik bisiklete ek olarak
    • satır içi Yarıçapı genel kurucusu sınıfın doğrudan çağrılması değil, Yarıçap nesneleri şu şekilde örneklenmelidir: işlev kurucuları
    • topRight'ı sorgulamak için RoundRect API'ler kaldırıldı. bottomRight, bottomCenter vb.
    • Rect.shift desteği sonlandırıldı ve Rect.translate'ye geçiş yapıldı
    • roundRect.grow ve Rect.shrink API'leri kaldırıldı
    • RoundRect.outerRect paketinin adı Rect.boundingRect olarak yeniden adlandırıldı.
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect kaldırıldı ve Rect.isStadium yöntemlerinin yanı sıra
    • RoundRect.longestSide, RoundRect.maxDimension olarak yeniden adlandırıldı
    • roundRect.shortestSide, RoundRect.minDimension olarak yeniden adlandırıldı
    • RoundRect.center işlev yerine bir özellik olarak değiştirildi
    • Radius özelliklerini tüketecek şekilde RoundRect oluşturucu güncellendi x/y yarıçap değerleri için bağımsız parametreler yerine
    • Dikdörtgen olduğunu varsayan Boyut API'leri kaldırıldı. başlangıç noktası 0,0
    • Yarıçap'a yıkıcı bir API eklendi
    • Şuraya taşındı: mülkler
    • (I8f5c7, b/168762961)
  • Foundation.Box desteği sonlandırıldı. Lütfen bunun yerine Foundation.layout.Box'ı kullanın. (Ie5950, b/167680279)
  • Yığın, Box olarak yeniden adlandırıldı. Daha önce mevcut olan Box kullanımdan kaldırılarak, generate.foundation.layout içindeki yeni Box'a geçiş yapılacak. Yeni Box'ın davranışı, birden çok alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, bir Sütuna benzer davranışlarda bulunan önceki Box'tan farklıdır. (I94893, b/167680279)
  • Box dekorasyon parametreleri kullanımdan kaldırıldı. Kutunuzda süslemeler/dolgular olmasını istiyorsanız bunun yerine Değiştiriciler'i kullanın (Modifier.background, Değiştirici.gider, Değiştirici.Dolgu) (Ibae92, b/167680279)
  • Çok sayıda Graphics API'si güncellendi
    • Kapsamlı DrawScope API'leri güncellendi yöntemlerinin mevcut olduğunun yalnızca geri çağırma ve geri çağırma çağrıldıktan sonra kaldırılır
    • ClipPath dokümanları Yol değerine başvuracak şekilde güncellendi yerine yuvarlatılmış dikdörtgen
    • Sağ parametre için belgelerdeki boşluk sabitlendi ClipPath'de
    • DrawScope.drawCanvas,drawIntoCanvas ve boyut parametresi kaldırıldı
    • Inset yöntemindeki dx/dy parametreleri şu şekilde yeniden adlandırıldı: yatay ve dikey
    • Aynı 4 sınıra inset değeri
    • Inset yönteminde, aşağıdakileri gösteren dokümanlar kaldırıldı: bu ek, 4 tarafın tümüne uygulanır
    • Rect sınıfı için güncellenen dokümanlar
    • Rect parametrelerindeki yorumlar kdoc ile eşleşecek şekilde güncellendi stil
    • Rect.join ve Rect.expandToInclude kaldırıldı
    • Rect.translate(offset) ve için aşırı yük oluşturuldu desteği sonlandırılan Rect.shift
    • (If086a, b/167737376)
  • Düzen kapsamlarının içeriklerinin statik içe aktarılmasını önledik (ör. RowScope'ta alignWithSiblings). Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Sürüm 1.0.0-alpha03

16 Eylül 2020

androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 ve androidx.compose.material:material-icons-extended:1.0.0-alpha03 serbest bırakıldı. 1.0.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • BottomNavigationItem ürününün onSelect parametresini onClick (I91925, b/161809324) olarak yeniden adlandırır
  • BottomGezinmeItem ve Sekme'ye engagementState parametresini ekleyerek bu durumun kaldırılmasına ve bileşenin farklı durumlarda nasıl görüneceğini ayarlamanıza olanak tanır. (Ia3e9e, b/168025711)
  • Düğmelerden disabledBackgroundColor ve disabledContentColor parametrelerini kaldırır. Bunun yerine ButtonConstants içindeki yeni varsayılan renk işlevlerini kullanmanız gerekir. ContentColor / backgroundColor değerini zaten açık bir şekilde ayarlıyorsanız, bunun yerine bu varsayılan işlevleri kullanmanız ve hem etkin hem de devre dışı durumlarda rengin üzerine yazmamak için parametrelerin tümünü veya bazılarını özelleştirmeniz gerekir. (If9b52)
  • Metin alanının arka plan rengi, artık şeffaflık alfasını dolaylı olarak uygulamamaktadır. Bunun yerine, backgroundColor parametresiyle sağlanan herhangi bir renk doğrudan uygulanır. (Iecee9, b/167951441)
  • InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
  • resistanceFactorAtMin ve resistanceFactorAtMax parametreleri Modifier.swipeable parametresinde, tek bir direnç parametresi kullanılmıştır. SwipeableConstants uygulamasına yeni bir defaultResistanceConfig yöntemi eklendi. (I54238)
  • Button ve floatingActionButton için animasyonlu durum bilgili yükseltme desteği ekler. Yükseltme artık varsayılan ve basılmış durumlar arasında animasyon olarak gösterilir. Eyaletler arasındaki yüksekliği özelleştirmek için her durumda sabit bir Dp değeri ayarlamak yerine lütfen ButtonConstants.defaultAnimatedElevation() ve FloatingActionButtonConstants.defaultAnimatedElevation() kullanın. (I37925)
  • Etiket, TextField ve OutlinedTextField içinde (I267f6, b/162234081) isteğe bağlı bir parametre haline geldi

Hata Düzeltmeleri

  • onNode veya waitForIdle gibi genel test işlevleri artık desteği sonlandırıldı, lütfen aşağıda tanımlanan yeni benzerlerine geçin ComposeTestRule (I7f45a)
  • Bunu kullanan DpConstraints ve API'ler kullanımdan kaldırıldı. (I90cdb, b/167389835)
  • minwidth ve maxWidth (genişlik) parametreleri, min ve max olarak yeniden adlandırıldı. Tercih edilenGenişlikIn, yükseklikin, tercih edilen yükseklik için de aynı şekilde kullanılır. (I0e5e1, b/167389544)
  • İleri/geri kaydırma anlamsal işlemlerini kaldırın. Eklenen adımlar AccessibilityRangeInfo'nun (Ia47b0)
  • Yer çekimi kullanımları, düzen API'lerinde hizalama veya hizalama için tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • onNode ve ComposeTestRule'a diğer genel yöntemler şu şekilde eklendi: global olanların desteği sonlandırılacaktır. (Ieae36)
  • createAndroidComposeRule ve AndroidInputDispatcher, şuradan taşındı: androidx.ui.test.android - androidx.ui.test (Idef08, b/164060572)

Sürüm 1.0.0-alpha02

2 Eylül 2020

androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 ve androidx.compose.material:material-icons-extended:1.0.0-alpha02 serbest bırakıldı. 1.0.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Deneysel bir BackdropScaffold bileşeni eklendi. (Iad908)

Hata Düzeltmeleri

  • Matris4'ün yerini Matris aldı. Diğer tüm bölümler of vectormath paketi kaldırıldı. (Ibd665, b/160140398)

Sürüm 1.0.0-alpha01

26 Ağustos 2020

androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ve androidx.compose.material:material-icons-extended:1.0.0-alpha01 serbest bırakıldı. 1.0.0-alpha01 sürümü bu kaydetmeleri içerir.

Bilinen Sorun

= Bir malzemenin ilk karakteri TextField geri tuşu kullanılarak kaldırılamaz (b/165956313)

Sürüm 0.1.0-dev

Sürüm 0.1.0-dev17

19 Ağustos 2020

androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ve androidx.compose.material:material-icons-extended:0.1.0-dev17 serbest bırakıldı. Sürüm 0.1.0-dev17 bu kaydetmeleri içerir.

API Değişiklikleri

  • Daha önce kullanımdan kaldırılan RadioGroup ve RadioGroupItems öğelerini kaldırmıştır. Bunun yerine Row ve RadioBotton'u kullanın (I381b7, b/163806637)
  • TextField'den onFocusChanged geri çağırması kaldırıldı. Bunun yerine Modifier.focusObserver'ı kullanın. (I51089, b/161297615)
  • Değiştirici.drawBorder desteği sonlandırıldı. Bunun yerine Değiştirici.sınırı kullanın. Sınır veri sınıfı BorderStroke (I4257d, b/158160576) ile değiştirildi
  • ScrollableState'teki bazı özellikler yeniden adlandırıldı: slideTarget -> targetValue, Scrollİlerleme -> ilerleme, slideDirection -> girin. Kaydırılabilir Durumlar oluşturmak için hatırlamaSDELETEableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
  • Konumlandırma ve uygun sıraya alma özelliklerini içeren Snackbar desteği eklendi. Bu uygulamaya SnackbarHostState.showSnackbar askıya alma işlevi aracılığıyla erişebilirsiniz. Ayrıca:
    • SnackbarHost bileşenleri eklendi. Duruma göre Snackbar'ları barındırır ve atıştırmalık çubukları arasında geçişten sorumludur.
    • SnackbarHostState, atıştırmalık çubukları ve atıştırmalık barı ana makineleri üzerinde denetim sağlamak ve onu ScaffoldState'ten ayırmak için eklendi. bu duruma scaffoldState.snackbarHostState üzerinden de erişebilirsiniz.
    • Snackbar aşırı yüklemesi, cookiebarHostState ve cookiebars arasındaki ortak arayüzü desteklemek amacıyla eklenmiştir. (I79aaa)
  • Simge Düğmesi'ne etkin parametreyi ekler ve Simge ToggleDüğmesi'ndeki parametreleri yeniden sıralar (I0a941, b/161809385, b/161807956)
  • Dize tabanlı API'ye sahip ListItem sürümü kaldırıldı. Bunun yerine slot sürümünü kullanın. (Ib8f57, b/161804681)
  • Kullanımdan kaldırılan FilledTextField bileşeni kaldırıldı. Doldurulmuş metin alanının Materyal Tasarım uygulamasını almak için lütfen TextField'i kullanın. (I5e889)
  • AlertsDialog artık düğmeler için FlowRow'u kullanıyor (I00ec1, b/161809319, b/143682374)
  • direnç sağlar. [min/max]Değer parametreleri kaldırıldı. (I93d98)
  • DoğrusalProgressIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'daki dahili dolgu kaldırıldı. Değerler arasındaki ilerlemeyi canlandırırken varsayılan AnimationSpec olarak kullanılabilen yeni ProgressIndicatorConstants.DefaultProgressAnimationSpec öğesi eklendi (If38b5, b/161809914, b/161804677)
  • İsteğe bağlı paramvelocityThreshold, Değiştirici.sDELETEable öğesine eklendi. (I698ba)
  • bottomBarSize, fabSize ve diğerleri. Artık ScaffoldState'te kullanılamaz. Boyutunu öğrenmek istediğiniz bileşende bunun yerine Modifier.onPosition'u kullanın. contentColor ve Değiştirici pamatere'ler İskele'ye eklendi (Ic6f7b, b/161811485, b/157174382)
  • Diğer API'lerle tutarlılık sağlamak için Sekme'deki bazı parametreleri yeniden adlandırıp yeniden sıralar (Ia2d12, b/161807532)
  • TabRow'u TabRow ve ScrollableTabRow olarak böler ve TabRow'dan isWrapable'ı kaldırır. Ayrıca, ScrollableTabRow'da sekmelerden önce / sonra boş alanın kontrol edilmesine olanak tanıyan EdgePadding'i de sunar. (I583e8, b/161809544)
  • TabRow nesnesi kaldırıldı ve yerini TabConstants aldı. TabRow.TabPosition, üst düzeye (TabPosition) taşındı ve göstergeContainer indicator olarak yeniden adlandırıldı. Güncellenen API'nin ve varsayılanların nasıl kullanılacağı hakkında ayrıntılı bilgi için örneklere ve belgelere göz atın. (I54d45, b/161809544)
  • Değiştirici.sDELETEable dosyasındaki eşik parametresi değiştirildi; şimdi bir çift durum (T türü) alır ve bunlar arasındaki eşiği döndürür biçiminde olur. CloseThresholds parametresi eklendi Bir lambda olan slideToKapatma (Kapat Yönü) -> ThresholdConfig. (Ie1080)
  • Kaydırma çubuğu, ayrıntılı özelleştirme için daha fazla renk içerir (I73e64, b/161810475)
  • Kartın renk parametresi backgroundColor olarak yeniden adlandırıldı (I01fc1, b/161809546)
  • Snackbar artık özelleştirilebilir arka plan ve içerik renklerine sahip (I238f2, b/161804381)
  • değiştirici, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri, Çekmeceler'e eklendi (I23655, b/161804378)
  • state { ... } composable artık kullanımdan kaldırıldı ve daha net bir şekilde remember { mutableStateOf(...) } için yapılan uygunsuz çağrılar. Bu, genel API yüzeyini ve durum ile ilgili kavramların sayısını azaltır yönetimi ve sınıf için by mutableStateOf() kalıbıyla eşleşir izin verebilirsiniz. (Ia5727)
  • Düğmenin dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
  • Deneysel malzeme bileşeni slideTo Close olarak ekleyin. (I129e5)

Hata Düzeltmeleri

  • onChildPositioned ve OnChildPositionedModifier kaldırıldı. Geliştiriciler onPositioned ve OnPositionedModifier kullanmalıdır alt düzeninde kullanabilirsiniz. (I4522e, b/162109766)
  • SemanticsPropertyKey'e birleştirmePolitikası lambda eklendi. Bu özellik, BirleştirmeAllDescendants anlamında özel politika tanımlamak için kullanılır birleştiriliyor. Varsayılan politika, zaten varsa üst değer kullanılır alt değeri ifade eder. (Iaf6c4, b/161979921)
  • IntSize artık satır içi bir sınıftır (I2bf42)
  • PlacementScope.placeAbsolute(), PlacementScope.place(), önceki PlacementScope.place() ise PlacementScope.placeRelative() olarak yeniden adlandırıldı. Sonuç olarak, PlacementScope.place() yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmaz. Bunun yerine PlacementScope.placeRelative() kullanın. (I873ac, b/162916675)
  • içinde kullanımdan kaldırılan PxBound'lar Rect. Tüm kullanımlar güncellendi dikdörtgen ve eklenmiş PxBound uygun şekilde kullanımdan kaldırma/değiştirme ek açıklamalar taşıma. (I37038, b/162627058)
  • RRect, RoundRect olarak yeniden adlandırıldı adlandırma kalıplarına daha uygun olması için Benzer işlev kurucuları oluşturuldu RRect işlevine ve desteği sonlandırılan RRect işlevine oluşturucular (I5d325)

Sürüm 0.1.0-dev16

5 Ağustos 2020

androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 ve androidx.compose.material:material-icons-extended:0.1.0-dev16 serbest bırakıldı. Sürüm 0.1.0-dev16 bu kaydetmeleri içerir.

API Değişiklikleri

  • Renkler artık arayüz yerine son bir sınıftır. Özel bir uygulamayı genişletmek ve sağlamak yerine, özel tema nesneniz için yeni bir ortam oluşturmalı ve tema nesnesine, MaterialTheme'ın şirket içinde çalışmasına benzer şekilde bileşenlerinizdeki yeni ortam aracılığıyla erişmelisiniz. (Ibae84)
  • Malzeme renk sistemiyle daha iyi eşleme sağlamak ve ColorPalette'in "genel" olması konusundaki karışıklığı ortadan kaldırmak için ColorPalette Renkler olarak yeniden adlandırıldı tema oluşturma nesnesini ele alalım. Ayrıca, lightColorPalette ve darkColorPalette adında, sırasıyla openColors ve darkColors olarak yeniden adlar kullanılıyor. (I9e976, b/161812111)
  • BottomGezinme Öğesinin text parametresini label, onSelected değerini onSelect, activeColor olarak selectedContentColor, inactiveColor öğesini unselectedContentColor olarak yeniden adlandırır ve parametre sıralamasını, yönergelere uyacak şekilde günceller. (Icb605, b/161809324)
  • Modifier.stateDraggable tamamen yeniden işlendi ve yeniden adlandırıldı Değiştirici.sDELETEable olarak değiştirin. Yeni bir ScrollableState sınıfı kullanıma sunuldu ve DrawerState ve BottomDrawerState öğeleri buradan devralınacak şekilde yeniden düzenlendi. [Modal/Bottom]DrawerLayout artık onStateChange parametresi almamaktadır. (I72332, b/148023068)
  • Foundation.shape.corner paketi, Foundation.share olarak düzleştirilmiştir (I46491, b/161887429)
  • ExperimentalMaterialApi ek açıklaması eklendi. Deneysel olarak işaretlenen Dalga Teması (Ic5fa0, b/161784800)
  • Material FilledTextField, TextField olarak yeniden adlandırıldı ve temel TextField, istenen en basit API'nin kolayca keşfedilmesi ve kullanılması için BaseTextField olarak yeniden adlandırıldı (Ia6242, b/155482676)

Hata Düzeltmeleri

  • OnChildPositioned desteği sonlandırıldı. Yerleştirilmiş'i kullan çocuğu kabul edebilir. (I87f95, b/162109766)
  • Genel API düzeltmelerini ele alma (I077bc)
    1. Kullanılmayan OffsetBase arayüzünü kaldırın
    2. Offset ve IntOffset sınıflarını tutarlı bir API yüzeyi
    3. IntOffset.Origin değerini IntOffset.Zero olarak yeniden adlandırın ofset API ile tutarlı olmasını sağlayın
    4. NativeCanvas yöntemi Canvas'tan taşındı oluşturmalarını sağlayan bir arayüze sahip. kendi Canvas örnekleri
    5. Yeniden düzenlemek için BlankCanvas saplama sınıfı oluşturuldu DrawScope alanının lateinit ve alanın null olmadığından emin olun
    6. ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı
    7. Filtre Kalitesi enum'ları Pascal Case olarak yeniden adlandırıldı
    8. StrokeJoin enum'ları Pascal Case olarak yeniden adlandırıldı
    9. PointMode enum'ları Pascal Case olarak yeniden adlandırıldı
    10. PaintingStyle enum'ları Pascal Case olarak yeniden adlandırıldı
    11. PathFillType sıralamaları, Pascal Case olarak yeniden adlandırıldı
    12. StrokeCap enum'ları Pascal Case olarak yeniden adlandırıldı
    13. DrawCache uygulaması artık kullanılamayacak şekilde güncellendi lateinit parametrelerini kullan
    14. DrawScope artık geç yetkilendirme kullanmayacak şekilde güncellendi fillPaint ve walkPaint dahili parametreleri için
    15. Box kullanımını önlemek için composable adlı resim güncellendi (daha az ek yük için)
    16. Outline sınıfı, @Sabit ek açıklamaları içerecek şekilde güncellendi
    17. PathNode, her yol talimatı
    18. Gereksiz öğeleri kaldırmak için vektör alt bileşimi güncellendi oluşturma işlemi zaten işlendiği için eşitlik için koşullu kontroller onlar
    19. Desteği sonlandırılmış Rect tamamlayıcı oluşturucu yöntemleri lehine işlev kurucuları
    20. Fırça sınıfları ve işlev oluşturucuları şununla güncellendi: @Sabit ve @Kararlı API'ler
    21. VertexMode sıralaması PascalCase olarak güncellendi
    22. DrawScope selectPaint yöntemi koşullu olarak güncellendi fırça parametrelerinin üzerine yazıldıysa değişti
    23. Yapıyı bozan API eklemek için Boyut güncellendi, yeniden adlandır BelirtilmemişSize ile Belirtilmemiş ve kullanılmayan yöntemler kaldırıldı
  • İletişim kutusunu kullanıcı arayüzüne taşı (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture kaldırıldı. Tekliflerinizi otomatikleştirmek ve optimize etmek için Bunun yerine SemanticsNodeInteraction.performGesture. (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot() adlı dosya şu şekilde yeniden adlandırıldı: SemanticsNodeInteraction.getUnclippedBoundsInRoot() (Icafdf, b/161336532)
  • Sağdan sola destek API'leri güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilecek LayoutDirectionAmbient özelliği eklendi. Değiştirici.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • Değiştirici.deternimateProgress, Değiştirici.progressSemantics (I9c0b4) olarak yeniden adlandırıldı
  • Material.io/icons'a eklenen en son simgelerle genişletilmiş materyal-simgelerini günceller (I4b1d3)
  • T türünün açıkça belirtilmesini gerektir API'yi kullanabilirsiniz. (Beğendim)
  • Değiştirici.plus desteği sonlandırıldı. Bunun yerine Değiştirici.then'i kullanın. "O zaman" daha güçlü bir sipariş sinyaline sahiptir ancak Modifier.padding().background() + anotherModifier yazılmasını yasaklayarak zinciri bozar ve okunması daha zor olur (Iedd58, b/161529964)
  • AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
  • isFocused() ve isNotFocused() SemanticsMatcher işlevini ekleyin. (I0b760)
  • BaseGestureScope.globalBounds kaldırıldı, bu sayı olmamalıdır veriler kullanılır. Bulunduğunuz düğümün yerel koordinatlarını kullanın etkileşim kurun. (Ie9b08)
  • Kesik ekranlardaki pop-up konumu sabitlendi. (Idd7dd)
  • Değiştirici.drawbackground, Değiştirici.background (I13677) olarak yeniden adlandırıldı

Sürüm 0.1.0-dev15

22 Temmuz 2020

androidx.compose.material:material:0.1.0-dev15, androidx.compose.material:material-icons-core:0.1.0-dev15 ve androidx.compose.material:material-icons-extended:0.1.0-dev15 serbest bırakıldı. Sürüm 0.1.0-dev15 bu kaydetmeleri içerir.

Bağımlılık Güncellemesi

  • Compose'un 0.1.0-dev15 sürümünü kullanmak için bağımlılıklarınızı güncellemeniz gerekir. yukarıdaki Bağımlılıkları bildirme bölümünde gösterilen yeni kod snippet'lerine göre.

API Değişiklikleri

  • @Model ek açıklaması artık kullanımdan kaldırıldı. Alternatif olarak state ve mutableStateOf kullanın. Bu kullanımdan kaldırma kararı, titizlikle konuştuktan sonra alındı.

    Gerekçe

    Gerekçe aşağıdakileri kapsar ancak bunlarla sınırlı değildir:

    • API yüzey alanını ve öğretmemiz gereken kavramları azaltır
    • Diğer benzer araç setleriyle (Swift UI, React, Flutter) daha uyumlu
    • Geri alınabilir karar. @Model adlı kullanıcıyı daha sonra istediğiniz zaman geri getirebiliriz.
    • Köşe temelli durum kullanımını ve @Model hizmetini yürütmemiz gereken şeyler olarak yapılandırmayla ilgili cevaplanması zor soruları ortadan kaldırır.
    • @Model veri sınıfı, eşittir, karma kodu vb.
    • Bazı özelliklerim nasıl "gözlemlenir", bazıları ise nasıl görünmez?
    • Gözlemde kullanılacak yapısal ve referans eşitliği nasıl belirtebilirim?
    • Sistemdeki "sihri" azaltır. Birinin, sistemin olduğundan daha akıllı olduğunu varsayma (yani listeyi nasıl farklılaştıracağını bildiği) düşünme olasılığını azaltır
    • Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
    • Değişkenden yeniden yapılandırılabilirliği iyileştirir -> sınıftaki mülk
    • Duruma özel manuel optimizasyonlar yapma potansiyeli
    • Ekosistemin geri kalanıyla daha iyi uyum sağlar ve değişmez veya "değişebilir durumu benimsememiz" konusundaki belirsizliği azaltır

    Taşıma Notları

    @Model ürününün mevcut kullanımlarının neredeyse tamamı, iki yöntemden biriyle oldukça sıra dışı bir şekilde dönüştürülür. Aşağıdaki örnekte, yalnızca örnek vermek amacıyla iki özellik içeren bir @Model sınıfı yer almaktadır. Bu sınıf, bir composable'da kullanılıyordur.

    @Model class Position(
     var x: Int,
     var y: Int
    )
    
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    1. Alternatif: State<OriginalClass> uygulamasını kullanarak kopya oluşturun.

    Bu yaklaşım, Kotlin'in veri sınıfları ile kolaylaştırıldı. Esasen, önceki tüm var mülklerini bir veri sınıfının val mülkleri haline getirin, ardından remember yerine state kullanın ve copy(...) veri sınıfı kolaylık yöntemini kullanarak orijinal öğenin klonlanmış kopyalarına durum değerini atayın.

    Bu yaklaşımın yalnızca söz konusu sınıfta yapılan tek mutasyonlar State örneğinin oluşturulduğu kapsamda yapıldığında işe yarayacağını unutmayın. Sınıf, kendi içinde kullanım kapsamı dışında değişiyorsa ve bunun gözlemlenmesine güveniyorsanız kullanmak isteyeceğiniz bir sonraki yaklaşım olacaktır.

    data class Position(
     val x: Int,
     val y: Int
    )
    
    @Composable fun Example() {
     var p by state { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p = p.copy(x=it) }
       onYChange={ p = p.copy(y=it) }
     )
    }
    

    Alternatif 2: mutableStateOf ve mülk yetkilerini kullanın

    Bu yaklaşım, Kotlin'in mülk için yetki verilmiş kullanıcı özellikleri ve bileşim dışında MutableState örnekleri oluşturmanıza olanak tanıyan mutableStateOf API'si ile kolaylaştırılmıştır. Esasen, orijinal sınıfın tüm var özelliklerini var mülkleriyle değiştirin ve mülk temsilcisi olarak mutableStateOf kullanın. Bu, sınıfın kullanımında herhangi bir değişikliğe yol açmayacak, yalnızca dahili olarak uygulanması avantajına sahiptir. Ancak davranış orijinal örnekle tamamen aynı değildir. Çünkü artık her bir mülk ayrı ayrı gözlemlenebilir/abonedir. Bu nedenle, bu yeniden düzenlemeden sonra göreceğiniz yeniden besteler daha dar olabilir (bu iyi bir şeydir).

    class Position(x: Int, y: Int) {
     var x by mutableStateOf(x)
     var y by mutableStateOf(y)
    }
    
    // source of Example is identical to original
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/164}9243

  • Metin alanlarında onFocusChange geri çağırması onFocusChanged olarak (Ida4a1)

  • Eşikleri belirtmek için stateDraggable'a eşik parametresi eklendi belirlemektir. Bu, alt çekmecede 56 dp eşik ayarlamak için kullanıldı. Ayrıca, BottomDrawerLayout artık ayrı bir BottomDrawerState sıralaması kullanmaktadır. (I533fa)

  • Kullanımdan kaldırılmış olan Değiştirici.ripple kaldırılır. Tıklanabilirlik, artık varsayılan gösterge olarak ripple'ı (uygulamanızda ayarlanmış bir MaterialTheme {} öğesi varsa) kullanıyor. Çoğu durumda, sadece tıklanabilir ve ücretsiz olarak dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekirse manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu, gösterge parametresi olarak tıklanabilir hale geçirebilirsiniz. (I663b2, b/155375067)

  • FilledTextField composable'ın desteği sonlandırılmış geçersiz kılması (I7f8f8) kaldırıldı

  • Düğme nesnesini (Button işlevi tarafından kullanılan varsayılanları içerir) ButtonConstants (I7c5f7, b/159687878) olarak yeniden adlandırın

  • Düğmenin içerik alanı artık Satır olarak davranıyor (metin içeren bir simgeniz olması gerektiğinde kullanışlıdır, Düğme nasıl yazılacağıyla ilgili örneklere bakın) (I0ff10, b/158677863)

  • RadioGroup ve RadioGroupItem desteği sonlandırıldı. Tasarımınıza göre radyo düğmesi seçimlerini doğru şekilde yapmak için Box'ı Değiştirici.selectable, Row ve Column ile birlikte kullanın (I7f5cf, b/149528535)

  • Malzeme Dış Çizgili Metin Alanı Eklendi (I1a518)

  • androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Metin Alanı bu tür için de destek sonlandırılmıştır. Lütfen şunu kullanın: Bunun yerine androidx.ui.input.TextFieldValue (I4066d, b/155211005)

  • TabRow.TabPosition, Dp'de konum içermiyor, IntPx'te değil (I34a07, b/158577776)

  • IntPx kullanımı, Int. IntPxPosition değiştirildi test edebilirsiniz. IntPxSize, IntSize olarak değiştirildi. (Ib7b44)

  • temsil etmek için kullanılan sınıf sayısı beden bilgileri, standart boyut sınıfının kullanımına ilişkin boyutundaki gibi. Bunun sonucunda uzun bir satır içi sınıfın temsil edecek şekilde 2 kayan değer genişlik ve yükseklik kayan öğe olarak gösterilir. (Ic0191)

  • Değiştirici.ripple kullanımdan kaldırıldı. Tıklanabilirlik, artık varsayılan gösterge olarak ripple'ı (uygulamanızda ayarlanmış bir MaterialTheme {} öğesi varsa) kullanıyor. Çoğu durumda, sadece tıklanabilir ve ücretsiz olarak dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekirse manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu, gösterge parametresi olarak tıklanabilir hale geçirebilirsiniz. (I101cd, b/155375067)

  • Scaffold API'si yeniden düzenlendi: Birkaç parametrenin adı değiştirildi, daha iyi özelleştirme için yeni parametreler eklendi. Fab, TopBar ve BottomBar (I0e7ce) sorgu boyutlarına alıcı eklendi

  • ui-material öğesine DropdownMenü bileşeni, bir Materyal Tasarım menü uygulaması eklendi. (I9bb3d)

  • Yazılım klavyesinin manuel olarak gösterilmesine/gizlenmesine izin ver (Ifb9d6, b/155427736)

  • Değiştirici.indication, temel paketine eklendi. Özel etkileşimli öğelerinizde (I8425f, b/155287131) bas/sürükle/diğer göstergelerini göstermek için kullanın

  • Birleştirilmiş CanvasScope uygulamaları Yani artık yalnızca DrawScope ve ContentDrawScope CanvasScope, DrawScope olarak yeniden adlandırıldı. Yoğunluğu uygulamak için DrawScope güncellendi arayüz oluşturun ve LayoutDirection'ı sağlayın ContentDrawScope'taki DrawScope alt sınıfı silindi Painter ve PainterModifier güncellendi artık bir RTL mülkünü tutmamak için zaten DrawScope tarafından manuel olarak sağlamadan (I1798e)

  • Emphasis.highlight(), Emphasis.applyEmphasis() (Iceebe) adını veriyor.

  • Devre dışı bırakılan düğmeler artık Materyal Tasarım spesifikasyonuna (I47dcb, b/155076924) uygun.

  • FilledTextField, eylem işlemi, görsel dönüşüm ve klavye türü desteği sağlıyor (I1f9cf, b/155075201)

  • Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a vuruş Genişliği parametresini ekler. Bir DoğrusalProgressIndicator çizgi boyutunu (yüksekliği) değiştirmek için Modifier.PreferenceHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)

  • Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a vuruş Genişliği parametresini ekler. Bir DoğrusalProgressIndicator çizgi boyutunu (yüksekliği) değiştirmek için Modifier.PreferenceHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)

  • FilledTextField alanının sondaki ve başındaki simgelerin kullanımı ve hata durumunun işlenmesi için alan API'si eklendi (Ic12e0)

  • FAB ve Genişletilmiş FAB'ın varsayılan rengi MaterialTheme.colors.secondary olarak değiştirildi. (I3b9b9, b/154118816)

  • API'deki tüm null renk kullanımları şununla değiştirildi: null değildir ve null yerine Color.Unset kullanılır (Iabaa7)

  • EdgeInset'ler InnerPadding olarak yeniden adlandırıldı. Material Buttons'ın innerPadding parametresi, yatay kaydırma olarak yeniden adlandırıldı. (I66165)

  • Slider artık durum bilgisiz. Kullanıcıların, diğer kontrollerde olduğu gibi durumu kendi kendilerine aktarması ve güncellemesi gerekir. (Ia00aa)

  • StaticDrawer kaldırıldı. İhtiyacınız varsa bunun yerine, Box'ı malzeme teknik özelliği genişliğe sahip bir genişliğe sahip kullanın (I244a7)

  • Doldurulmuş Metin Alanı için Materyal Tasarım uygulaması eklendi (Ic75cd)

  • Değiştirici parametre, ListItem'e eklendi ve parametreler şuna yeniden sıralandı: sondaki lambda gövdesini tanıtma (I66e21)

  • Tipografi'ye defaultFontFamily kurucu parametresi ekleyerek aile grubu bulunmayan sağlanan TextStyles için kullanılacak varsayılan yazı tipi ailesinin belirtilmesini sağlar. (I89d07)

  • Materyal Veri Tabloları, API yüzeyinden geçici olarak kaldırıldı. (Iaea61)

  • Divider composable'da yeniden adlandırılmış parametreler (Ic4373)

  • çocuklar (Ia6d19)

  • MaterialTheme.emphasisLevels öğesini kaldırır. Bunun yerine, vurgu düzeylerini almak için EmphasisAmbient.current öğesini kullanın (Ib5e40)

  • Şekil teması oluşturma sistemi, Materyal tasarım spesifikasyonuna göre güncellendi. Artık bileşenlerin çoğu (Ifb4d1) tarafından kullanılacak küçük, orta ve büyük şekiller sağlayabilirsiniz.

  • MaterialTheme.colors(), MaterialTheme.typography() gibi MaterialTheme API'leri işlev yerine özellikler olacak şekilde değiştirildi. Mevcut aramalardaki parantezleri kaldırın. Davranışta herhangi bir değişiklik beklenmemektedir. (I3565a)

  • Composable'ı kabul etmek için floatingActionButton API'leri yeniden düzenlendi lambda kullanmayı tercih ettik. Kullanım için güncellenmiş örneklere göz atın ekleyebilirsiniz. (I00622)

  • Onay Kutusu, Değiştir ve Geçiş Yapılabilir özelliğine (I41c16) enabled parametresi ekle

  • Ripple artık bir Değiştirici oldu. Tıklanabilirlik henüz dönüştürülmemiş olsa da önerilen kullanım Clickable(onClick = { ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763) şeklindedir.

  • Surface ve Card, androidx.ui.material.surface yerine androidx.ui.material öğesine taşındı (I88a6d, b/150863888)

  • Button, floatingActionButton ve Clickable artık ayrı bir enabled parametresine sahip. Button'daki parametrelerden bazıları yeniden adlandırıldı veya yeniden sıralandı. (I54b5a)

  • Resim verileri ile düzene katkıda bulunmak ve içerik çizmek için kullanılan yeni Image composable arasındaki farkı daha iyi ayırt etmek için Resim, ImageAsset olarak yeniden adlandırıldı. _Body:android.graphics.Bitmap'te uzantı yöntemi oluşturuldu. Bitmap.asImageAsset(), Geleneksel Android'i birleştirmede yararlı ImageAsset oluşturma çerçevesi (Id5bbd) ile uygulama geliştirme

  • String parametreleri içeren Snackbar API'si kaldırıldı ve buna örnek gösterilebilir. Şununla ilgili güncellenen örneklere bakın: kullanım bilgileri (I55f80)

  • Sekme API'leri text ve icon lambda'ları kabul edecek şekilde yeniden düzenlendi (Ia057e)

  • BottomGezinme bileşeni eklendi, şuna ilişkin dokümanlara ve örneklere: kullanım bilgileri (I731a0)

  • Simge, iconButton ve iconToggleButton eklendi, AppBarIcon kaldırıldı. Mevcut AppBarIcon kullanımlarını doğrudan iconButton, Böylece doğru dokunma hedefine sahip olurlar. Şuna ait örneklere bakın: görebilir ve sağlanan Malzeme Simgeleriyle ilgili Simgeler'e göz atabilirsiniz. bu bileşenleri doğrudan kullanabilirsiniz. (I96849)

  • ButtonStyle, farklı işlevlerle değiştirildi ve metin (dize) aşırı yüklemesi kaldırıldı. Kullanım bilgileri için güncellenmiş örneklere göz atın. (If63ab, b/146478620, b/146482131)

  • Border değiştiricisini DrawBorder olarak yeniden adlandırın (I8ffcc)

  • Düzen Koordinatları artık konum özelliğine sahip değildir. İlgili içeriği oluşturmak için kullanılan LayoutModifiers göz önüne alındığında konum özelliği bir anlam ifade etmez. döndürme veya ölçeklendirme. Geliştiriciler bunun yerine, ve bottomToLocal() alt öğelerini kullanın. Düzen Koordinatörü.

    Layoutords, boyut özelliği için PxSize'a dokunun. Düzenler, düzenler için tam sayı piksel boyutları kullanır, bu nedenle tüm düzen boyutları tamsayılar kullanılmalıdır. Kayan nokta değerleri kabul edilmez. (I9367b)

  • Ambiyans API'sinde büyük değişiklikler yapılıyor. Ayrıntılar için günlüğe ve Ambient<T> dokümanlarına bakın (I4c7ee, b/143769776)

  • Yapı iskelesi malzemesi bileşeni eklendi. Yapı iskelesi uygulamaları (I7731b)

  • DrawBorder yerine Sınır Değiştirici'nin (Id335a) kullanılması

Hata Düzeltmeleri

  • FocusModifier; Değiştirici.focus, Modifier.focusRequester, Modifier.focusObserver'ın yerini alması için kullanımdan kaldırılmıştır. FocusState ve FocusAyrıntılıState kullanımdan kaldırılarak, FocusState2'nin kullanılması (I46919, b/160822875, b/160922136)
  • Vertical Scroller ve Horiziontal Scroller desteği sonlandırıldı. Column/Row davranışı ve parametreleriyle yerleşik deneyim için ScrollableColumn ve ScrollableRow'u ya da kendi öğenizde Değiştirici.verticalKaydırma ve Modifier.Yatay Kaydırma'yı kullanın. Benzer şekilde, ScrollerPosition desteği sonlandırılarak ScrollState' (I400ce, b/157225838, b/149460415, b/154105299)
  • Değiştirici.draggable ve Modifier.scrollable API'leri yeniden işlendi. DragDirection, Yön'ü destekleyecek şekilde kaldırıldı. Kaydırılabilir öğe için gereken durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
  • runOnIdleCompose, runOnIdle (I83607) olarak yeniden adlandırıldı
  • Tek değerli anlamsal özellikler artık bir çağrı stili kullanır. Örneğin, "anlamsal {gizli = doğru }" artık şu şekilde yazılır: "anlamsal {gizli() }". (Ic1afd, b/145951226, b/145955412)
  • Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. Tümü findXYZ API'leri, onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri şu şekilde yeniden adlandırıldı: performansXYZ. (I7f164)
  • Transition API, yeni bir sürüm döndürecek şekilde değiştirildi TransitionState'i iletmek yerine TransitionState anlayabiliyoruz. Bu, API'nin animasyonlu() API'lerini kullanabilirsiniz. (I24e38)
  • Düzenden tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider API'sı bunu kullanacak şekilde güncellendi. (I0d8d0, b/159596546)
  • Test bulanlara isteğe bağlı yeni bir useUnmergedTree işareti eklendi. (I2ce48)
  • Eski boyut testi API'leri kaldırıldı. (Iba0a0)
  • Şu özelliklere sahip Gölgelendirici satır içi sınıfı kaldırıldı: NativeShader bekleme sınıfını sarmaladı NativeShader'ın adı Gölgelendirici olarak değiştirildi. Sarmalanmış Gölgelendirici satır içi sınıfı API yüzeyine değerli hiçbir şey eklememelidir satır içi bir sınıf olduğu için NativeShader'ı kullanabilirsiniz. (I25e4d)
  • Pop-up'lar, iletişim kutuları ve menüler artık içeriğe dayalı MaterialTema'yı (Ia3665, b/156527485) devralıyor
  • Material DropdownMenü artık kaydırılabilir. (Ide699)
  • Layout() işlevinin ölçüm bloğundan düzen yönü parametresi kaldırıldı. Bununla birlikte düzen yönü, ölçüm kapsamı nesnesi (Ic7d9d) ile geri çağırma içinde kullanılabilir
  • Üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullan statik animasyon spesifikasyonu kavramını netleştirmek için -Şunun için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin: tween, spring gibi AnimationSpecs değerleri oluşturun. Bunun yerine oluşturabilirsiniz. - AnimationSpec uygulamasının açılış sayfası daha kolay tasarımcılara güvenmek yerine kurucular -KeyFrame'ler ve Tween (Tween) için süreyi ve gecikmeyi Int olarak değiştirin. Bu gereksiz tür yayınları ve yöntemin aşırı yüklenmesini ortadan kaldırır ( hem Long hem de Int desteklenir). (Ica0b4)
  • enabled yanlış değerine ayarlandığında anahtar artık devre dışı durumda görünüyor (If4624, b/155941869, b/159331694)
  • Değiştirici.tag, Modifier.testTag ile karışmasını önlemek için Değiştirici.layoutId olarak yeniden adlandırıldı. (I995f0)
  • Placeable#get(alignmentLine)'dan döndürülen hizalama satırı Int konumları artık null değildir. Sorgulanan hizalama satırı eksikse HizalamaÇizgisi.Belirtilmemiş döndürülür. (I896c5, b/158134875)
  • Yarıçap sınıfı şu şekilde yeniden düzenlendi: satır içi sınıf. Tamamlayıcı oluşturma kaldırıldı fonksiyon oluşturucunun lehine olan yöntemler yarıçapa sahip olacak şekilde varsayılan parametre ile zorunlu olan y eksenindeki çizgiyle aynı olan X ekseni yarıçap parametresidir.

    Kullanılacak DrawScope.drawroundRect değeri güncellendi 2 ayrı yerine tek bir Yarıçap parametresi x ve y boyunca yarıçap için kayan noktalı değerler eksen (I46d1b)

  • temsil etmek için kullanılan sınıf sayısı konumlandırma bilgisi, standart bunun yerine Offset sınıfının kullanımında PxPosition'tur. Bunun sonucunda uzun bir satır içi sınıfın x'i temsil edecek şekilde 2 kayan noktalı değeri paketlemek ve y ofsetleri kayan noktalı olarak gösterilir. (I3ad98)

  • Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve temel türleri tanımlar. Px sınıfı tamamen silindi (I3ff33)

  • Geçiş yapılabilir bileşen kullanımdan kaldırıldı. Bunun yerine Değiştirici.toggleable'ı kullanın (I35220, b/157642842)

  • Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (I086f4)

  • Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (Id3434)

  • Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (I97a5a)

  • Dropdon MenuItems için onClick'in çağrılmaması sorunu düzeltildi. (I3998b, b/157673259)

  • MutuallyÖzelSetItem desteği sonlandırıldı. Bunun yerine Değiştirici.selectable'ı kullanın. (I02b47, b/157642842)

  • TestTag'in desteği sonlandırıldı. Bunun yerine Değiştirici.testTag'i kullanın. (If5110, b/157173105)

  • TextField'in imlecinde yanıp sönen bir animasyon var (Id10a7)

  • Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (I19d02)

  • Dikey Kaydırma aracı, artık kullanıma hazır bir Sütun sağlıyor. HorizontalKaydırıcı artık Row'u kullanıma hazır olarak sunuyor. (Ieca5d, b/157020670)

  • Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (Iede0b)

  • Değiştirici.semantik özelliği, üst düzey bileşenlerin kullanımına izin vermek için kullanımdan kaldırıldı. (I4cfdc)

  • DrawKatman değiştiricileri api'si değiştirildi: outlineShape, şekil olarak yeniden adlandırıldı ve RectangleShape varsayılan değerine sahip ve artık null değil; ClipToOutline, klip olarak yeniden adlandırıldı; Klip == true ile aynı olduğu için RectangleShape ile aynı olan klip == true etiketi kaldırıldı (I7ef11, b/155075735)

  • Daha üst düzey güncellendi oluşturma API'lerini kullanarak bir Tuval'in CanvasScope'u açın. Bu işlem, koruma ve yönetim ihtiyaçlarının Paint nesnelerini ekleyebilirsiniz. Şu özelliklere sahip tüketiciler için: bir Canvas'a erişim gerektirmesi çizim Tuvali uzantısını kullanabilir Bu yöntem, soruna geri çağırma temel çizgisini gösteren çizim komutlarını Kanvas. (I80afd)

  • AdjustLineOffset composable kullanımdan kaldırıldı. Lütfen bunun yerine göreliPaddingFrom() değiştiricisini kullanın. CenterHimentLine composable kaldırıldı. (I60107)

  • WithConstraints takip eden lambda API değiştirildi. Artık iki parametre yerine, sınırlamalara ve layoutDirection'a ek olarak, Dp'de (I91b9a, b/149979702) minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlayan

  • Yalnızca gelen karşılık gelen kısıtlamalar belirtilmediğinde sarmalanmış düzene boyut kısıtlamaları ayarlayan defaultMinSizeConstraints düzen değiştiricisi (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuzluk). (I311ea, b/150460257)

  • FocusManagerAmbient kaldırıldı. Odağı elde etmek için FocusModifier.requestFocus işlevini kullanın. (Ic4826)

  • Şunu sarmalayan CanvasScope API oluşturuldu: Durum bilgisiz, bildirimsel bir öğeyi gösterecek Canvas nesnesi çizim API yüzeyini tıklayın. Dönüşümler yer alır alıcı kapsamlarında ve beden bilgilerinde karşılık gelen inset sınırlarının da kapsamındadır. Bir tüketicinin kendi Paint durumunu korumasına gerek yoktur nesnesini ifade eder.

    CanvasScopeSample ve demo uygulamasını bildirime dayalı bir grafik içerecek şekilde güncelledi demo (Ifd86d)

  • Metin alanına imleç rengini özelleştirme (I6e33f) ekleme

  • TextField ile kullanılan TextFieldValue, artık şu şekilde kullanıldığında etkinlik yeniden oluşturma işleminden sonra geçerli olabilir: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • LayoutModifier2, LayoutModifier olarak yeniden adlandırıldı. (Id29f3)

  • Kullanımdan kaldırılan LayoutModifier arayüzü kaldırıldı. (I2a9d6)

  • CoreTextField/TextFieldFocusIdentifier değiştirildi parametresini FocusNode ile entegre etmek için kullanabilirsiniz. (I7ea48)

  • Layout ve LayoutModifier2 üzerindeki içsel ölçüm işlevlerinde, artık örtülü olarak yayılan düzen yönüyle intrinsics sorgu API'si sağlayan bir IntrinsicMeasureScope alıcısı bulunuyor. (Id9945)

  • Aynı üst düzen içinde alt öğelerin çizim sırasını kontrol etmek için yeni Değiştirici.zIndex() eklendi. DrawKatmanModifier'daki yükselti özelliği shadowElevation olarak yeniden adlandırılır ve artık çizim sırasını kontrol etmez. DrawShadow parametre sıralaması değiştirildi: Yükseklik artık ilk sırada, şekil ise RectangleShape varsayılanıyla ikinci sırada. (I20150, b/152417501)

  • RectangleShape, androidx.ui.foundation.shape.* konumundan androidx.ui.graphics* konumuna taşındı. (Ia74d5, b/154507984)

  • TextField API güncellemesi: onFocus ve onBlur geri çağırmaları, (I66cd3) parametresiyle tek bir onFocusChange (Boolean) geri çağırması olarak birleştirildi

  • Sırasıyla Satır ve Sütun sütununa verticalGravity ve landscapeGravity parametreleri eklendi. (I7dc5a)

  • WrapContentWidth ve WrapContentHeight, herhangi bir Hizalama yerine dikey veya yatay Hizalama beklenecek şekilde güncellendi. Yer çekimi değiştiricisi, dikey veya yatay Hizalamayı kabul edecek şekilde güncellendi. Satır, Sütun ve Yığın, özel sürekli Hizalamaları destekleyecek şekilde güncellendi. (Ib0728)

  • Desteklemek için PixelMap API oluşturuldu ImageAsset'teki piksel bilgilerini sorgulamak için kullanabilirsiniz. (I69ad6)

  • OfferContentColor'ı kaldırır. Bunun yerine ContentColorAmbient'i doğrudan Providers (Iee942) ile kullanmanız yeterlidir.

  • ui-text-compose modülünün adı ui-text olarak değiştirildi. arayüz-metin artık CoreText ve CoreTextField composable'larını içeriyor (Ib7d47)

  • ui-text modülü, ui-text-core (I57dec) olarak yeniden adlandırıldı

  • ui-framework/CoreText, CoreTextField composable'ları altına taşındı ui-text-compose. URL'nize ui-text-compose adresini belirler. (I32042)

  • DrawModifier API'sini iyileştirin:

    • Paint() ContentDrawScope için alıcı kapsamı oluşturuldu
    • Çizimler() işlevindeki tüm parametreler kaldırıldı
    • DrawScope, eski CanvasScope ile aynı arayüze sahiptir
    • ContentDrawScopedrawContent() yöntemini içerir (Ibaced, b/152919067)
  • runOnIdleCompose ve runOnUiThread artık genel işlevler oldu ComposeTestRule'daki yöntemlerdir. (Icbe8f)

  • [Mutable]Eyalet mülk yetkisi operatörleri uzantılara taşındı . Arayanlar eklemelidir içe aktarmaları için by state { ... } veya by mutableStateOf(...) kullanmaya devam edebilirsiniz. (I5312c)

  • LayoutKoordinatlar içinpositionInParent ve boundsInParent eklendi. (Icacdd, b/152735784)

  • ColoredRect desteği sonlandırıldı. Bunun yerine Box(Modifier.PreferenceSize(width, height).drawBackground(color)) yöntemini kullanın. (I499fa, b/152753731)

  • LayoutResult, MeasureResult olarak yeniden adlandırıldı. (Id8c68)

  • Düzen değiştiricileri tanımlamaya yönelik yeni bir API olan LayoutModifier2 eklendi; desteği sonlandırılan LayoutModifier (If32ac)

  • Değiştirici artı operatörü, fabrika genişletme işlevleriyle değiştirildi (I225e4)

  • Sürüklenebilir, değiştiriciye taşındı (Id9b16, b/151959544)

  • ParentData composable desteği sonlandırıldı. Ya ParentDataModifier arayüzünü uygulayan bir değiştirici olmalı ya da düzen alt öğelerini ölçüm bloğunda tanımak için sadece düzen alt öğelerini etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmalısınız. (I51368, b/150953183)

  • Desteği sonlandırılmış Center composable. Bunun yerine LayoutSize.Fill + Layouturl.Center değiştiricisiyle veya uygun değiştiricilerin uygulandığı Box ya da Stack composable'larından biriyle değiştirilmelidir (Idf5e0).

  • VectorPainter API, şuraya eklendi: mevcut alt beste API'sini değiştir gösteren bir grafiktir. Alt bestenin sonucu yerine bir VectorPainter nesnesidir DrawModifier. Önceki DrawVector desteği sonlandırıldı VectorPainter oldu.

    Image(Painter) API'si PaintBox(Painter) olarak yeniden adlandırıldı Şu şekilde davranan Vector composable oluşturuldu: Bunun yerine VectorAsset dışında resim composable bir ImageAsset'in (I9af9a, b/149030271)

  • LayoutEsnek, LayoutAğırlık olarak yeniden adlandırıldı. Sıkı parametre, doldurulacak şekilde yeniden adlandırıldı. (If4738)

  • DrawKatmanModifier (I00aa4) adına RepaintBoundary kaldırıldı

  • DrawVector, normal bir composable fonksiyonunu geri çevirerek vektörü bir düzenin arka planı olarak çizer. (I7b8e0)

  • Opaklık composable işlevi değiştirildi seçim yapabilirsiniz. (I5fb62)

  • Oluşturulabilir işlev klibini değiştiriciyle değiştir PaintClip(). DrawClipToBounds uygulaması basit bir değiştiricidir yalnızca katman sınırlarına klip oluşturmanız gerektiğinde kullanılacak elde ettiniz. (If28eb)

  • DrawShadow composable işlevidrawShadow() ile değiştirildi kullanabilirsiniz. Gölgeler artık layerModifier'ın bir parçası olarak çizilir. (I0317a)

  • Katman modları ve özellikleri Düzen için RenderNode ekleyerek. Bu strateji sayesinde kırpma, opaklık, döndürme, ölçeklendirme ve gölgeler. Bu, RepaintBoundary'nin yerini alacak. (I7100d, b/150774014)

  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer klasörüne taşındı androidx.compose.Emittable kaldırıldı. ComponentNode ile gereksizdi. androidx.compose.ViewAdapters kaldırıldı. Bunlar artık desteklenen bir kullanım alanı değildir. Compose.composeInto desteği sonlandırıldı. Bunun yerine setContent veya setViewContent kullanın. Compose.disposeComposition kullanımdan kaldırıldı. Bunun yerine, setContent tarafından döndürülen Composition üzerinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto adresine taşındı ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı. ComponentNode#emitRemoveAt, ComponentNode#removeAt olarak yeniden adlandırıldı. ComponentNode#emitMode, ComponentNode#move (Idef00) olarak yeniden adlandırıldı

  • İşlenmesi için composable resim oluşturuldu yanı sıra boyutunu/düzeni çizmeye ek olarak ImageAsset'i kullanabilirsiniz. Bu composable rastgele bir Boyacının çizimini de doğal boyutuna uygun bir örnek sabit bir proje yönetimi yaklaşımını boyut veya minimum boyut (Ibcc8f)

  • Desteği sonlandırılmış Wrap composable. Bunun yerine, LayoutHizala düzenleyici veya Stack composable (Ib237f) değiştiricisiyle değiştirilebilir.

  • WithConstraints LayoutDirection parametresini (I6d6f7) aldı

  • Düzen yönünün, üst düzen düğümünden alt öğelere yayılması yapıldı. Düzen yönü değiştiricisi eklendi. (I3d955)

  • Yığın bileşeni, sağdan sola yönü destekler (Ic9e00)

  • DrawShape composable kaldırıldı. Bunun yerine DrawBackground değiştiricisini kullanın. (I7ceb2)

  • LayoutPadding değiştiricide sağdan sola yön desteği (I9e8da)

  • Yalnızca 20 dakikada bir kaydırma listesi bileşeni olan görünür öğeleri oluşturur ve düzenler. Şu anda bilinen sorunlar yalnızca dikey olduğunu ve tüm reklam birimlerini alt öğelerinde değişiklik yapmak isteyebilir. (Ib351b)

  • ComposeFlags.COMPOSER_PARAM işareti true olarak güncellendi. Bu işlem, oluşturma eklentisinin kod oluşturma stratejisini değiştirecek. Genel olarak bu, @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametreler, çalışma zamanının yürütmeyi düzgün şekilde yönetmesi için sonraki @Composable çağrılarına iletilir. Bu, ikili programları bozan önemli bir değişikliktir ancak tüm yaptırım uygulanan oluşturma kullanımlarında kaynak düzeyinde uyumluluğun korunması gerekir. (I7971c)

  • Tuval bileşeni eklendi. Bu composable, kullanıcı tarafından sağlanan bir boyut kaplar ve CanvasScope (I0d622) kullanarak çizim yapmanızı sağlar.

  • Yoğunluk ve Yoğunluk Kapsamı tek bir arayüzde birleştirildi. ambientDensity() yerine artık DensityAmbient.current kullanabilirsiniz. withDensity(yoğunluk) yerine sadece(yoğunluk) (I11cb1)

  • SağlananHizalamaLines'ın oluşturulması için Layoutords değerleri değiştirildi bir küme oluşturabilir ve LayoutKoordinatları'nın get() operatörünü kullanın. Bu sayede setin bir veya daha fazla değerini değiştirmeden değiştirmek için değiştiriciler her değiştirici için yeni bir koleksiyon oluşturmanız gerekir. (I0245a)

  • Kaydırıcılar artık yerel Android hızlı kaydırma hareketi davranışı sergiliyor. (I922af, b/147493715)

  • Kısıtlamaların API yüzeyinde yapılan iyileştirmeler (I0fd15)