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ü
26 Haziran 2024 1.6.8 - 1.7.0-beta04 -

Yapı

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

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

GruplandırAçı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 projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünün build.gradle dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:

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 edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.

Geri bildirim

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

Yeni sayı oluştur

Daha fazla bilgi için Sorun İzleyici dokümanlarına bakın.

Sürüm 1.7

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şlevindeki 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. (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, uygulamanın Materyal Tasarım spesifikasyonuyla uyumlu olmasını sağladı. (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 ürünündeki 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 öğe kaydırma bilgilerini sorgulamaya bir 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ğini satır sayısı olarak ayarlamaya olanak tanır (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 değiştirin.

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şime geçilebilir 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 e-tablonun ve FAB'nin üzerine yerleştirilir; genişletilmiş durumdayken Snackbar'lar sayfanın alt kısmı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)
  • WindowInsetsControllerCompat için yalnızca bir Görünüme dayalı olma şeklinde yapılan önceki değişiklik geri alındı ve bazı pencere işaretlerini yönetmek için gerekli olan bir pencere de gerekli. Doğru pencerenin kullanıldığından emin olmak için (örneğin, Görünüm iletişim kutusundaysa) WindowCompat.getInsetsController yerine ViewCompat.getWindowInsetsController kullanımdan kaldırıldı. (I660ae, b/219572936)
  • Metin:includeFontPadding artık varsayılan olarak devre dışı. includeFontPadding=false nedeniyle ortaya çıkan kayma sorunları ele alınır ve uzun komut dosyaları için klip oluşturmamanız gerekir. (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 eklendi. Bunları BasicTextField ile birlikte kullanarak, Materyal Tasarım metin alanlarını temel alan ancak daha fazla özelleştirme seçeneği sunan özel metin alanı oluşturabilirsiniz.
  • 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)
  • composable işlevin, kullanmak üzere tasarlanmadığı bir uygulayıcıyı hedefleme olarak adlandırıldığı durumların derleme zamanı raporlanmasına olanak tanıyan ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget özellikleri eklendi.

    Çoğu durumda, ek açıklamalar, derleyici eklentisi tarafından tahmin edilebilir. Bu nedenle, bu ek açıklamaların doğrudan kullanılması nadir olmalıdır. Tahmin edilemeyen durumlar arasında özel uygulayıcı, soyut composable işlevleri (arayüz yöntemleri gibi), composable lambda olan alanlar veya genel değişkenler (yerel değişkenler ve parametreler tahmin edilir) oluşturup kullanma veya ComposeNode ya da ilgili bir composable işlevlerinin kullanılması yer alır.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode çağrısı yapan composable işlevlerin, işlev ve composable lambda parametre türleri için bir CompoableTarget ek açıklaması eklemesi gerekir. Bununla birlikte, ComposableTargetMarker ile ek açıklama eklenen bir ek açıklama oluşturmanız ve daha sonra, doğrudan ComposableTarget yerine işaretlenen ek açıklamanın kullanılması önerilir. ComposableTargetMarker ile işaretlenmiş bir composable ek açıklama, uygulayıcı parametresi olarak özellik sınıfının tam nitelikli adına sahip bir ComposbleTarget ile eşdeğerdir. ComposableTargetMarker kullanımıyla ilgili bir örnek için anroidx.compose.ui.UiComposable bölümüne bakın. (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

  • Karmaşık bir mantığı olmayan mevcut yöntemlerin aşırı yüklenmesi olan yöntemlere NonRestartableComposable eklendi. Bu, çağrılan iç fonksiyonda tekrarlanan tüm parametreler için derleyici tarafından oluşturulan not kontrollerini (eşittir) azaltı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 uygun olacak ş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 odaklanma durumlarını desteklemektedir. Bu nedenle, 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 uygulanması (If60b2)
  • 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şide 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 leadColor ve sondakiColor'a eklenmesiyle genişletildi. 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

  • performGesture ve GestureScope kullanımdan kaldırıldı. Bunların yerini performTouchInput ve TouchInjectionScope aldı. (Ia5f3f, b/190493367)
  • Geliştiricilerin dokunma hedeflerinin, minimum erişilebilirlik değerlerini karşılayabilmesi için SemanticsNode bölümüne minimum dokunma hedefi boyutunu içeren touchBoundsInRoot eklendi. (I2e14b, b/197751214)

Hata Düzeltmeleri

  • Minimum dokunma hedefi amacıyla klibin dokunma hedefi sınırlarını klip bölgesinin dışına çıkarmasına izin verin. (I43e10, b/171509422)
  • Ekran yoğunluğundan bağımsız olarak tek pikselli ayırıcılar çizmeyi desteklemek için Divider composable, kalınlık parametresinde Dp.Hairline değerine uyacak şekilde güncellendi. (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)
  • Erişilebilirliği sağlamak amacıyla, anlambilim ve işaretçi girişinde kullanılması için ViewConfiguration'a minimum dokunma hedefi boyutu eklendi. (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ı. Sürüm 1.1.0-alpha01 bu kaydetmeleri içerir.

API Değişiklikleri

  • İsteğe bağlıFilter Quality parametresini kullanmak için kaynak ve hedef akışları tüketen DrawScope#drawImage yöntemi güncellendi. Bu, piksel tabanlı resimler için ölçeklendirildiğinde pikselleştirilmek üzere tasarlanmış piksel sanatı için faydalıdır. Biteş
  • QueryBox'un adı, CodedBox 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 uygulama demosu eklendi. (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 navigasyon raylı 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 "kullanışlı" bir yöntem olduğunu ve önceden derlenmesi gerektiğini gösterir.

  • 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Ş DURUMLARI: Kart artık tıklamaları tüketiyor ve Card(Modifier.clickable) aracılığıyla eklenen tıklamaların işlemsiz sayılıyor. 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Ş DURUMLARI: Surface artık tıklamaları tüketiyor ve Surface(Modifier.clickable) aracılığıyla eklenen tıklamaların işlemsiz olduğuna işaret ediyor. Lütfen onClick'i kabul eden yeni deneysel Surface aşırı yüklemesini 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)
  • Yeni enum değerleri eklendiğinde ifadelerle ilgili olası sorunları önlemek için enum kullanımları satır içi sınıflarda yeniden düzenlendi. (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 anlamları özellikleri artık tek değerler değil, listeler. Bu sayede, birleştirme yerine oldukları gibi birleştirilebilirler. Ayrıca bu değişikliklerden yararlanmaları için daha iyi test API'leri sağlandı (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

  • Artık Gezinme Oluşturma Aracı'nda rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor. (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)
  • ağırlık(fill = false) değerine sahip Satır ve 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
  • SoftwareKeyboardController üzerindeki hideSoftwareKeyboard ve showSoftwareKeyboard öğelerini sırasıyla hide() ve show() olarak yeniden adlandırın.
    • LocalYazılımKlavyeController için CompositionLocal arayüzünün tam sürümünü sağlayın ve bu arayüzün ayarlanmasını sağlayın (özellikle testlerde yararlıdır) (I579a6)
  • LiveRegion Accessibility API eklendi. Düğüm canlı bölge olarak işaretlenmişse erişilebilirlik hizmetleri, kullanıcıyı değişiklikleri hakkında otomatik olarak bilgilendirir (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ı. MonotonicFrameClock olmadan withFrameNanos veya Recomposer.runRecomposeAndApplyChanges çağrılırsa IllegalStateException atılacak. (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

  • TextField'de önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController bileşimi yerel API'si eklendi. (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 ImageBitmap ve ImageVector tamamlayıcılarında uzantı işlevleridir. load{Image,Vector,Font}Resource 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 metin alanlarından yazılım klavyesi geri çağırması kaldırıldı ve kısa süre içinde yeni bir API ile değiştirilecek. (Iae869, b/168778053)
  • Switch, Onay Kutusu ve RadioButton işlem lambda'ları artık null özelliktedir. Tıklanabilir satırdaki onay kutusu örnekleri, bu özelliği kullanacak şekilde güncellendi. (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)
  • CompositionLocals'a (I53520) AccessibilityMananger arayüzünü ve LocalAccessibilityMananger'ı ekleme
  • 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 alanındaki isErrorValue parametresi isError olarak yeniden adlandırıldı. (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)

  • smooth ScrollBy ve ScrollBy yöntemlerinin paketleri 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. Artık ScrollableController sınıfının yerine Kaydırılabilir arayüz kullanılı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, artık askıya alma işlevleri olarak adlandırılıyor. (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 sağlar.
    • 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 ImageBitmap ve ImageVector tamamlayıcılarında uzantı işlevleridir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)

  • Indication#createIndication(), Indication#rememberUpdatedIndication(EngagementState) olarak değiştirildi ve IndicationInstance#drawIndication() öğelerindeki EngagementState parametresini kaldırır. IndicationInstance, EngagementState değişikliklerine yanıt olarak animasyonları veya yazma durumunu değil, yalnızca görsel efektleri çizmekten 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

  • TextField'deki önceki SoftwareKlavyeController arayüzünün yerini alacak yeni LocalYazılımKlavyeController bileşimi yerel API'si eklendi. (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

  • Modifier.pointerInput, artık işaretçi girişi algılama eş anlamlısının yeni bağımlılıklar için ne zaman yeniden başlatılması gerektiğini belirtmek için hatırlama tuşlarının kullanılmasını gerektiriyor. (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 Eylemlerini kullanın (If0bbd, b/179071523)
  • Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek amacıyla ImagePainter, paralel VectorPainter olarak BitmapPainter olarak yeniden adlandırıldı. (Iba381, b/174565889)
  • Animatable.snapTo ve Animatable.stop, askıya alma işlevleri olarak değiştirildi (If4288)
  • ComponentActivity.setContent, androidx.activity:activity-compose modülündeki androidx.activity.compose.setContent konumuna taşındı. (Icf416)
  • Yıkım ve Copy() yöntemleri, nadiren kullanıldıkları bazı sınıflardan kaldırılmıştır. (I26702, b/178659281)
  • ModalBottomSheetState'te (Ic914e) personexpand() veexpand() işlemlerini yapın
  • Gösterge#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> Göstergesi değil, bir Gösterge içerecek şekilde değiştirildi. (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 desteği kullanımdan kaldırılı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. ModalBottomSheetState'e (Ib5064) "expand ve "throughexpand" özelliği eklendi
  • 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)
  • Ambients, Ambient -> CompositionLocal adıyla eşleşecek şekilde 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 içermemesi 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)

  • Kaynak içeriğin rgb değerlerini değiştirmek için kullanılan ColorMatrix API kullanıma sunuldu. ColorFilter API bir arayüz olacak ve PathEffect'in uygulanmasına uygun olacak şekilde yeniden düzenlendi. (Ica1e8)

  • AnimasyonluDeğer/Kayan Öğe için destek sonlandırıldı. Lütfen bunun yerine Animatable'ı kullanın. (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]ComposeView artık varsayılan olarak pencere için ViewTreeLifecycleOwner tarafından desteklenen, geç oluşturulan, pencere kapsamlı Recomposer'ları içerir. Ana makine yaşam döngüsü durdurulurken yeniden beste vewithFrameNanos tabanlı animasyon çizgileri duraklatılır. (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 için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmamış sürümlerini kullanımdan kaldırıyor ve/veya kaldırıyoruz. (A9 kez verilmiş)

  • Askıya alınmayan smooth ScrollBy seçeneğini kullanımdan kaldırın. Artık, kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmamış sürümlerini kullanımdan kaldırıyoruz. (I12880)

  • ComposeTestRule öğesini genişleten ve ComposeTestRule öğesinden kaldırılan setContent öğesini tanımlayan ComposeContentTestRule kullanıma sunuldu. ComposeTestRule döndüren ve sizin için bir Etkinlik başlatmayan createEmptyComposeRule() fabrika yöntemi eklendi. Bunu testiniz sırasında Etkinliğinizi başlatmak istediğinizde (ör. ActivityScenario.launch (I9d782, b/174472899) kullanarak) kullanın

  • 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. Burada Foo ise animasyon uygulanan değişkenin türüdür. Ör. float, 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 onRoot() veya pencere boyutunun boyutunu kullanmak daha iyidir. (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ştirilir ve bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını ortadan kaldırır. (Ia33b2, b/175142755, b/177420019)

  • FlingConfig'i kabul eden hareketlifloat.fling kaldırıldı. Lütfen bunun yerine askıda Animatable.animateDecay kullanın. (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)

  • Küresel koordinat yöntemleri kullanımdan kaldırıldı ve yeni pencere tabanlı koordinat yöntemleri geliştirildi. (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ırma AxisRange olarak yeniden adlandırıldı. verticalAccessibility ScrollState, dikey Kaydırma AxisRange olarak yeniden adlandırıldı. (Id3148)

  • Testlerde TestCoroutineDispatcher'dan yararlanın (I532b6)

  • Vektör grafiklerinin köküne uygulanan tonlamanın ayrıştırılmasını desteklemek üzere vektör grafikleri API'si güncellendi. (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ına ve matematiksel işlemlere sahip olacak şekilde değiştirilmiştir. (Ib0447)
  • @ExperimentalTesting öğesi, benzer deneysel API ek açıklamalarıyla tutarlı olacak şekilde @ExperimentalTestApi olarak yeniden adlandırıldı (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'ı arayüz modülüne taşıdı ve dahili hale getirdi. NativeClass'ın güncellenmiş kullanımları, "is MyClass" olacak şekilde uygulamalara eşittir. (I4f734)

Hata Düzeltmeleri

  • Devre dışı bırakılan ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
  • animate(), artık animateAsState() ile değiştirilmiştir. Bu, T yerine State<T> değerini döndürür. Geçersiz kılma kapsamı, State değerinin okunduğu yere indirgenebileceği için bu sayede daha iyi performans elde edebilirsiniz. (Ib179e)
  • Semantics role API'yi ekleyin ve tıklanabilir, seçilebilir ve geçiş yapılabilir SemanticsModifier'a parametre olarak Rol ekleyin. Slider'ın da kullanabilmesi için Modifier.progressSemantics değiştirildi. (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. ricaRippleIndication'ın desteği sonlandırıldığı için bunun 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)
  • Çizim ortamının boyut bilgilerinin mevcut olması durumunda geç yavaş bir gölgelendirici örneği oluşturmak için ShaderBrush yeniden düzenlendi. Bu, beste zamanında özel DrawModifier uygulamaları uygulamak zorunda kalmadan bir composable'ın tüm çizim sınırlarını kaplayan renk geçişleri tanımlamak için yararlıdır.

    Gradyan nesnesinde fabrika yöntemlerinin tercih edilmesi için desteği sonlandırılan gradyan işlevi oluşturucu API'leri. (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. animation-core'a taşındı 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)

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

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

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

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

  • Alt öğelerin anlamını temizlemek ve yenilerini belirlemek için Değiştirici.clearAndSetSemantics eklendi. (I277ca)

  • ContentDrawScope, DrawScope ile çalışacak şekilde kullanıcı arayüzü modülüne taşındı. (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ı. API konseyi yönergeleri uyarınca VectorAsset, ImageVector'ın iç sınıfı olacak şekilde Builder olarak taşındı. Karşılaştırma için ImageVector.Builder bağlantısına, VectorAssetBuilder adında tür takma adı eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler, ImageBitmap olarak yeniden adlandırıldı. (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 paketinden androidx.compose.ui.draw paketine taşındı. Desteği sonlandırılan API'lerden mevcut API'lere geçişe yardımcı olacak typealiases/helper yöntemlerini içerecek şekilde DrawModifier U güzelleştirilmiştir. (Id6044, b/173834241)
  • Modifier.drawKatmanlar, Modifier.graphicsKatman olarak yeniden adlandırıldı. Ayrıca, API geri bildirimlerine göre ilgili sınıflar da GraphicsKatman olarak güncellendi. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout bildiriminden kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • Çizimler'e kolaylık sağlamak amacıyla Değiştirici.scale/rotate API'leri eklendi.
    • 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 ve SweepGradientBrush API'leri kullanıma sunuldu. (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 tanımlarken durum değişikliği gerçekleştiğinde yeniden düzenleme ve düzenleme adımını atlarsı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, "mergeDescendants" olarak yeniden adlandırıldı. (Ib6250)
  • Testlerde 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ı (I3a7cb) kaldırın
  • 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ı
  • Simge API'si, sağlanan öğeyi veya resmi ColorFilter olmadan çizecek olası bir ton rengi olarak belirtilmedi. Daha önce, Renk ile tonlamayı göz ardı etmeye çalışılıyordu.Belirtilmediğinde, tonlama şeffaf bir renkle sonuçlanmakta ve sonuçta hiçbir şey oluşmamaktadır. (I049e2, b/171624632)
  • relPaddingFrom, FILLFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin temel çizgilerine olan mesafeleri belirtmeyi kolaylaştırmak amacıyla FILLFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
  • LaunchedTask, SideEffect ve DisposableEffect API'leriyle tutarlılık sağlamak amacıyla LaunchedEffect olarak yeniden adlandırıldı. En iyi uygulamaları teşvik etmek amacıyla, konu parametresi olmayan LaunchedEffect'e 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)
  • composable API'nin, bileşimler genelinde verileri kalıcı hale getirmek için dahili olarak "hatırladığından" yararlandığını daha iyi belirtmek amacıyla HatVectorPainter'ın yerine VectorPainter'ı kullanımdan kaldırın. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştir; yanıp sönen imleci ComposeTestRule'dan etkinleştirmek için seçeneği kaldırın. (If0de3)
  • CoreTextField'e tek satırlı klavye seçeneği eklendi (I72e6d)
  • Compose'da nasıl kullanıldığını daha iyi ifade etmek için Radius API'yi CornerRadius olarak yeniden adlandırdı. Dokümanlar, negatif köşe yarıçaplarının sıfıra sabitlendiğini gösterecek şekilde güncellendi. (I130c7, b/168762961)
  • DrawScope ve ContentDrawScope soyut sınıflar yerine arayüz olacak şekilde yeniden düzenlendi
    • DrawScope uygulaması oluşturuldu ve CanvasDrawScope
    • Bunun yerine CanvasScope kullanmak için DrawScope uygulamaları yeniden düzenlendi
    • DrawScope için bağımlılıkları sarmalamak amacıyla DrawContext oluşturuldu
    • 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)
  • @Stable ile işaretlenen tüm yapı iskeletleri ScaffoldState'e taşınır. (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önteme sahip olmamanı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 -> AmbientContentRenk
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels (AmbientEmfasi Seviyeleri)
    • Dalga Teması (Ambient) -> 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

  • Satır içi sınıflar için koruyucu değerlerinin standartlaştırılmasının bir parçası olarak Color.Unset (Renk Ayarlanmadı) değerini yeniden adlandırın.Diğer satır içi sınıflarla tutarlılık için belirtilmemiş (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 API yönergeleriyle eşleşecek şekilde LaunchedTask olarak yeniden adlandırıldı (I99a8e)
  • OnPositionedModifier, OnGloballyPositionedModifier olarak, 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)
  • allowBackdropState'i,BackdropScaffoldState'i hatırlayacak şekilde yeniden adlandırıp animasyon saati için ek bir parametre ekledik. BackdropScaffold parametresi backdropScaffoldState parametresi sadece scaffoldState olarak yeniden adlandırıldı. BackdropConstants, BackdropScaffoldConstants olarak yeniden adlandırıldı. (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

  • Birçok Graphics API'si güncellendi
    • Ölçek ve döndürme dönüşüm API'leri, DrawScope ve DrawTransform'da x/y koordinatları için ayrı kayan noktalı parametreler yerine pivot koordinatını temsil edecek tek bir Offset parametresi kullanacak şekilde güncellendi
    • Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı
    • Yarıçap dokümantasyonu, eliptik bisikletin yanı sıra oval de
    • Satır içi Yarıçap sınıfı için genel oluşturucunun doğrudan çağrılamayacağını, bunun yerine Yarıçap nesnelerinin işlev oluşturucuları aracılığıyla örneklendirilmesi gerektiğini gösteren dokümanlar eklendi
    • topRight,bottomRight, bottomCenter vb. sorgulamak için RoundRect API'leri kaldırıldı.
    • 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 ve Rect.isStadium yöntemleri kaldırıldı.
    • 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
    • RoundRect oluşturucusu, x/y yarıçap değerleri için bağımsız parametreler yerine Yarıçap özelliklerini kullanacak şekilde güncellendi
    • Kaynağı 0,0 olan Dikdörtgen olduğunu varsayan Boyut API'leri kaldırıldı
    • Yarıçap'a yıkıcı bir API eklendi
    • Çeşitli RoundRect uzantı işlevleri mülk olacak şekilde taşındı
    • (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)
  • Birçok Graphics API'si güncellendi
    • DrawScope API'leri, dönüşümün yalnızca geri çağırma içinde uygulandığını ve geri çağırma çağrıldıktan sonra kaldırıldığını belirtecek şekilde kapsamlı dönüşüm yöntemleriyle güncellendi
    • ClipPath belgeleri, yuvarlatılmış dikdörtgen yerine Path'i işaret edecek şekilde güncellendi
    • ClipPath'de sağ parametre için belgelerdeki boşluk düzeltildi
    • DrawScope.drawCanvas,drawIntoCanvas olarak yeniden adlandırıldı ve boyut parametresi kaldırıldı
    • Inset yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı
    • 4 sınıra da aynı inset değerini sağlayan ek aşırı yükleme eklendi.
    • Inset yönteminde, ekin 4 tarafa da uygulanacağını gösteren dokümanlar kaldırıldı
    • Rect sınıfı için güncellenen dokümanlar
    • Rect parametrelerindeki yorumlar, kdoc stiliyle eşleşecek şekilde güncellendi
    • Rect.join ve Rect.expandToInclude kaldırıldı
    • Rect.translate(offset) için aşırı yükleme oluşturuldu ve kullanımdan kaldı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)
  • Modifier.swipeable içindeki resistanceFactorAtMin ve resistanceFactorAtMax parametreleri, tek bir direnç parametresiyle değiştirildi. 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 kullanımdan kaldırıldı. Lütfen ComposeTestRule'da (I7f45a) tanımlanan yeni eşdeğerlerine geçiş yapın
  • Bunu kullanan DpConstraints ve API'ler kullanımdan kaldırıldı. (I90cdb, b/167389835)
  • minwidth ve maxWidth (genişlik) parametreleri, min (min) ve max (maks) olarak yeniden adlandırıldı. Benzer şekilde, PreferredWidthIn, highIn, optionalHeightIn için de benzer bir şekilde kullanılabilecek. (I0e5e1, b/167389544)
  • İleri/geri kaydırma anlamsal işlemlerini kaldırın. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
  • Yer çekimi kullanımları, düzen API'lerinde hizalama veya hizalama için tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • ComposeTestRule'a eklenen onNode ve diğer genel yöntemler, mevcut global yöntemlerin desteği sonlandırılacak. (Ieae36)
  • createAndroidComposeRule ve AndroidInputDispatcher, androidx.ui.test.android konumundan androidx.ui.test konumuna taşındı (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ı. Vektörmath paketinin diğer tüm parçaları kaldırılmıştır. (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, slideProgress -> progress, slideDirection -> yön. 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ırma çubukları ana makineleri üzerinde denetim sağlamak ve bunu ScaffoldState'ten ayırmak için eklendi. Bu duruma scaffoldState.snackbarHostState aracılığıyla da 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 parametre ekler ve Simge ToggleDüğmesindeki 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)
  • Sınırları geçerken direnç miktarını değiştirmek için Modifier.sDELETEable'a parametreler eklendi. [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 ilerleme gösterilirken varsayılan AnimationSpec olarak kullanılabilecek 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 Modifier.onPosition'u kullanın. ContentColor ve Değiştirici pamatere'ler Scaffold'e 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 içindeki eşikler parametresinde ayarlama yapıldı. Artık bir çift durum (T türünde) alır ve bunlar arasındaki eşiği ThresholdConfig biçiminde döndürür. lambda (KapatDirection) -> ThresholdConfig olan SledgeToClosed öğesine bir offThresholds parametresi eklendi. (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 daha net bir ifadeyle remember { mutableStateOf(...) } öğesine yapılan açık çağrılar için kullanımdan kaldırıldı. Bu, genel API yüzeyini ve eyalet yönetimiyle ilgili kavramların sayısını azaltır ve sınıf özelliği yetkisi için by mutableStateOf() kalıbıyla eşleşir. (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 bunun yerine alt öğe düzeninde onPositioned ve OnPositionedModifier kullanmalıdır. (I4522e, b/162109766)
  • SemanticsPropertyKey'e birleştirmePolitikası lambda eklendi. Bu, birleştirmeAllDescendants anlamsal birleştirme işlemi için özel bir politika tanımlamak amacıyla kullanılabilir. Varsayılan politika, zaten varsa üst değer, değilse alt değer kullanılır. (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)
  • PxBound'lar kullanımdan kaldırıldı, rect'in yerini aldı. PxBounds'un tüm kullanımları dikişli olacak şekilde güncellendi ve taşımaya yardımcı olacak ek açıklamalarla uygun şekilde kullanımdan kaldırıldı/değiştirildi. (I37038, b/162627058)
  • Oluşturma adlandırma kalıplarına daha uygun olması için RRect'in adı RoundRect olarak değiştirildi RRect'e benzer işlev oluşturucuları ve desteği sonlandırılan RRect işlev oluşturucuları (I5d325) oluşturuldu

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)
  • ColorPalette, Material renk sistemiyle daha iyi eşleşmesi ve Material renk sisteminin özel bir uygulaması yerine ColorPalette'in "genel" tema nesnesi olması konusundaki karışıklığı ortadan kaldırmak için Renkler olarak yeniden adlandırıldı. 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 Değiştirici.sDELETEable olarak yeniden adlandırıldı. Yeni bir ScrollableState sınıfı kullanıma sunuldu ve Çekmece Durumları ile BottomDrawerState sınıfları bu sınıftan devralmak için 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ı. Bunun yerine alt öğede OnPositioned kullanın. (I87f95, b/162109766)
  • Genel API düzeltmelerini adresleyin (I077bc)
    1. Kullanılmayan OffsetBase arayüzünü kaldırın
    2. Tutarlı bir API yüzeyine sahip olacak şekilde Ofset ve IntOffset sınıflarını hizalayın
    3. Offset API ile tutarlı olması için IntOffset.Origin değerini IntOffset.Zero olarak yeniden adlandırın
    4. Tüketicilerin kendi Canvas örneklerini oluşturmalarını desteklemek için NativeCanvas yöntemi Canvas arayüzünün dışına taşındı
    5. DrawScope'u lateinit yerine boş olmayan bir parametre olacak şekilde yeniden düzenlemek ve alanın null olmadığından emin olmak için BlankCanvas saplama sınıfı oluşturuldu
    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 lateinit parametrelerini kullanmayacak
    14. DrawScope güncellendi, artık dolguPaint ve stepPaint dahili parametreleri için geç yetki kullanılmayacak
    15. Daha az ek yük için Box kullanımını önlemek için composable'ı güncelleme
    16. Outline sınıfı, @Sabit ek açıklamaları içerecek şekilde güncellendi
    17. PathNode, her yol talimatı için @Immutable ek açıklamaları içerecek şekilde güncellendi
    18. Oluşturma işlemi bunları zaten işlediğinden eşitlik için gereksiz koşullu kontrolleri kaldırmak üzere Vektör alt bileşimi güncellendi
    19. Kullanımdan kaldırılan Rect tamamlayıcı oluşturucu yöntemleri, işlev kurucularının lehine
    20. Fırça sınıfları ve işlev oluşturucuları, @Immutable ve @Stable API'lerle güncellendi
    21. VertexMode sıralaması PascalCase olarak güncellendi
    22. DrawScope selectPaint yöntemi, değişmesi durumunda boyadaki çizgi parametrelerinin üzerine koşullu olarak yazılacak şekilde güncellendi
    23. Yapıyı kaldıran API'yi eklemek, UnspecifiedSize adını Belirtilmemiş olarak değiştirmek ve kullanılmayan yöntemleri kaldırmak için Boyut güncellendi
  • İletişim kutusunu kullanıcı arayüzüne taşı (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture kaldırıldı. Bunun yerine SemanticsNodeInteraction.performGesture kullanın. (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot() listesi SemanticsNodeInteraction.getUnclippedBoundsInRoot() olarak yeniden adlandırıldı (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)
  • geçişTanımı için T türünün açıkça belirtilmesini zorunlu kılın. (Beğendim)
  • Değiştirici.plus desteği sonlandırıldı. Bunun yerine Değiştirici.then'i kullanın. "O zaman" ifadesi daha güçlü bir sıralama sinyaline sahiptir ancak Modifier.padding().background() + anotherModifier yazılmasını yasaklayarak zinciri bozar ve okunması daha zordur (Iedd58, b/161529964)
  • AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
  • isFocused() ve isNotFocused() SemanticsMatcher işlevini ekleyin. (I0b760)
  • Testlerden kullanılmaması gereken BaseGestureScope.globalBounds kaldırıldı. Bunun yerine, etkileşim kurduğunuz düğümün yerel koordinatlarını kullanın. (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ı yukarıdaki Bağımlılıkları bildirme bölümünde gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.

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.
    • Sınıftaki değişken -> özelliğinden yararlanarak yeniden düzenleme yapılabilirliği iyileştirir
    • 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 ve 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)

  • Çapalar arasındaki eşikleri belirtmek için stateDraggable'a eşik parametresi eklendi. 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ı. Bu türü kullanan TextField, FilledTextField ve CoreTextField composable'ları da kullanımdan kaldırıldı. Lütfen bunun yerine androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005)

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

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

  • Boyutlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek için PxSize yerine Boyut sınıfının kullanımını standartlaştırın. Bu, satır içi sınıfın, kayan olarak temsil edilen genişlik ve yüksekliği temsil eden uzun paket 2 kayan değerinden yararlanma avantajını sağlar. (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ı artık yalnızca DrawScope ve ContentDrawScope yeniden adlandırıldı CanvasScope, DrawScope olarak adlandırıldı. DrawScope, Yoğunluk arayüzünü uygulamak ve ContentDrawScope'ta LayoutDirection (LayoutDirection) Silinen DrawScope alt sınıfını sağlamak için güncellendi DrawScope bunu manuel olarak sağlamadan zaten RTL özelliğini sağladığından artık RTL mülkünü sürdürmeyecek şekilde güncellendi (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 değer içeren Color kullanımları null olmayan değer ile değiştirildi 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)

  • ListItem'e değiştirici parametre eklendi ve sondaki lambda gövdesini tanıtmak için parametreler yeniden sıralandı (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)

  • Temel öğeler yerine derlenebilir lambda'ları kabul etmek için floatingActionButton API'leri yeniden düzenlendi. Kullanım bilgileri için güncellenmiş örneklere göz atın. (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:Geleneksel Android uygulaması geliştirmeyi, yazma çerçevesiyle (Id5bbd) birleştirmeye yarayan bir ImageAsset örneği oluşturmak için android.graphics.Bitmap, Bitmap.asImageAsset() üzerinde bir uzantı yöntemi oluşturuldu.

  • Derlenebilir lambda'ları kabul eden aşırı yükü kullanmak adına String parametrelerine sahip Snackbar API kaldırıldı. Kullanım bilgileri için güncellenmiş örneklere göz atın (I55f80)

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

  • BottomGezinme bileşeni eklendi, kullanım bilgileri için dokümanlara ve örneklere bakın (I731a0)

  • Simge, iconButton ve iconToggleButton eklendi, AppBarIcon kaldırıldı. Mevcut AppBarIcon kullanımlarını doğrudan iconButton ile değiştirebilirsiniz. Artık bu kullanımlar doğru dokunma hedefine sahip olur. Kullanım bilgileri için örneklere ve bu bileşenlerle doğrudan kullanabileceğiniz, sağlanan Malzeme Simgelerinin Simgelerine bakın. (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. LayoutModifiers, rotasyon veya ölçeklendirme göz önünde bulundurulduğunda konum özelliği bir anlam ifade etmez. Bunun yerine, geliştiriciler bir LayoutKoordinatör'den diğerine dönüşümü hesaplamak için parentcoordinates ve childToLocal() kullanmalıdır.

    Layoutords, boyut özelliği için PxSize yerine IntPxSize kullanır. Düzenler, düzenler için tam sayı piksel boyutlarını kullanır. Bu nedenle tüm düzen boyutları, kayan nokta değerleri yerine tam sayılar kullanmalıdır. (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 ise ScrollState'in (I400ce, b/157225838, b/149460415, b/154105299) kullanılmasıyla sonlandırılmıştır.
  • Değiştirici.draggable ve Modifier.scrollable API'leri yeniden işlendi. Sürükleme Yönü, Yön yönünden 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ıyor: "semantik {gizli() }". (Ic1afd, b/145951226, b/145955412)
  • Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. TümfindXYZ API'leri, onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri, performXYZ olarak yeniden adlandırıldı. (I7f164)
  • Transition API, TransitionState'i alt öğelere iletmek yerine bir TransitionState döndürecek şekilde değiştirilmiştir. Bu, API'yianimate() API'leriyle daha tutarlı hale getirir. (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)
  • NativeShader bekleme sınıfını sarmalayan Gölgelendirici satır içi sınıfı kaldırıldı. Bu sınıf, NativeShader'ı Gölgelendirici olarak yeniden adlandırdı. Sarmalanmış Shader satır içi sınıfı, API yüzeyine değerli bir şey eklemedi ve satır içi bir sınıftı. Bu nedenle doğrudan NativeShader sınıfını kullanın. (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
  • Statik animasyon spesifikasyonu kavramını açıklığa kavuşturmak için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın -Tween, ilkbahar gibi AnimationSpecs oluşturmak için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, oluşturucu parametreleri doğrudan alırlar. -AnimationSpec\u2019in derleyicilere güvenmek yerine oluşturucu açılarak genel kullanım kolaylığını artırın -KeyFrames ve Tween için süre ve gecikmeyi Int olarak değiştirin. Bu, gereksiz tür yayınları ve yöntemin aşırı yüklenmesini (hem Long hem de Int’i desteklemek için) ortadan kaldırır. (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ı, satır içi sınıf olacak şekilde yeniden düzenlendi. Y eksenindeki yarıçapın zorunlu x ekseni yarıçap parametresiyle aynı olması için varsayılan parametreye sahip işlev oluşturucu yerine tamamlayıcı oluşturma yöntemleri kaldırıldı.

    DrawScope.drawroundRect, x ve y eksenindeki yarıçap için 2 ayrı kayan alan değeri (I46d1b) yerine tek bir Yarıçap parametresi kullanacak şekilde güncellendi.

  • Konumlandırma bilgilerini temsil eden sınıf sayısını birleştirmek için PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, satır içi sınıfın x ve y ofsetlerini hareketli olarak temsil edilen x ve y ofsetlerini temsil etmesi için uzun paket 2 kayan değerden yararlanma avantajını sağlar. (I3ad98)

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel alan büyük yeniden düzenleme çalışmaları kapsamında, çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi. 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)

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I086f4)

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (Id3434)

  • Piksel parametreleri için yalnızca Dp ve temel türlere dayanacak şekilde yapılan büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (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)

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I19d02)

  • Dikey Kaydırma aracı, artık Dikey Sütunu kullanıma hazır hale getiriyor. HorizontalKaydırıcı artık Row'u kullanıma hazır olarak sunuyor. (Ieca5d, b/157020670)

  • Piksel parametreleri için yalnızca Dp ve temel türlere dayanacak şekilde yapılan büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (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 nullable değil. KlipToOutline, klip olarak yeniden adlandırıldı; RectangleShape ile gösterilen klip == true ile aynı olduğu için klibin kaldırılması (I7ef11, b/155075735)

  • Bunun yerine CanvasScope'u açığa çıkarmak için bir Tuval'i açığa çıkaran daha üst düzey oluşturma API'leri güncellendi. Bu, tüketicilerin kendi Paint nesnelerini yönetme ihtiyacını ortadan kaldırır. Hâlâ bir Tuval'e erişmesi gereken tüketiciler, temel Canvas'la çizim komutları vermek için geri çağırma sağlayan "drawCanvas" uzantı yöntemini kullanabilir. (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)

  • Durum bilgisiz, bildirim temelli bir çizim API yüzeyi sunmak için Canvas nesnesini sarmalayan CanvasScope API oluşturuldu. Dönüşümler kendi alıcı kapsamlarında yer alır. Boyutlandırma bilgileri de ilgili iç sınırların kapsamına alınır. Bir tüketicinin, çizim işlemlerini yapılandırmak için kendi Boyama durumu nesnesini tutmasını gerektirmez.

    CanvasScopeSample eklendi ve demo uygulaması bildirime dayalı grafik demosu (Ifd86d) içerecek şekilde güncellendi.

  • 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)

  • Odak alt sistemiyle entegrasyon sağlamak için CoreTextField/TextField odağıIdentifier parametresi FocusNode ile değiştirildi. (I7ea48)

  • Layout ve LayoutModifier2 üzerindeki içsel ölçüm işlevlerinde, artık örtülü olarak yayılan düzen yönü ile 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. DrawlayerModifier'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)

  • ImageAsset'teki piksel bilgilerinin sorgulanmasını desteklemek için PixelMap API'si oluşturuldu. (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. ui-text artık CoreText ve CoreTextField composable'larını (Ib7d47) içeriyor

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

  • ui-framework/CoreText, CoreTextField composable'ları,ui-text-compose altına taşındı. Projenize ui-text-compose'u dahil edebilirsiniz. (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 ComposeTestRule'daki yöntemler yerine genel işlevler oldu. (Icbe8f)

  • [Mutable]Eyalet mülk yetki operatörleri, Kotlin 1.4 mülkü yetki optimizasyonlarını desteklemek için uzantılara taşındı. Arayanlar, by state { ... } veya by mutableStateOf(...) uygulamasını kullanmaya devam etmek için içe aktarma eklemelidir. (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ımlamak için kullanılan yeni bir API olan LayoutModifier2 eklendi, LayoutModifier (If32ac) kullanımdan kaldırıldı.

  • 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).

  • Vektör grafikleri için mevcut alt bileşen API'sinin yerini alması amacıyla VectorPainter API eklendi. Alt bestenin sonucu, DrawModifier yerine bir VectorPainter nesnesidir. Önceki DrawVector composable'larının desteği, VectorPainter'ın adına kullanımdan kaldırıldı.

    Image(Painter) API, PaintBox(Painter) olarak yeniden adlandırıldı ImageAsset yerine VectorAsset hariç olmak üzere Resim composable gibi davranan Vektör composable'ı oluşturuldu (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 işlevinden, vektörü arka plan olarak bir düzene çizecek olan bir ChangeVector() fonksiyonunu döndürecek şekilde değiştirilmiştir. (I7b8e0)

  • Opaklık composable işlevinin yerini drawOpacity değiştiricisi aldı. (I5fb62)

  • ClipToBounds adlı composable fonksiyonunun yerine şu düzenleyiciyi kullanın: DrawClipToBounds, yalnızca katman sınırlarına dikdörtgen bir şekille kırpmanız gerektiğinde kullanabileceğiniz pratik bir değiştiricidir. (If28eb)

  • DrawShadow composable işlevi,drawShadow() değiştiriciyle değiştirildi. Gölgeler artık layerModifier'ın bir parçası olarak çizilir. (I0317a)

  • Düzen için RenderNode eklenmesine olanak tanıyan bir değiştirici olan KatmanModifier eklendi. Kaydırma, opaklık, döndürme, ölçeklendirme ve gölge ayarlamalarına olanak tanır. Bu, RepaintBoundary'nin yerini alacak. (I7100d, b/150774014)

  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer konumuna 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 öğesinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto adresine taşındı. ComponentNode#emitInsertAt, ComponentNode#insertAt ComponentNode#emitRemoveAt olarak yeniden adlandırıldı.

  • Ekrana belirli bir ImageAsset çizimi yapmanın yanı sıra boyutlandırma/düzeni işlemek için composable oluşturuldu. Bu composable, doğal boyutuna göre rastgele bir Painter örneği çizmenin yanı sıra belirli bir sabit veya minimum boyutu (Ibcc8f) desteklemeyi de destekler

  • 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 görünür öğeleri oluşturan ve düzenleyen bir kaydırma liste bileşeni olan AdapterList eklendi. Şu anda bilinen sorunlar arasında yalnızca dikey olması ve alt öğelerindeki değişikliklerin tüm durumlarını tam olarak ele almaması yer alır. (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)

  • LayoutKoordinatlar, providedalignmentLines'ı Harita yerine bir Set olarak kullanmak ve LayoutKoordinatlar'ın bir değer almak için bunun yerine get() operatörünü uygulamasını sağlamak amacıyla değiştirilmiştir. Bu sayede, her değiştirici için yeni bir koleksiyon oluşturmadan değiştiricilerin, kümenin bir veya daha fazla değerini kolayca değiştirmesi kolaylaşır. (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)