Materyal Oluştur

Kullanıma hazır Materyal Tasarım Bileşenleriyle Jetpack Compose kullanıcı arayüzleri derleyin. Bu, Compose'un daha üst düzey giriş noktasıdır ve www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak için tasarlanmıştır.
Son Güncelleme Kararlı Sürüm Serbest Bırakma Adayı Beta Sürümü Alfa Sürümü
20 Mart 2024 1.6.4 - - 1.7.0-alpha05

Yapı

Oluşturma işlemi, androidx içindeki 7 Maven Grup Kimliğinin birleşiminden oluşur. Her Grup, her biri kendi sürüm notlarına sahip olan hedeflenmiş bir işlev alt kümesi içerir.

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

GruplandırAçıklama
compose.animationKullanıcı deneyimini zenginleştirmek için Jetpack Compose uygulamalarında animasyonlar oluşturun.
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şenleriyle Jetpack Compose kullanıcı arayüzleri derleyin. Bu, Compose'un daha üst düzey giriş noktasıdır ve www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak için tasarlanmıştır.
compose.material3Materyal Tasarımın yeni evrimi olan Materyal Tasarım 3 Bileşenler ile Jetpack Compose kullanıcı arayüzleri derleyin. Material 3, güncellenmiş tema ve bileşenlerin yanı sıra dinamik renk gibi Material You kişiselleştirme özellikleri içerir ve yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak şekilde tasarlanmıştır.
compose.runtimeCompose'un programlama modeli ve durum yönetiminin temel yapı taşları ve Compose Compiler Eklentisi'nin hedeflemesi için temel çalışma zamanı.
compose.uiDüzen, çizim ve giriş de dahil olmak üzere cihazla etkileşimde bulunmak için gereken kullanıcı arayüzünün temel bileşenleri.

Bağımlılıkları bildirme

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

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

Modern

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.11"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme konusuna bakın.

Geri bildirim

Geri bildiriminiz Jetpack'i daha iyi hale getirmemize yardımcı oluyor. Yeni sorunlar keşfederseniz veya bu kitaplığı nasıl geliştirebileceğimizle ilgili fikirleriniz varsa bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sayı oluşturma

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

Sürüm 1.7

Sürüm 1.7.0-alpha05

20 Mart 2024

androidx.compose.material:material-*:1.7.0-alpha05 yayınlandı. 1.7.0-alpha05 sürümü bu kayıtları 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ı. 1.7.0-alpha04 sürümü bu kayıtları içerir.

Yeni Özellikler

Sürüm 1.7.0-alpha03

21 Şubat 2024

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

API Değişiklikleri

  • BottomDrawer, deneysel sürümden kararlı sürüme yükseltildi. BottomDrawerState artık ilerleme durumunu bir işlev olarak göstererek belirli hedefler arasında ilerleme durumunu sorgulamaya olanak tanıyor. BottomDrawerState artık animasyon özelliklerinin özelleştirilmesine izin veriyor ve confirmStateChange artık sondaki bir lambda değil. (I9c029, b/261423850)
  • BackdropScaffold, deneysel sürümden kararlı sürüme yükseltildi. Animasyon özelliği artık yönergelere uygun bir tween spesifikasyonudur. BackdropScaffold için snackbarHost parametresi artık sondaki lambda'larla karışıklığa yol açmayacak son parametre değil. BackdropScaffoldState, çapalar arasındaki ilerlemeyi sorgulamak için bir progress(from, to) API'si sunar. (I73f48, b/261423218)
  • Standart alt sayfalar deneysel iken kararlı olarak yükseltildi. Kullanımdan kaldırılan kurucular kaldırıldı. Animasyon özelliği, yönergelere uygun bir ara spesifikasyon oldu. (I3c1a8, b/278692145, b/261409034)
  • Kalıcı alt sayfalar deneysel durumundan mevcut sürüme yükseltildi. Kullanımdan kaldırılan kurucular kaldırıldı. Animasyon özelliği artık yönergelere uygun bir tween spesifikasyonudur. (Ic53f4, b/278692145, b/266780235, b/261409034)

Hata Düzeltmeleri

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

Sürüm 1.7.0-alpha02

7 Şubat 2024

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

Sürüm 1.7.0-alpha01

24 Ocak 2024

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

Davranış Değişiklikleri

  • Materyal bileşenler, yeni Ripple API'leri kullanmak için taşındı ve artık RippleTheme sorgusunda yer almıyor.

API Değişiklikleri

  • rememberRipple ve RippleTheme, materyallere ve diğer tasarım sistemi kitaplıklarına yeni ripple ve RippleConfiguration API'leri ile birlikte Material-ripple'dan kaldırıldı.

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

Sürüm 1.6

Sürüm 1.6.4

20 Mart 2024

androidx.compose.material:material-*:1.6.4 yayınlandı. 1.6.4 sürümü bu kayıtları içerir.

Sürüm 1.6.3

6 Mart 2024

androidx.compose.material:material-*:1.6.3 yayınlandı. 1.6.3 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Tekrar odaklanılabilir hale getirmek için ExposedDropdownMenu ürününde 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 kayıtları içerir.

Sürüm 1.6.1

7 Şubat 2024

androidx.compose.material:material-*:1.6.1 yayınlandı. 1.6.1 sürümü bu kayıtları 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 kayıtları içerir.

Sürüm 1.6.0-rc01

10 Ocak 2024

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

Sürüm 1.6.0-beta03

13 Aralık 2023

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

Sürüm 1.6.0-beta02

29 Kasım 2023

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

Sürüm 1.6.0-beta01

15 Kasım 2023

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

Sürüm 1.6.0-alpha08

18 Ekim 2023

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

API Değişiklikleri

  • autoMirror parametresini alan aşırı yüklemesi için bir materialIcon işlevini kullanımdan kaldırın. (Ia338d)

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

Sürüm 1.6.0-alpha07

4 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha07 yayınlandı. Sürüm 1.6.0-alpha07 bu kayıtları 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ı. Sürüm 1.6.0-alpha06 bu kayıtları içerir.

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

  • Çekmeceyle ilgili işlev BottomSheetScaffold öğesinden kaldırıldı. Önceki işleve ulaşmak için BottomSheetScaffold öğenizi composable çekmeceye sarmalayın. Örnek için bkz. BottomSheetScaffoldWithDrawerSample. (I1dcc8)

API Değişiklikleri

  • Scaffold'un ölçüm sırasında veya yerleştirme sırasında alt öğelerini ölçüp ölçmeyeceğini kontrol eden geçici bir işaret kullanıma sunuldu. Bu metrik varsayılan olarak ölçümde ölçülür. Yeni davranışla ilgili sorunlar yaşıyorsanız lütfen bir sorun bildiriminde bulunun. (If6e3b)

Sürüm 1.6.0-alpha05

6 Eylül 2023

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

Yeni Özellikler

  • Sağdan sola düzenlerde oluşturulan simgeler için otomatik olarak yansıtılan simgeler için destek eklendi. Malzeme simgeleri-temel ve materyal-simgeleri genişletilmiş modüllerdeki simgeler, artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge grupları sağlamaktadır. Yeni grupların önüne Icons.AutoMirrored.Filled... vb. eklenir ve RTL düzenlerinde otomatik olarak yansıtılacak simgeler gösterilir. Otomatik olarak yansıtılabilen (ve yansıtılması gereken) simgelerin listesi için Materyal simgeleri listesine bakın.

API Değişiklikleri

  • Sağdan sola düzenlerde oluşturulan simgeler için otomatik olarak yansıtılan simgeler için destek eklendi. Malzeme simgeleri-temel ve materyal-simgeleri genişletilmiş modüllerdeki simgeler, artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge grupları sağlamaktadır. Yeni grupların önüne Icons.AutoMirrored.Filled... vb. eklenir ve RTL düzenlerinde otomatik olarak yansıtılacak simgeler gösterilir. Otomatik olarak yansıtılabilen (ve yansıtılması gereken) simgelerin listesi için Materyal simgeleri listesine bakın. Bu simgeler için daha önce sağlanan simge özellikleri artık kullanımdan kaldırıldı olarak işaretlenmektedir ve taşıma işlemine yardımcı olmak için bir değiştirme engelleme önerisi sunulmaktadır. Simgeleri RTL'de yansıtmayla ilgili özel bir işleminiz yoksa yeni simge kümesine geçmenizi ö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ı. Sürüm 1.6.0-alpha04 bu kayıtları 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ıştığı sorun düzeltildi. (If2c5d)
  • DropdownMenu ürününün offset hesaplaması, x ofseti yalnızca yerel düzen yönüne bağlı olacak şekilde düzeltildi ve artık menü ekranın alt kısmına yakın olduğunda y ofseti tersine çevrilmeyecek. (Iccc74, b/294103942)
  • BottomSheetScaffold öğesinin düzeninin dahili yapısı optimize edildi ve LookaheadLayout içinde BottomSheetScaffold ile ilgili olası bir 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ı. Sürüm 1.6.0-alpha03 bu kayıtları içerir.

API Değişiklikleri

  • Material2 bileşenleri, Android'de uçtan uca işlevselliği desteklemek için windowInsets ileten ayrı bir API'ye sahip. Material3 bileşenlerinden farklı olarak, material2 bileşenleri varsayılan olarak inset'leri desteklemez ve değer, manuel olarak iletilmelidir. Yol gösterici bilgiler 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ı. Sürüm 1.6.0-alpha02 bu kayıtları içerir.

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen seviyesine taşıyoruz. Bu, şu bileşenler için geçerlidir: SwipeToDismiss ve E-tablo tabanlı bileşenler. Lütfen yoğunluğun bir parametre olduğu yeni aşırı yükü kullanın. (I1846e)
  • composable'lara izin verilen girişleri belirten ek ek açıklamalar (I51109)
  • API dosyaları uyumluluğu engellemeye ek açıklama ekleyecek şekilde güncellendi (I8e87a, b/287516207)
  • FabPosition için yeni Başlangıç hizalaması eklendi (Ib7aea, b/170592777)
  • Materyal 2'deki TextFieldColorsWithIcons kullanımdan kaldırılmış ve yerini TextFieldColors almıştır. leadingIconColor veya trailingIconColor geçersiz kılınırken aşırı yükü interactionSource ile 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ı. Sürüm 1.6.0-alpha01 bu kayıtları içerir.

Davranış Değişiklikleri

  • Malzeme 2 tipografisinde includeFontPadding artık varsayılan olarak false. Varsayılan satır yüksekliği stili de Trim.None ve Alignment.Center olarak değiştirildi ve Typography adlı öğenin TextStyle öğelerine açıkça lineHeight (sp cinsinden) eklendi. Bu değerleri özelleştirmek istiyorsanız API dokümanlarına göz atın. Bu değişikliklerin ayrıntılı bir açıklaması için blog yayınına göz atın. (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'lerine bakın. (I732e0)

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) sabit ile kaydırma yönündeki en yakın çapa arasındaki ilerlemeyi gösteren bir ilerleme özelliği gösteriyor. (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 kayıtları 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ı. 1.5.2 sürümü bu kayıtları 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 serbest bırakıldı. Sürüm 1.5.1 bu kayıtları 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 kayıtları içerir.

1.4.0'dan sonraki önemli değişiklikler

API Değişiklikleri

  • BottomSheetScaffold içinde Scrollable1 API'lerine değişiklikler eklendi. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık hareketli değer olarak gösteriliyor. animateTo ve snapTo dahili verilerdir. Bunun yerine expand() ve collapse() değerlerini 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 renk parametresi ve 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ğa ait confirmStateChange, confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğenin daha küçük ölçülmesi durumunda, dokunma etkileşimlerini belirginleştirmek amacıyla en az 48.dp boyut ayırmak için kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout içinde Kaydırılabilir API'lere değişiklikler eklendi. ModalBottomSheetState animasyonunu artık animationSpec parametresi almıyor ve göreli konum artık null özellikli. Belirli uzaklıkta kopyasının kullanılmasını zorunlu kılmak için requireOffset işlevini kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (I8f206)
  • ModalDrawer. DrawerState ürününün animateTo uygulamasındaki Kaydırılabilir API'lere eklenen değişiklikler, açma ve kapatma yöntemleriyle değiştirildi ve ofset artık null kullanılabilir. Belirli uzaklıkta kopyasının kullanılmasını zorunlu kılmak için requireOffset işlevini kullanın. (I3de9e)
  • Hareketlerin kaydırma etkinliklerine dönüşmesi ihtimaline karşı bastırmaları doğru bir şekilde geciktirecek Çekmeceler ve E-Tablolar güncellendi.
  • Malzeme ve malzeme3 Metin, TextField ve OutlinedTextField öğelerine minLines parametresi eklendi. Bu parametre, satır sayısı (I4af1d) açısından bileşenin minimum yüksekliğinin ayarlanmasını sağlar.

Hata Düzeltmeleri

  • pullRefresh öğesinin hız kullanmaması ve fazla kaydırmanın gösterilmesine neden olan sorunu düzeltir. Ayrıca Modifier.pullRefresh içindeki onRelease lambda'nın API imzası, tüketilen hız için bir Kayan nokta döndürülecek şekilde değiştirildi (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) sabit ile kaydırma yönündeki en yakın çapa arasındaki ilerlemeyi gösteren bir ilerleme özelliği gösteriyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • AlertDialog kapatma işlemi, iletişim kutusunun genişliğine sığacak şekilde birbirinin üzerine yığıldığında onay işleminin altında görünecek şekilde düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)
  • gesturesEnabled yanlış değerine ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırmaya katılmaz. (I634f3, b/215403277)
  • Slotlar için boş içerik sağlandığında BottomSheetScaffold ürününün kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • Tıklamalara/işaretçi etkinliklerine müdahale eden PullRefreshIndicator sorununu düzeltir. (2494256, b/271777421)
  • Yön değişikliğinde ModalBottomSheetLayout öğesinin bir kenarda kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğinin içindeki/üzerindeki düzen animasyonları (ör. Modifier.animateContentSize) artık düzgün ç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ı. 1.5.0-rc01 sürümü bu kayıtları içerir.

Sürüm 1.5.0-beta03

28 Haziran 2023

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

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) sabit ile kaydırma yönündeki en yakın çapa arasındaki ilerlemeyi gösteren bir ilerleme özelliği gösteriyor. (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ı. 1.5.0-beta02 sürümü bu kayıtları içerir.

Sürüm 1.5.0-beta01

24 Mayıs 2023

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

API Değişiklikleri

  • DrawerState ve BottomDrawerState ofseti artık boş değer atanmamış. 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 geçirme seçeneği eklendi. (Idb009, b/185304441)
  • ModalBottomSheetLayout hareketini etkinleştirme/devre dışı bırakma desteği eklendi. Böylece kullanıcılar daha fazla öne çıkan alt sayfada bunu yapılandırabilecek (I40af0)
  • Metin renginin verimli bir şekilde animasyonunun ayarlanmasına veya ayarlanmasına olanak tanımak için BasicText öğesine bir renk parametresi eklendi. (Iffd88, b/246961787)
  • isContainer semantik mülkünü isTraversalGroup olarak yeniden adlandırma (I121f6)

Hata Düzeltmeleri

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

Sürüm 1.5.0-alpha04

10 Mayıs 2023

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

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen seviyesine taşıyoruz. Bu, şu bileşenler için geçerlidir: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. Lütfen yoğunluğun bir parametre olduğu 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ı. Sürüm 1.5.0-alpha03 bu kayıtları içerir.

API Değişiklikleri

  • Yeni SwipeableV2 API'lerini kullanmak için BottomDrawer dahili bilgilerini güncelleyin. Bu nedenle, BottomDrawerState artık yalnızca sınıf düzeyinde tanımlanmış API'lara sahip olacağı için SwipeableState öğesinden yöntemleri/özellikleri devralmaz. Dahili bir SwipeableV2State ile beste kullanıyoruz. Göreli konum artık boş bir kayan nokta mülküdür. Geçerli değere ve kaydırma hedefi değerine, currentValue ve targetValue özellikleri aracılığıyla erişilebilir. Açık/genişletme/kapatma gibi önceki sınıf düzeyindeki yöntemler ve isOpen/isClosed gibi özellikler desteklenmeye devam etmektedir. (Iad40c, b/178529942, b/220676296)

Hata Düzeltmeleri

  • Switch bileşeninin dahili öğeleri güncellendi. Anahtar artık sürüklerken en yakın durumu (hedef durum) önizleyecektir. (Id90d4)
  • BottomSheetScaffold dilindeki animasyonlu sayfa içeriği (ör. sayfa içeriğinde Modifier.animateContentSize) optimize edildi ve artık düzgün çalışıyor. (Ia913c, b/270518202, b/254446195)
  • gesturesEnabled, false olarak ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırmada yer almayacak. (I634f3, b/215403277)

Sürüm 1.5.0-alpha02

5 Nisan 2023

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

Hata Düzeltmeleri

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

Sürüm 1.5.0-alpha01

22 Mart 2023

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

Hata Düzeltmeleri

  • Yonga 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 ModalBottomSheetLayout öğesinin bir kenarda kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğinin içindeki/üzerindeki düzen animasyonları (ör. Modifier.animateContentSize) artık düzgün ç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, herhangi bir değişiklik yapılmadan yayınlandı (yalnızca sürüm güncellemesi).

Sürüm 1.4.2

19 Nisan 2023

androidx.compose.material:material-*:1.4.2 yayınlandı. 1.4.2 sürümü bu kayıtları içerir.

Sürüm 1.4.1

5 Nisan 2023

androidx.compose.material:material-*:1.4.1 yayınlandı. 1.4.1 sürümü bu kayıtları 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 kayıtları içerir.

1.3.0'dan sonraki önemli değişiklikler

API Değişiklikleri

  • Modifier.minimumInteractiveComponentSize ekleyin. Öğenin daha küçük ölçülmesi durumunda, dokunma etkileşimlerini belirginleştirmek amacıyla en az 48.dp boyut ayırmak için kullanılabilir. (I33f58, b/258495559)
  • ModalDrawer içinde Kaydırılabilir API'lere değişiklikler eklendi. DrawerState öğesinin animateTo özelliği, açma ve kapatma yöntemleriyle değiştirilmiştir ve göreli konum artık null yapılabilir. Belirli uzaklıkta kopyasının kullanılmasını zorunlu kılmak için requireOffset işlevini kullanın. (I3de9e)
  • Malzeme ve malzeme3 Metin, TextField ve OutlinedTextField öğelerine minLines parametresi eklendi. Bu parametre, satır sayısı (I4af1d) açısından bileşenin minimum yüksekliğinin ayarlanmasını sağlar.
  • BasicText ve BasicTextField öğelerine minLines parametresi eklendi. Bu composable'ların satır sayısına göre minimum yüksekliğinin ayarlanmasını sağlar (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 serbest bırakıldı. 1.4.0-rc01 sürümü bu kayıtları içerir.

Sürüm 1.4.0-beta02

22 Şubat 2023

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

API Değişiklikleri

  • BottomSheetScaffold içinde Kaydırılabilir API'lere değişiklikler eklendi. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık hareketli değer olarak gösteriliyor. animateTo ve snapTo dahili verilerdir. Bunun yerine expand() ve collapse() değerlerini 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.semantics (Ibb4ba) özelliğini kullanarak rol ayarlamak için bunları kullanan bileşenler güncellendi.
  • Doldurulmuş desktop_mac, directions ve kitchen simgelerini ayarlayan genişletilmiş Material simgelerinde 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ı. 1.4.0-beta01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • pullRefresh öğesinin hız kullanmaması ve fazla kaydırmanın gösterilmesine neden olan sorunu düzeltir. Ayrıca Modifier.pullRefresh içindeki onRelease lambda'nın API imzası, tüketilen hız için bir Kayan nokta döndürülecek şekilde değiştirildi (I7db65, b/266874741)
  • LocalMinimuTouchTargetEnforcement mülk alıcısı geri yüklendi ve kullanımdan kaldırıldı olarak işaretlenip LocalMinimumInteractiveComponentEnforcement hedefine yönlendiriliyor. (I60dd5)

Sürüm 1.4.0-alpha05

25 Ocak 2023

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

Hata Düzeltmeleri

  • ModalBottomSheetLayout's HalfExpanded durumunun yanlış hesaplanması ve sayfanın kayan görünmesi sorunu düzeltildi. (I8c615, b/265610459)
  • ModalBottomSheetLayout ürününde, bazı durumlarda gizli durumdan 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ı. Sürüm 1.4.0-alpha04 bu kayıtları içerir.

API Değişiklikleri

  • Yüzeylere IsContainer semantik özelliğine eklendi. Bu özellik, geçiş sırasının yüzeyler gibi öğelerin anlamsal anlamına göre belirlendiği daha sonra yapılacak 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 renk parametresi ve 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ğa ait confirmStateChange, confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Kullanımdan kaldırılan gizli işlevlerin daha fazla döndürme türü boş değer atanabilirliği (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğenin daha küçük ölçülmesi durumunda, dokunma etkileşimlerini belirginleştirmek amacıyla en az 48.dp boyut ayırmak için kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout içinde Kaydırılabilir API'lere değişiklikler eklendi. ModalBottomSheetState öğesinin animateTo parametresi artık animationSpec parametresi kullanmıyor ve gösterilen offset artık boş değer atanabilir. offset özelliğini zorunlu kılmak için requireOffset öğesini kullanın. (Ia2e79)

Hata Düzeltmeleri

  • ModalBottomSheetLayout adlı sayfaların genişliği artık 640 dp'dir. (I71a4f, b/234927577)
  • rememberPullRefreshState uygulamasının, refreshThreshold ve refreshingOffset öğelerini zaman içinde güncellememesi sorunu düzeltildi. (Ifed10, b/263159832)
  • İlerleme göstergelerinin ilerleme durumu, artık beklenen aralığa düzgün bir şekilde sınırlanmıştır. (I8a7eb, b/262262727)
  • ModalBottomSheetState henüz hiçbir bağlantı almadığında snapTo veya animateTo çağrıldığında istisna göndermek yerine currentValue animasyon olmadan güncellenir. (I2c91b)
  • Materyal 2 FilterChip uygulamasındaki etkin durumu düzeltildi. (Id326a, b/261329817)
  • Dikeyden yataya döndürüldüğünde HalfExpanded olduğunda ModalBottomSheetLayout ürününün kilitlenmesine neden olan hata düzeltildi. Lütfen doğru initialValue öğesini aktardığınızdan emin olun (örneğin, yapılandırmayı kontrol ederek). (Ie8df7, b/182882364)
  • Sayfa içeriği boş olduğunda ModalBottomSheetLayout ürünü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örünür. (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üncelleme yaparken java.lang.NoSuchFieldError hatasıyla karşılaşabilirsiniz. Sorunun ilk olarak bildirildiği yer burada. Bir düzeltme gönderildi. Bu düzeltme bir sonraki Compose güncellemesinde hazır olacaktır. 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üzü 1.4.0-alpha03'e düşürün.

Sürüm 1.4.0-alpha03

7 Aralık 2022

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

API Değişiklikleri

  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (I8f206)
  • ModalDrawer içindeki Swipeable API'lerinde değişiklikler eklendi. DrawerState öğesinin animateTo etiketi, open ve close yöntemleriyle değiştirildi ve göreli konum artık null kullanılabilir. Belirli uzaklıkta kopyasının kullanılmasını zorunlu kılmak için requireOffset işlevini kullanın. (I3de9e)
  • Üst öğelerin kaydırma bilgilerini sorgulamak için Değiştirici API'si eklendi. (I2ba9d, b/203141462)
  • Hareketler kaydırma etkinliğine dönüşebilirken basma etkileşimlerini doğru bir şekilde ertelemek için Clickable içinde kullanılır.
  • Clickables işlevinin, Scrollable ViewGroup içinde kullanıldığında dalgaları doğru şekilde geciktirmemesi düzeltildi.
  • Hareketlerin kaydırma etkinliklerine dönüşmesi ihtimaline karşı bastırmaları doğru bir şekilde geciktirecek Çekmeceler ve E-Tablolar güncellendi.

Hata Düzeltmeleri

  • Yenileme durumu true olarak değiştirilmediğinde, onRefresh çağrıldıktan sonra PullRefreshIndicator öğesinin takılması sorunu düzeltildi. (Ie2416, b/248274004)

Bağımlılık Güncellemeleri

  • Compose Kullanıcı Arayüzü ve Compose Material artık Lifecycle 2.5.1'i kullanır. (I05ab0, b/258038814)

Sürüm 1.4.0-alpha02

9 Kasım 2022

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

API Değişiklikleri

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

Sürüm 1.4.0-alpha01

24 Ekim 2022

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

API Değişiklikleri

  • Hareket algılayıcıları için yeni bir yöntem (awaitEachGesture()) eklendi. forEachGesture() ile benzer şekilde çalışır, ancak hareketler üzerindeki döngü tamamen AwaitPointerEventScope içinde çalıştığından etkinlikler yinelemeler arasında kaybolmaz.
  • Hareketler arasında etkinliklerin kaybedilmesine izin verdiğinden forEachGesture() kullanımdan kaldırılmış ve yerine awaitEachGesture() getirilmiştir. (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ı. 1.3.1 sürümü bu kayıtları 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 kayıtları içerir.

1.2.0'dan sonraki önemli değişiklikler

Zarar veren davranış değişikliği

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

API Değişiklikleri

  • Oluşturmak için aşağı çekme bileşeni ekleyin (I29168).
  • RangeSlider'daki (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ı. 1.3.0-rc01 sürümü bu kayıtları içerir.

Sürüm 1.3.0-beta03

21 Eylül 2022

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

API Değişiklikleri

  • Oluşturmak için aşağı ç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ı. 1.3.0-beta02 sürümü bu kayıtları içerir.

1.3.0-beta01 sürümünden beri 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ı. 1.3.0-beta01 sürümü bu kayıtları içerir.

Zarar veren davranış değişikliği

İletişim kutularında 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 bir erişilebilirlik hatasını azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up içindeki içerikle etkileşimde bulunabilmesini sağlamak için yapılmıştır.

Bu değişiklikten yalnızca, yüksekliği 8 dp'den yüksek seviyelere ayarlanmış özel bir iletişim kutusu veya pop-up uygulaması oluşturuyorsanız etkilenir. İletişim kutusu veya pop-up'ınızın yüksekliğini düşürebilirsiniz. Bu yeni davranışı devre dışı bırakmanız gerekirse kendi iletişim kutunuzu veya pop-up'ınızı istediğiniz yükseklik grubuyla bölebilirsiniz. Erişilebilirlik olumsuz etkilenebileceğinden ve iletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından erişilebilir ve okunabilir olduğundan emin olmak geliştiriciye ait olduğundan bunun yapılması önerilmez.

Sürüm 1.3.0-alpha03

10 Ağustos 2022

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

Sürüm 1.3.0-alpha02

27 Temmuz 2022

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

Harici Katkı

  • Scaffold'daki FloatingActionButton ile ilgili AnimatedVisibility sorununu 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ı. Sürüm 1.3.0-alpha01 bu kayıtları içerir.

API Değişiklikleri

  • RangeSlider öğesinde değerler olan parametre adını değere değiştirin (I3b79a)

Hata Düzeltmeleri

  • Daha anlamlı içerik açıklaması 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ı. 1.2.1 sürümü bu kayıtları 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 kayıtları içerir.

Sürüm 1.2.0-rc03

29 Haziran 2022

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

  • 1.2.0-rc02 sürümünden beri değişiklik yok.

Sürüm 1.2.0-rc02

22 Haziran 2022

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

Sürüm 1.2.0-rc01

15 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc01 yayınlandı. 1.2.0-rc01 sürümü bu kayıtları 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şturuluyor

Hata Düzeltmeleri

  • Güncelleme rozeti, simge yerine etikete rozetin yapıştırılacağı, önde simgesi sekme olan güncellemeler rozeti sunar. (I90993)

Sürüm 1.2.0-beta03

1 Haziran 2022

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

Hata Düzeltmeleri

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

Sürüm 1.2.0-beta02

18 Mayıs 2022

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

Sürüm 1.2.0-beta01

11 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta01 yayınlandı. 1.2.0-beta01 sürümü bu kayıtları 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ı. Sürüm 1.2.0-alpha08 bu kayıtları içerir.

API Değişiklikleri

  • Kısmi tüketim (düşüş VEYA konum) PointerInputChange içinde kullanımdan kaldırıldı. Değişiklikten tamamen yararlanmak için consume() öğesini kullanabilirsiniz. Başka birinin değişikliği daha önce kullanıp kullanmadığını belirlemek için isConsumed kullanabilirsiniz.
  • PointerInputChange::copy() artık her zaman yüzeysel bir kopya oluşturuyor. Bu, kopyalardan biri tüketildiğinde PointerInputChange kopyalarının kullanılacağı anlamına gelir. Bağlantısız bir PointerInputChange oluşturmak istiyorsanız bunun yerine kurucuyu 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ı. Sürüm 1.2.0-alpha07 bu kayıtları içerir.

Sürüm 1.2.0-alpha06

23 Mart 2022

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

API Değişiklikleri

  • Surface API'deki (I56bcb) değişiklikleri uygulamak için tıklanabilir Card API'deki güncellemeler
  • Seçilebilir ve açılıp kapatılabilir yüzeyler için ek aşırı yükleme işlevleri 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ı. Sürüm 1.2.0-alpha05 bu kayıtları içerir.

API Değişiklikleri

  • LazyVerticalGrid ve LazyHorizontalGrid kararlı durumda. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen androidx.compose.foundation.lazy'deki içe aktarma işlemlerinizi androidx.compose.foundation.lazy.grid olarak güncelleyin. (I2d446, b/219942574)
  • WindowInsetsControllerCompat için yalnızca bir Görünüme dayalı önceki değişiklik geri alındı ve yine bazı pencere işaretlerini yönetmek için gereken bir Pencere gerekiyor. Doğru pencerenin kullanıldığından emin olmak için (örneğin, Görünüm iletişim kutusunda olduğu gibi) WindowCompat.getInsetsController yerine ViewCompat.getWindowInsetsController desteği sonlandırıldı. (I660ae, b/219572936)
  • Metin:includeFontPadding artık varsayılan olarak kapalı. includeFontPadding=false sonucunda ortaya çıkan kırpma sorunları işlenir ve uzun komut dosyaları için kırpma işlemi yapılmaz. (I31c84, b/171394808)
  • Çapraz eksen boyutlarını tanımlamak için yeni bir LazyVerticalGrid API'si eklendi (I17723)

Sürüm 1.2.0-alpha04

23 Şubat 2022

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

API Değişiklikleri

  • Add support for filter chips (I39a6e, b/192585545)
  • TextFieldDecorationBox ve OutlinedTextFieldDecorationBox eklendi. Bunları BasicTextField ile birlikte kullanmak, Materyal Tasarım metin alanlarını temel alan ancak daha fazla özelleştirme seçeneği sunarak özel metin alanları oluşturmanıza yardımcı olur.
  • Metin alanlarındaki yatay ve dikey dolguları ayarlamanın bir yolu sağlandı. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/1680
  • Bir composable işlevin, kullanmak üzere tasarlanmamış bir uygulamayı hedefleyen çağrıldığında derleme zamanı raporlamasını sağlayan ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget eklendi.

    Çoğu durumda ek açıklamalar, oluşturucu derleyici eklentisi tarafından tahmin edilebilir. Dolayısıyla, bu ek açıklamaların doğrudan kullanılması nadir bir durumdur. Çıkarım yapılamayan durumlar arasında özel uygulayıcı, soyut composable işlevleri (arayüz yöntemleri gibi), alanlar veya composable lambda olan genel değişkenler (yerel değişkenler ve parametreler çıkarım yapılır) oluşturup kullanmak veya ComposeNode ya da ilgili composable işlevleri kullanmak yer alır.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode çağıran composable işlevlerin, işlev ve tümcomposable lambda parametre türleri için CompoableTarget ek açıklaması eklemesi gerekir. Bununla birlikte, ComposableTargetMarker ek açıklaması içeren bir ek açıklama oluşturmanız ve daha sonra, işaretli ek açıklamanın doğrudan ComposableTarget yerine kullanılması önerilir. ComposableTargetMarker ile işaretlenmiş bir composable ek açıklama, applier parametresi olarak özellik sınıfının tam adına sahip ComposbleTarget özelliğine eşdeğerdir. ComposableTargetMarker kullanımına ilişkin örnek için anroidx.compose.ui.UiComposable sayfasını inceleyin. (I38f11)

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha03 yayınlandı. Sürüm 1.2.0-alpha03 bu kayıtları 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ı. Sürüm 1.2.0-alpha02 bu kayıtları içerir.

API Değişiklikleri

  • Karmaşık bir mantığa sahip olmayan mevcut yöntemlerin aşırı yüklendiği yöntemlere NonRestartableComposable eklendi. Bu, çağrılan iç fonksiyonda tekrarlanan tüm parametreler için derleyici tarafından oluşturulan not alma kontrollerini azaltır (eşittir). (I90490)
  • İşlem çipi için destek 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 kayıtları içerir.

Bağımlılık Güncellemeleri

  • Artık Kotlin 1.6.10 hizmetini kullanabilirsiniz.

Harici Katkı

  • ModalBottomSheetState artık isSkipHalfExpanded işaretine sahip. Bu değer, oluşturucu aracılığıyla ayarlanabilir veya daha sonra ModalBottomSheetState ürününün isSkipHalfExpanded özelliği true değerine 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ı. 1.1.1 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList adresindeki NullPointerException sorununu düzeltin (aosp/1947059, b/206677462)
  • Android'de panodan okuma sırasında pano içeriğinin neden kilitlenmesi düzeltildi. (I06020, b/197769306)
  • LazyVerticalGrid içinde sabit RTL (aosp/1931080, b/207510535)

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 kayıtları içerir.

1.0.0'dan sonraki ö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 Material bileşenlerinin düzen alanlarını, dokunma hedefi boyutu için Materyal erişilebilirlik yönergelerini karşılayacak şekilde genişleteceğini unutmayın. Örneğin, Düğmenin boyutunu daha küçük olarak ayarlasanız bile Düğme dokunma hedefi minimum 48x48 dp boyuta genişler. Bu işlem, Compose Materyalini Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirir ve Görünümler ve Oluşturma öğelerini birlikte kullandığınızda tutarlı bir davranış sağlar. Bu değişiklik, kullanıcı arayüzünüzü Material Material bileşenlerini kullanarak oluşturduğunuzda, dokunma hedefi erişilebilirliği için minimum gereksinimlerin karşılanmasını da sağlar.
  • Navigasyon Rail için Kararlı Destek
  • Daha önce deneysel olan bazı API'leri kararlı sürüme geçirir
  • Kotlin'in 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ı. 1.1.0-rc03 sürümü bu kayıtları içerir.

Davranış Değişiklikleri

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

Hata Düzeltmeleri

  • Minimum dokunma hedefi değiştiricileri incelenirken düzen inceleyici 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ı. 1.1.0-rc01 sürümü bu kayıtları 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ı. 1.1.0-beta04 sürümü bu kayıtları 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ı. 1.1.0-beta03 sürümü bu kayıtları içerir.

Sürüm 1.1.0-beta02

3 Kasım 2021

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

Hata Düzeltmeleri

  • Dalgalar ve diğer göstergeler artık sadece bir Modifier.scrollable() kapsayıcısının içinde olduğunda gecikecek ve bir aşağı etkinliği için her zaman ertelenecektir. (Ibefe0, b/203141462)

Sürüm 1.1.0-beta01

27 Ekim 2021

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

Yeni Özellikler

  • Google+ Dalgaları artık fareyle üzerine gelme ve odaklama durumlarını desteklediğinden, Düğme gibi bir bileşenin üzerine gelindiğinde / odaklandığında 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 kayıtları içerir.

API Değişiklikleri

  • Layout için iyileştirilmiş verimlilikle çocuksuz bir aşırı yükleme eklendi (Ib0d9a)
  • İçinde TextField ve DropdownMenu bulunan ExposedDropdownMenuBox tabanlı ExposedDropdownMenu uygulaması (If60b2)
  • dismissOnOutsideClick, PopupProperties Ekip Drive'ına eklendi ve kullanımdan kaldırılan dismissOnClickOutside yerine eklendi. Yeni özellik, tıklama konumunu ve bağlayıcı sınırlarını alarak onDismissRequest'in çağrılıp çağrılmaması gerektiği üzerinde daha ayrıntılı kontrol sağlar. Örneğin bu, sabite yapılan dokunmalar için bağlayıcının kapatılmasını önlemek açısından yararlı olabilir.
    • updateAndroidWindowManagerFlags, PopupProperties öğesine eklendi ve pop-up tarafından Android WindowManager'a iletilen işaretler üzerinde alt düzey denetim olanağı sundu. Lambda parametresi, WindowManager flag'lerini sağlayan PopupProperties değerlerinden hesaplanan işaretler olacaktır: ör. odaklanılabilir. Lambda'nın sonucu, Android WindowManager'a aktarılacak son işaretler olur. Varsayılan olarak, updateAndroidWindowManagerFlags, parametrelerden hesaplanan işaretleri değiştirmez. Bu API, yalnızca pop-up'ın çok belirli davranış gereksinimleri 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ı. Sürüm 1.1.0-alpha05 bu kayıtları içerir.

API Değişiklikleri

  • Erişilebilir dokunma hedefi olmayan Malzeme bileşenleri için minimum dokunma hedefi boyutu ekler. Bu şekilde, yeterince büyük bir dokunma hedefine sahip olduklarından emin olmak için bileşenlerin etrafına ekstra boşluk eklendiğinden, bu bileşenlerin boyutunun görsel boyutları olduğunu varsayan mevcut kullanıcı arayüzleri değişebilir ve dokunma hedefi boyutunu hesaba katmaz. Bir hiyerarşi genelinde bu davranışı devre dışı bırakmak için yerel deneysel LocalMinimumTouchTargetEnforcement bileşimini kullanabilirsiniz. Ancak bunun amacı, mevcut kullanıcı arayüzlerini yeni minimum boyutu dikkate alacak şekilde güncellerken geçici bir kaçış yoludur. (I9b966, b/149691127, b/171509422)
  • EngagementSource'u öncüColor ve TrailingColor'a sağlamak için TextFieldColors'ın genişletildiği deneysel TextFieldColorsWithIcons arayüzü eklendi. Bu, TextField 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ı. Sürüm 1.1.0-alpha04 bu kayıtları içerir.

API Değişiklikleri

  • performTouchInput ve TouchInjectionScope ile değiştirilen performGesture ve GestureScope kullanımdan kaldırıldı. (Ia5f3f, b/190493367)
  • Geliştiricilerin dokunma hedeflerinin minimum erişilebilirlik değerlerini karşılamasını sağlayabilmek için SemanticsNode öğesine, minimum dokunma hedefi boyutunu içeren touchBoundsInRoot eklendi. (I2e14b, b/197751214)

Hata Düzeltmeleri

  • Klibin, minimum dokunma hedefi amaçları için dokunma hedefi sınırlarını klip bölgesinin dışına genişletmesine izin verin. (I43e10, b/171509422)
  • Görüntü yoğunluğundan bağımsız olarak tek piksellik ayırıcıların çizilmesini desteklemek için Divider composable, Dp.Hairline kalınlık parametresine uygun olacak ş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ı. Sürüm 1.1.0-alpha03 bu kayıtları içerir.

Yeni Özellikler

  • 1.1.0-alpha03 oluşturma işlemi, Kotlin 1.5.30 biçimini temel alacak şekilde güncellendi. (I74545)

API Değişiklikleri

  • Kesilen sınırları almak için test yöntemi eklendi. (I6b28e)
  • Erişilebilirlik sağlamak amacıyla anlambilimde ve işaretçi girişinde kullanılmak üzere 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ı. Sürüm 1.1.0-alpha02 bu kayıtları içerir.

Harici Katkı

  • Kaydırma ofsetinin, bir bağlayıcının yuvarlama hatasının içinde olduğu durumda 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 kayıtları içerir.

API Değişiklikleri

  • İsteğe bağlı bir filterQuality parametresini kullanmak için kaynak ve hedef dikdörtgenlerini tüketen DrawScope#drawImage yöntemi güncellendi. Bu özellik, piksel tabanlı sanat için ölçeklendirildiğinde pikselleştirilmesi amaçlanan piksel sanatı için faydalıdır. BitmapPainter + Image composable, isteğe bağlı birFilterQuality parametresini de kullanacak şekilde güncellendi (Ie4fb0, b/180311607)
  • Rozetin adı RozetidBox olarak değiştirildi, parametreler Rozet composable'ı kabul edilecek şekilde değiştirildi. RozetidBox için tipik bir rozet içeriği olan Rozet bileşeni eklendi. (I639c6)
  • NavigationRail bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I8de77)

Hata Düzeltmeleri

  • Alta hizalı bir NavigationRail örneği ve Katalog uygulaması tanıtımı eklendi. (I3cffc)
  • İletişim kutuları artık platform boyutlandırma davranışını takip etmektedir. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth politikasını false olarak ayarlayın. (Iffaed, b/192682388)
  • Katalog uygulamasına navigasyon-ray 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 kayıtları içerir.

Hata Düzeltmeleri

  • türvedStateOf örneklerinin kilitlenmesini izlemeyle ilgili bir sorun 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 kayıtları içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.31 temel alınarak 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 kayıtları içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.30 temel alınarak 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 kayıtları içerir.

Compose 1.0.2 sürümünü desteklemek için güncellendi. 1.0.2 oluşturma işlemi, 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ı. 1.0.1 sürümü bu kayıtları içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.21 temel alınarak 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 kayıtları 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 Sürüm Oluşturma 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+ sürümüne yükseltin. Bu sorun, Android Studio Bumblebee ve AGP 7.1 sürümünün bir 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ı. 1.0.0-rc02 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • İletişim kutuları artık platform boyutlandırma davranışını takip etmektedir. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth değerini 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ı. 1.0.0-rc01 sürümü bu kayıtları içerir.

API Değişiklikleri

  • BadgeBox bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I5e284)
  • PopupProperties öğesindeki 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

  • Materyal Tasarım özellikleriyle uyumlu olması için, etiket yer tutucu olarak kullanılırken etiket için geçersiz girişe sahip OutlineTextField'in hata rengi kullanımı durduruldu. İkinci yöntem, metin alanında giriş metni yoksa 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 değerini döndürür. (I45f78)

Sürüm 1.0.0-beta09

16 Haziran 2021

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

API Değişiklikleri

  • Kenarlığın şeklini özelleştirebilmek için OutlineTextField parametresine Ş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'ta Scrim kaybolur. Ardından Color.Unspecified geçilir (I2d899, b/182063309)

Eklenmiş Profil Kuralları

Bu sürümde aşağıdaki oluşturma modüllerine (I14ed6) profil kuralları eklenir:

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.temel
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-dalga
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • 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 baseline-prof.txt metin dosyasında belirtilir. Dosya, satır başına bir kural belirtir. Bu örnekte, bir kural kitaplıktaki yöntemler veya sınıflarla eşleştirme kalıbıdır. Bu kuralların söz dizimi, adb shell profman --dump-classes-and-methods ... kullanılırken kullanılan, kullanıcılar tarafından 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>
    
  • Bir sınıf kuralı 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şaretlenmemesi gerektiğini belirtmek için H, S ve P karakterlerinden bir veya daha fazlasını içerir.

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

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

  • Tek bir kuralın birden fazla yöntemi veya sınıfı kapsamasını sağlamak 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 "sıcak" bir yöntem olduğunu ve önceden derlenmesi gerektiğini belirtir.

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

  • P işaretine sahip bir yöntem, bunun başlatma sonrasında ç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ığında önceden ayrılması gerektiğini gösteriyor.

Nasıl çalışır?

  • Kitaplıklar, AAR yapılarında paketlenecek bu kuralları tanımlayabilir. Bu yapıları içeren bir APK oluşturulduğunda, bu kurallar birleştirilir ve birleştirilen kurallar, APK'ya özel kompakt bir ikili ART profili oluşturmak için kullanılır. Böylece ART, uygulamanın performansını özellikle ilk çalıştırmada iyileştirmek için uygulamanın belirli bir alt kümesini önceden derlemek amacıyla APK cihazlara yüklendiğinde bu profilden yararlanabilir. Bu işlemin hata ayıklaması yapılabilir uygulamalar üzerinde 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ı. 1.0.0-beta08 sürümü bu kayıtları içerir.

Yeni Özellikler

Davranış Kırıcı API Değişikliği

  • DAVRANIŞLAR: Kart artık tıklamaları tüketiyor ve Card(Modifier.clickable) aracılığıyla eklenen tıklamalar işlemsiz oluyor. Lütfen onClick'i kabul eden bir Kartın yeni, deneme amaçlı aşırı yüklenmesini kullanın. (Ia8744, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri de işleyen yeni bir Kart aşırı yüklemesi eklendi: gösterim, engagementSource, etkin/devre dışı. Kart, bu gibi durumlarda dalga göstergesini kırpmayacağı için Modifier.clickable ile birlikte normal ve tıklanamayan bir Kart kullanılamadı.
  • DAVRANIŞLAR: Şu anda yüzeyde tıklamalar tüketiliyor, Surface(Modifier.clickable) aracılığıyla eklenen tıklamalar işlemsiz oluyor. Lütfen onClick'i kabul eden yeni bir deneme amaçlı aşırı yükleme kullanın. (I73e6c, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri de işleyen yeni bir yüzey aşırı yüklemesi eklendi: gösterge, engagementSource, etkin/devre dışı. Böyle durumlarda Yüzey dalga göstergesini kırpmayacağından Modifier.clickable ile normal bir tıklanabilir olmayan Yüzey kullanılamadı.

API Değişiklikleri

  • FabPosition, gelecekte olası genişlemeyi desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb)
  • Yeni enum değerleri eklendiğinde kapsamlı ifadelerle ilgili 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 engellemek için tıklanabilir / değiştirilebilir özelliğine dokunma zaman aşımı ekler (Ia2704, b/168524931)
  • ContentDescription ve Text semantics özellikleri artık tek değerler değil, listelerdir. Böylece birleştirme yapmak yerine, olduğu halde birleştirebilirsiniz. Ayrıca bu değişiklikleri kullanmak için daha iyi test API'leri sağlandı (Ica6bf, b/184825850)
  • Modifier.focusModifier() desteği sonlandırılmış olup yerine Modifier.focusTarget() (I6c860) ile değiştirilmiştir
  • FocusState sıralaması, FocusState arayüzüyle değiştirildi (Iccc1a, b/187055290)
  • Görünüm destekli dalga uygulaması kararlı olduğu için 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 zincirindeki bu değiştiricinin koordinatlarını bildirmek için değiştirildi. Bu, artık değiştiricilerin sıralamasının, hangi koordinatların raporlanacağını etkilediği anlamına gelir. (Ieb67d, b/177926591)
  • Mevcut Compose Materyal kataloğuna BENİOKU bir değer eklendi. (If9191)

Sürüm 1.0.0-beta07

18 Mayıs 2021

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

API Değişiklikleri

  • Navigasyon Oluşturma'da rota desteği için artık uzantı yöntemlerini kullanmanız gerekmez. (I22beb, b/172823546)

Sürüm 1.0.0-beta06

5 Mayıs 2021

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

API Değişiklikleri

  • Google Dalgası, Android cihazlarda dahili olarak RippleDrawable kullanmak üzere taşındı. Bu, RenderThread'de dalga animasyonlarının olacağı ve bu nedenle, kullanıcı arayüzü iş parçacığı yük altında olduğunda (ör. ekranlar arasında gezinirken) düzgün bir şekilde olacağı anlamına gelir. Bu, Ripple'ın API yüzeyini değiştirmez ancak bu değişikliğin bir sonucu olarak davranış değişikliklerine yol açabilir. Taşımaya yardımcı olmak için LocalRippleNativeRendering eklendi. CompositionLocalProvider içindeki önceki dalga uygulamasına dönmek için bu CompositionLocal öğesine false değeri verin. 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)
  • Koleksiyonun ve öğelerinin erişilebilirlik hizmetleri için işaretlenmesine olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017)
  • Geçersiz giriş içeren bir düğümü işaretlemeye olanak tanıyan error Erişilebilirlik API'si eklendi (I12997, b/180584804, b/182142737)

Hata Düzeltmeleri

  • Compose Material kataloğu eklerinin uygulanması güncellendi: https://github.com/google/accompanist/pull/365. (I25dc3)
  • Ağırlığı(fill = false) içeren 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ı. 1.0.0-beta05 sürümü bu kayıtları içerir.

Hata Düzeltmeleri

  • Mevcut Materyal Oluşturma kataloğuna bileşen karosu 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ı. 1.0.0-beta04 sürümü bu kayıtları içerir.

API Değişiklikleri

  • API DEĞİŞİKLİĞİ: DrawerState durumu artık deneysel ScrollableState'in kapsamını genişletmiyor.
    • API DEĞİŞİMİ: BottomDrawerState, halihazırda Deneysel BottomDrawer bileşeniyle (I81114, b/181656094) eşleşmek için Deneysel olarak işaretlendi
  • SoftwareKeyboardController sitesindeki hideSoftwareKeyboard ve showSoftwareKeyboard uygulamalarını sırasıyla hide() ve show() olarak yeniden adlandırın.
    • LocalYazılımKlavyeDenetleyicisi için tam CompositionLocal arayüzünü sağlayın. Bu arayüz, ayarlanmasına izin verin (özellikle testlerde kullanışlıdır) (I579a6)
  • LiveRegion Accessibility API eklendi. Düğüm canlı bölge olarak işaretlenirse erişilebilirlik hizmetleri kullanıcıyı değişiklikleri hakkında otomatik olarak bilgilendirir (Idcf6f, b/172590946).

Hata Düzeltmeleri

  • Mevcut modüle, Materyal Oluşturma kataloğu uygulaması eklendi. Şu anda eksik: Bileşen karo resimleri, tema seçici (takip değişikliklerine eklenecek). (Ie7a94)

Sürüm 1.0.0-beta03

24 Mart 2021

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

API Değişiklikleri

  • DefaultMonotonicFrameClock desteği sonlandırıldı. MonotonicFrameClock olmadan withFrameNanos veya Recomposer.runRecomposeAndApplyChanges araması, artık IllegalStateException bildirimine yol açacaktır. (I4eb0d)
  • Sekmelerde simge ve satır içi metnin görüntülenmesini desteklemek için yeni bir API (LeadingIconTab) eklendi. (I23267)

Harici Katkı

  • [Jossi Wolf'tan] BottomDrawer artık çekmece yuvasının içeriğini sarmalıyor. Üst öğe sonsuz yüksekliğe sahip olduğunda BottomDrawer, IllegalStateException öğesi tetiklemez. Alt çekmece, üst çekmecesinin% 50'sinden küçükse genişletilmiş durumda açılır. BottomDrawerState ve ModalBottomSheetLayoutState çevresindeki dokümanlar güncellendi. BottomDrawerState#isOpen açık veya genişletilmiş durumda olduğunda ş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ı. 1.0.0-beta02 sürümü bu kayıtları içerir.

API Değişiklikleri

  • TextField'te önceki SoftwareKeyboardController arayüzünün yerine yeni LocalSoftwareKeyboardController beste yerel API'si eklendi. (I5951e, b/168778053)

Hata Düzeltmeleri

  • Deneysel API'lerin herkese açık kullanımında kısıtlamalar uygula (I6aa29, b/174531520)
  • TopAppBar ve BottomAppBar için varsayılan yatay hizalama, Satır (Ib2dc7) ile tutarlı olacak şekilde Başlangıç olarak değiştirildi
  • Mevcut entegrasyon testi demolarında iç içe yerleştirilmiş olan Materyal Oluşturma kataloğu için yeni bir modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
  • androidx.compose.ui:ui artık AppCompat veya Fragment'e bağlı değil. Uygulamanızda ComposeView'un yanı sıra Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3+ / Fragment 1.3 ve sonraki sürümleri kullandığınızdan emin olun. Bu sürümler, yaşam döngüsünü ve ComposeView için gereken kayıtlı durum sahiplerinin doğru şekilde ayarlanması için gereklidir. (I1d6fa, b/161814404)

Sürüm 1.0.0-beta01

24 Şubat 2021

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

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

API Değişiklikleri

  • Boyut değiştiriciler yeniden adlandırıldı. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)
  • imageResource ve VektörResource artık sırasıyla ImageBitmap ve ImageVector tamamlayıcılarında uzantı işlevleridir. load{Image,Vector,Font}Kaynak işlevleri silindi. (I89130)
  • Yerleşik özelliklere göre boyutlandırmayla ilgili değiştiriciler artık deneysel değildir. (I15744)
  • dp onaylamaları kaldırıldı (I798d2)
  • Kısa bir süre içinde yeni bir API ile değiştirilecek olan SoftwareKeyboardController geri çağırma özelliği tüm metin alanlarından kaldırıldı. (Iae869, b/168778053)
  • Switch, Checkbox ve RadioButton işlem lambdaları artık null özelliklidir. 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 etkinliklerini yayınlamaktan / toplamaktan sorumludur.
    • interactionState = remember { InteractionState() } öğesini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } işlevini kullanın.
    • Interaction.Pressed in interactionState yerine, EngagementSource.collectIs PressedAsState() gibi uzantı işlevlerini kullanmalısınız.
    • Karmaşık kullanım örneklerinde, Etkileşimlerin akışını gözlemlemek için EtkileşimKaynak.interactions'ı kullanabilirsiniz. Daha fazla bilgi için EngagementSource belgelerine ve örneklerine bakın.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • CompositionLocals'da AccessibilityManger arayüzü ve LocalAccessibilityManger'in eklenmesi (I53520)
  • Kullanımdan kaldırılan LayoutCoordinates yöntemleri kaldırıldı, locationInParent ve boundsInParent için özellik yerine işlevi kullanın (I580ed, b/169874631, b/175142755)
  • Kaydırma çubuğu artık etkin/devre dışı durumunu destekliyor (I6d56b, b/179793072)
  • CoreTextField gibi alt düzey metin bileşenlerinden gelen giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
  • AnimationEndWhy.Interrupted kaldırıldı. Animasyon kesintiye uğrarsa CancelException bildirilir. (I2cbbc, b/179695417)
  • @ExperimentalRippleApi kaldırılmış ve RippleAlpha, arayüz yerine özellikleri olan bir sınıf olacak şekilde değiştirilmiştir. (I6df7c)
  • Farklı durumlarda TextField ve OutlineTextField uygulamalarında kullanılan farklı renkleri temsil eden TextFieldColors arayüzü eklendi. Varsayılan uygulama için bkz. TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors.
    • TextField ve OutlineTextField içindeki isErrorValue parametresi isError olarak yeniden adlandırıldı. (I831f9, b/171305338, b/168004067)
  • Erişilebilirlik amacıyla Sekme veya Radyo Düğmesi koleksiyonunu işaretlemeye olanak tanıyan seçim grubu değiştiricisi ekleyin (Ie5c29)
  • LazyListState.animateScrollToItem ekle

    Bu yöntem, listedeki belirli bir öğeye sorunsuz bir şekilde kaydırma yapar. (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) öğesine çağrı yaptığından emin olmak için derleme zamanı doğrulanıyor.

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

  • Modifier.verticalKaydırma()/YAtayKaydırma() işlevindeki kaydırma konumu, artık Ints ile temsil edilir (I81298)

  • smoothScrollBy and 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ış Decays yerine askıya alma animasyonunun özelleştirilmesine izin veriliyor. (I02b86, b/175294473)

  • Boyut değiştiriciler yeniden adlandırıldı. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, 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. HatırlanabilirCoroutineScope() çağrısı yaparak bestenin kapsamını alın (I16f60, b/175294473)

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

    • Beste oluşturucu artık anahtar parametresi kabul etmediğinden kullanımdan kaldırıldı.
    • currentCompositeKeyHash, composable üst düzey işlev yerine composable üst düzey mülke dönüştürüldü.
    • CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı
    • ComposableLambda, beton bir sınıf yerine arayüz haline getirilmiştir ve artık tür parametrelerine sahip değildir.
    • ComposableLambdaN, beton bir sınıf yerine arayüz haline getirilmiştir ve artık tür parametrelerine sahip değildir.
    • SnapshotFlow işlevi androidx.compose.runtime ad alanına taşındı
    • SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değildir.
    • @TestOnly üst düzey clearRoots işlevi kaldırıldı. Buna artık gerek yoktur.
    • keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Artık gerekli değildir.
    • Composer.collectKeySourceBilgileri kaldırıldı. Buna artık gerek yoktur.
    • isjoinedKey, birbirine katılmışKeyLeft vejoinKeyRight yöntemleri kaldırıldı. Artık gerekli değildir.
    • Çeşitli üst düzey API'ler taşındı ve farklı dosyalar halinde yeniden düzenlendi. Kotlin’in dosya sınıfı semantiği nedeniyle bu, ikili uyumluluğu keser ancak kaynak uyumluluğunu keser. Bu nedenle çoğu kullanıcı için sorun teşkil etmeyecektir.
    • (I99b7d, b/177245490)
  • Modifier.scrollable yeniden düzenlendi. Şimdi ScrollableController sınıfının yerine Scrollable arayüzünü kullanır (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable artık basit bir lambda yerine DraggableState'i kabul eder. Öncekiyle 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 oldu. (I7f970, b/177457083)

  • Daha önce kullanımdan kaldırılmış 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'daki parametreler, isteğe bağlı parametrelerden önce gelen zorunlu parametreler için API yönergelerine uygun olacak şekilde yeniden sıralandı.
    • BottomNavigasyonItem öğesindeki icon parametresi, selected ve onClick değerlerinin sonrasına taşındı.
    • BottomNavigasyonItem parametresindeki alwaysShowLabels parametresi alwaysShowLabel olarak yeniden adlandırıldı.
    • Birkaç bileşendeki bodyContent parametresi yalnızca content olarak yeniden adlandırıldı.
    • ButtonDefaults.buttonColors() içindeki parametreler yeniden sıralandı. Parametrelerin türü değişmediğinden, bunun kodunuzda bir 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() adlı kampanyaya secondaryVariant parametresi eklendi. Bu renk, koyu temada genellikle secondary ile aynıdır, ancak tutarlılık ve daha fazla özelleştirme için eklenir.
    • Yaygın olarak kullanılmadığı / yararlı olmadığı için ElevationDefaults ve animasyonElevation() herkese açık API yüzeyinden kaldırıldı.
    • Slider içindeki onValueChangeEnd öğesi, onValueChangeFinished olarak yeniden adlandırıldı ve boş değerli hale getirildi.
    • Tutarlılık için Snackbar içindeki 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 üzerinde bir uzantı oldu.
    • ModalDrawerLayout, ModalDrawer olarak yeniden adlandırıldı.
    • BottomDrawerLayout, BottomDrawer olarak yeniden adlandırıldı.
    • (I1cc66)
  • BasicTextField, daha iyi özelleştirme için artık Renk yerine Fırça'yı kabul ediyor (I83a36)

  • imageResource ve VektörResource artık sırasıyla ImageBitmap ve ImageVector tamamlayıcılarında uzantı işlevleridir. load{Image,Vector,Font}Kaynak işlevleri silindi. (I89130)

  • Indication#createIndication(), Indication#rememberUpdatedIndication(EtkileşimState) olarak değiştirildi; IndicationInstance#drawIndication()] içindeki EngagementState parametresini kaldırır. IndicationInstance, EngagementState değişikliklerine yanıt olarak animasyonları / yazı durumunu başlatmamalı ve yalnızca görsel efektler çizmekten sorumlu olmalıdır. Bu animasyonlar ve durum yazmaları bunun yerine rememberUpdatedIndication() içinde gerçekleşmelidir. Modifier.indication öğesindeki indication parametresi de zorunlu parametre olacak şekilde değiştirildi. (Ic1764, b/152525426)

Hata Düzeltmeleri

  • TextField'te önceki SoftwarekeyboardController arayüzünün yerini almak üzere yeni LocalSoftwareKlavyeController 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 kayıtları içerir.

API Değişiklikleri

  • Modifier.pointerInput artık işaretçi girişi algılama eşinin yeni bağımlılıklar için ne zaman yeniden başlatılması gerektiğini belirtmek için tuşları hatırlamayı gerektiriyor. (I849cd)
  • BottomDrawerLayout ve ListItem, @ExperimentalMaterialApi (Id766e) olarak işaretlenmiştir
  • PaddingValues.absolute eklendi ve PaddingValues kabul eden API'lerde kullanılabilir. (Ia5f30)
  • onImeActionPerformed desteği sonlandırıldı. Bunun yerine Klavyeİşlemleri kullanın (If0bbd, b/179071523)
  • Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek için ImagePainter'ın adı, BitmapPainter olarak, paralel VectorPainter olarak değiştirildi. (Iba381, b/174565889)
  • Animatable.snapTo ve Animatable.stop artık askıya alma işlevleri (If4288) oldu
  • ComponentActivity.setContent, androidx.activity:activity-compose modülündeki androidx.activity.compose.setContent konumuna taşındı. (Icf416)
  • Destructure ve copy() yöntemleri, nadiren kullanıldıkları çeşitli sınıflardan kaldırılmıştır. (I26702, b/178659281)
  • ModalBottomSheetState dahili (Ic914e) içinde expand() ve expand() kullanın
  • Indication#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> Indication öğesini değil bir Göstergeyi içerecek şekilde değiştirildi. (I5eeea, b/157150564)
  • AlertDialog 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 kullanın. imageResource, loadImageResource, VektörResource ve loadVectorResource için destek sonlandırılmıştır. Bunun yerine PaintterResource kullanın. (I6b809)
  • toggle ve toggleModifier parametreleri DropdownMenü'den kaldırıldı, dropdownModifier, dropdownOffset ve dropdownContent özellikleri sırasıyla modifier, offset ve content olarak yeniden adlandırıldı. DropdownMenü artık Popup ile tutarlı şekilde davranıyor. Menünün konumu için üst düzen kullanılıyor. Çoğu durumda toggle öğesini DropdownMenu öğesinin kardeş öğesi olarak taşıyabilir ve her ikisini de Box ile sarmalayabilirsiniz. Bu API'nin kullanımı hakkında daha fazla bilgi için belgelerdeki 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)
  • Anlamsal genişletme ve daraltma işlemleri eklendi. ModalBottomSheetState'e genişletme ve yarısı genişletme eklendi (Ib5064)
  • Modifier.dragMoveFilter kullanımdan kaldırıldı. Bunun yerine Modifier.pointerInput { detectDragGestures (...)} politikasını kullanın. Alternatif olarak, bir eksenli sürüklemeler için Modifier.draggable'ı kullanın (I0ba93, b/175294473)
  • Ambiyans, Ambiyans -> CompositionLocal yeniden adlandırmasıyla eşleşecek şekilde yeniden adlandırıldı. Eskiden AmbientFoo adı verilen ambiyanslar artık CompositionLocals olarak LocalFoo olarak adlandırılıyor. (I2d55d)
  • Seçim temele taşındı. (I7892b)
  • state { 0 } composable'ı kaldırdığımız ve artık remember { mutableStateOf(0) } gibi kullanımı teşvik ettiğimiz şekilde savedInstanceState { 0 } composable'ı da kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmanız gerekir. MutableState içinde kullanılan tür pakette depolanıyorsa otomatik olarak kaydedilip geri yüklenir. Daha önce bir özel tasarruf nesnesi iletiyorsanız şimdi stateSaver parametresine sahip Hatırlanabilirlik özelliğinin yeni bir aşırı yüklenmesini kullanmanız gerekir. Kullanım şöyle görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Erişilebilirlik için belirsiz ilerleme çubuklarını işaretlemek üzere İlerlemeBarRangeInfo.Indeterminate eklendi (I6fe05)
  • @ComposableContract kullanımdan kaldırılarak yerine üç özel 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ı, artık performans üzerinde herhangi bir olumlu etkisi veya değeri olmadığı için kullanımdan kaldırıldı (I0484d)

  • HatırlatıcıInstanceState(), comeSaveable() olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)

  • Saver, listSaver(), mapSaver(), autoSaver androidx.compose.runtime.savedinstancestate durumundan androidx.compose.runtime.saveable (I77fe6) konumuna taşındı

  • RounderCornerShape, CutCornerShape ve CornerBasedShape ile ilgili parametreler, şeklin rtl yönünde otomatik yansıtmasını desteklemek için sol/sağ'dan başlangıç/bitiş olarak yeniden adlandırıldı. Otomatik yansıtmanın istenmediği durumlar için MutlakRounderCornerShape ve absoluteCutCornerShape kullanıma sunuldu. (I61040, b/152756983)

  • Bileşenin boyutunu ve düzenini etkilediğinden, bu parametreler sağlanmadığında veya sağlanmadığında bileşenin davranışını daha iyi iletmek için Sekme'nin text ve icon parametreleri ve Bottom NavigationItem'ın label parametresi boş değer atanabilir olacak şekilde değiştirildi. Şu anda metin / simge / etiketi temsil etmek üzere emptyContent() iletiyorsanız bunun yerine null kullanmanız gerekir. (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. Refactored ColorFilter API, bir arayüz haline gelir ve PathEffect uygulamasıyla eşleşir. (Ica1e8)

  • Canlandırma Değeri/Kayan artık kullanımdan kaldırıldı. Lütfen bunun yerine Animasyonu kullanın. (I71345, b/177457083)

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

  • Tıklanmalarını önlemek için Sekme ve BottomTrafficItem öğelerine etkin parametreler eklendi. API'sinde düzen gereksinimlerini daha iyi ifade etmek için BottomNavigasyonItem, RowScope.Bottom NavigationItem olarak değiştirildi. (Id683d)

  • dokununhareket filtresi, çiftehafizasi hareketFiltresi, uzunBasın Hareket Filtresi ve basIndicaitonHareket Filtresi kullanımdan kaldırılmıştır. Bunun yerine, Detfier.clickable'ı ya da Modifier.pointerInput'u tespit etmek için Dokunma Hareketleri işleviyle kullanın. (I6baf9, b/175294473)

  • Shape'in createOutline öğesine layoutDirection parametresini 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 yönlendirilen yavaş bir şekilde oluşturulmuş, pencere kapsamlı Recomposer'ları kullanıyor. Yeniden oluşturma ve withFrameNanos tabanlı animasyon onay işaretleri, ana makine Yaşam Döngüsü durdurulurken duraklatılır. (I38e11)

Hata Düzeltmeleri

  • Simge, uygulanan boyut değiştiricilere bağlı olarak kendi boyutuna sığacak şekilde ölçeklendirilir. Örneğin, Icon(.., modifier = Modifier.size(50.dp) şimdi 50x50 dp'lik bir boşluk çizecektir. (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 kayıtları içerir.

API Değişiklikleri

  • Bazı Material API'lerinin artık @Experimental (I5d20e) olmamasını sağlayacak
  • Resim ve Simge'ye içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetleriyle (I2ac4c) ilgili 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 bir öğeyi Duruma dönüştürmeyi kolaylaştırmak için Animatable.asState() ekler. Ayrıca, animasyonluElevation'ı, Animatable'da bir askıya alma uzantısı olarak değiştirir. (If613c)
  • Snackbar, SnackbarHost, SnackbarHostState artık @ExperimentalMaterialAPI değil (Id1fb5)
  • Tipografi, Şekiller ve TabPosition artık veri sınıfı olmayacak şekilde değiştirilir. Oluşturulan Tipografi ve Şekiller'in yerine kopyalama işlevi ekler. (I40037)
  • Daha önce kullanımdan kaldırılan bazı Materyal API'leri (Ifaa25) silindi

Hata Düzeltmeleri

  • onCommit, onDispose ve onActive desteği sonlandırıldı ve yerini SideEffect ve DisposableEffect API'leri (If760e) aldı.
  • TransitionDefinition tabanlı Geçiş desteği sonlandırıldı (I0ac57)
  • Güncelleme Geçişinde İlk Durum artık desteklenmektedir (Ifd51d)
  • WithConstraints, BoxWithConstraints olarak yeniden oluşturulması ve foundation.layout'a taşındı. (I9420b, b/173387208)
  • Askıya alınma olmayan scrollBy öğesini kullanımdan kaldır, askıya alınma olmayan scrollTo öğesini kaldır

    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ınmayan sürümlerini kullanımdan kaldırıyoruz ve/veya kaldırıyoruz. (Ie9ced)

  • Askıya alınmayan smooth scrollBy için desteği sonlandı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ınmayan sürümlerini kullanımdan kaldırıyoruz. (I12880)

  • ComposeTestRule kapsamını genişleten ve ComposeTestRule öğesinden kaldırılmış olan setContent öğesini tanımlayan ComposeContentTestRule kullanıma sunuldu. ComposeTestRule döndüren ve sizin için Etkinlik başlatmayan bir fabrika yöntemi (createEmptyComposeRule()) eklendi. Testiniz sırasında Etkinliğinizi başlatmak istediğinizde, ör.ActivityScenario.launch kullanarak (I9d782, b/174472899) bunu 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 bir yol olarak tasarlanmamıştı ve bu, artık bu bileşenleri diğer Material bileşenleriyle tutarlı hale getiriyor. Bir uygulamadaki dalgaları özelleştirmek için Dalga Teması'na bakın. (I546c5)

  • canlandırmaAsState artık animasyonluFooAsState oldu. Burada Foo, animasyonlu değişkenin türüdür. Ör. Kayma, Dp, Offset vb. (Ie7e25)

  • BasicTextField, decorationBox adında yeni bir parametre aldı. Simge, yer tutucu, etiket ve metin alanına benzer süslemelerin eklenmesine ve bu alanın isabet hedef alanının genişletilmesine olanak tanır. (I16996)

  • Malzeme metin alanının genişliğini 280.dp'den küçük olacak şekilde ayarlamayı engelleyen bir hata düzeltildi (I78373)

  • canDrag parametresi, Modifier.draggable dosyasından kaldırıldı (Ic4bec, b/175294473)

  • DisplaySize, kaçınılması gerektiği için bu etiketi kaldırın. Genellikle, en azından onRoot() boyutunu veya pencere boyutunu kullanmak daha iyidir. (I62db4)

  • Yüzeyde artık birden fazla düzen alt öğesi olabilir. (I66a92, b/144488459)

  • inverify ve engagementReference() işlevleri artık sırasıyla currentRecomposeScope ve remindersCompositionReference koduyla kullanımdan kaldırılmıştır. (I583a8)

  • PopupPositionProvider'ı genel koordinatları değil pencereye bağlı koordinatları kullanacak şekilde değiştirir. parentGlobalBounds adını anchorBounds, windowGlobalBounds ise windowSize: IntSize (I2994a) olarak değiştirir

  • Süre ve Çalışma Süresi, Uzun milisaniyelerle değiştirilir ve bu adım, bu sınıflardaki işaretçi girişinin bağımlılığını ortadan kaldırır. (Ia33b2, b/175142755, b/177420019)

  • FlingConfig'i kabul eden Animasyon Kayan.fling dosyası kaldırıldı. Lütfen bunun yerine Animatable.animateDecay askıya alma işlevini kullanın. (I4659b, b/177457083)

  • Artık beste dışında tıklanabilir, geçiş yapılabilir ve seçilebilir olarak oluşturulabilir (I0a130, b/172938345, b/175294473)

  • Yumuşak geçiş, işlevsel bir arayüze dönüştürüldü (Ib14e5)

  • ScrollableColumn/Row kullanımdan kaldırıldı. LazyColumn ile yalnızca görünür öğeleri oluşturma/ölçme/çıkarmamız mümkün olduğundan, büyük bir kaydırma içeriğiniz olduğunda LazyColumn'u kullanmak, LazyColumn'a kıyasla daha az verimlidir. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunun yerine LazyColumn ve LazyRow'un kullanımını teşvik etmeye karar verdik. Kullanıcılar yine de geç davranışa ihtiyaç duymadıklarına karar verebilir ve değiştiricileri doğrudan şu şekilde kullanabilir: Column(Modifier.vertical ülkeler(rememberScrollState())) (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ı kullanıldıklarında manuel olarak içe aktarmanız gerekir. Şu 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)

  • Global koordinat yöntemleri kullanımdan kaldırıldı ve yeni pencere tabanlı koordinat yöntemleri geliştirildi. (Iee284)

  • Denetleme etkinleştirildiğinde grafik katmanı değiştiricisi ekleyen Modifier.toolingGraphicsKatman eklendi. (I315df)

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

  • SemanticsPropertyRecipientr.hidden, invisibleToUser olarak yeniden adlandırıldı ve @DeneyselalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, progressBarRangeInfo olarak yeniden adlandırıldı. stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. AccessibilityKayState, ScrollAxisRange olarak yeniden adlandırıldı. horizontalAccessibilityScrollState, Yatay ScrollAxisRange olarak yeniden adlandırılmıştır. verticalAccessibilityScrollState, verticalScrollAxisRange olarak yeniden adlandırılır. (Id3148)

  • Testlerde TestCoroutineDispatcher'dan yararlanma (I532b6)

  • Vektör grafikleri API'si, vektör grafiklerinin köküne uygulanan tonlamanın ayrıştırılmasını desteklemek için güncellendi. (Id9d53, b/177210509)

Sürüm 1.0.0-alfa10

13 Ocak 2021

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

API Değişiklikleri

  • Değiştirilmiş Hız, bileşen parçaları ve matematiksel işlemlere sahip olacak şekilde değiştirildi. (Ib0447)
  • @ExperimentalTesting öğesinin adı, benzer deneysel API ek açıklamalarıyla (Ia4502, b/171464963) tutarlı olacak şekilde @ExperimentalTestApi olarak değiştirildi
  • Position (Konum) DpOffset olarak yeniden adlandırıldı ve getDistance() (Ib2dfd) kaldırıldı
  • Color.useOrElse(), Color.takeOrElse() (Ifdcf5) olarak yeniden adlandırıldı
  • Temel Strings.kt öğesine geçiş anahtarı ekleyin (I4a5b7, b/172366489)
  • FlowRow ve FlowColumn kullanımdan kaldırıldı. Lütfen bunun yerine özel bir düzen kullanın. (I09027)
  • Modifier.focus() ve Modifier.focusRequester() işlevlerin desteği sonlandırıldı. Bunun yerine Modifier.focusModifier() ve Modifier.focusReference() öğelerini kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
  • NativeClass'ı UI modülüne taşıyıp dahili hale getirdim. Uygulamalarda NativeClass'ın güncellenen kullanımları, bunun yerine "is MyClass" kullanılacak şekilde 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 T yerine State<T> döndüren animateAsState() ile değiştiriliyor. Geçersiz kılma kapsamı State değerinin okunduğu yere daraltılabileceği için bu daha iyi performans sağlar. (Ib179e)
  • Semantics rol API'sini ekleyin ve tıklanabilir, seçilebilir ve geçiş yapılabilir SemanticsModifier'a parametre olarak Rol ekleyin. Modifier.progressSemantics değiştirildi, böylece Kaydırma Çubuğu da kullanılabilir. (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 kayıtları içerir.

API Değişiklikleri

  • Yerleştirme animasyonunu manuel olarak tetiklemek ve Modifier.swipeable'da sürüklemek için API eklendi (Iaa17a, b/162408885)
  • ButtonConstants gibi *Sabit nesneler, ButtonDefaults gibi Defaults ile sona erecek şekilde yeniden adlandırıldı. Ayrıca, bu yeni nesnelerdeki özelliklerdeki gereksiz default öneklerini de kaldırır. (Ibb915, b/159982740)
  • Compose, composable çağrılar yapabilen mülk alıcılarını destekler. Bu konuyla ilgili destek kaldırılmıyor, ancak bir özellik alıcıyı @Composable olarak tanımlamak için kullanılan söz dizimi değişiyor.

    Bu işlemi gerçekleştirmek için kullanımdan kaldırılmış olan söz dizimi, özelliğin kendisine ek açıklama eklemekti:

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

    Bunu yapmak için şu an doğru olan söz dizimi, özelliğin getter'ine ek açıklama eklemektir:

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

    Her iki söz dizimi de bir süre çalışacaktır, ancak kullanımdan kaldırılan eski söz dizimi zaman içinde derleme hatası haline gelir. (Id9197)

  • Materyal kitaplığının geri kalanına gerek kalmadan etkileşimli bileşenlerin derlenmesi için Ripple API'leri içeren androidx.compose.material:material-ripple kitaplığı eklendi. remindersRippleIndication desteğinin sonlandırılması ve comeRipple ile değiştirildi. (Ibdf11)

Hata Düzeltmeleri

  • Ofset değiştiricilerindeki lambda'lar artık Kayma yerine IntOffset değerini döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • ShaderBrush, çizim ortamının bilgileri hazırlanırken gölgelendirici örneği oluşturmak için yeniden düzenlendi. Bu, özel DrawModifier uygulamalarını uygulamak zorunda kalmadan composable'ın tüm çizim sınırlarını kaplayan renk geçişlerini tanımlamak için yararlıdır.

    Bir Gradyan nesnesinde fabrika yöntemleri lehine, kullanımdan kaldırılan gradyan işlevi oluşturucu API'leri. (I511fc, b/173066799)

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

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed" değerlerini kullanımdan kaldırın. Bunun yerine LazyColumn ve LazyRow'u kullanın (I5b48c)

  • Dp.VectorConverter, Position.VectorConverter vb. değeri annimation-core'a taşındı ve eski VectorConveters'ın (If0c4b) desteği sonlandırıldı.

  • Otomatik Doldurma API'si artık deneysel bir API olup etkinleştirilmesini gerektirir (I0a1ec)

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

  • AccessibilityLabel, contentDescription olarak yeniden adlandırıldı. accessibilityValue, stateDescription olarak yeniden adlandırıldı. (I250f2)

  • InfiniteRepeatableSpec (I668e5) oluşturmak için yeni infiniteRepeatable işlevi

  • Açılır Menü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 anlamlarını temizlemek ve yenilerini ayarlamak için Modifier.clearAndSetSemantics eklendi. (I277ca)

  • ContentDrawScope, DrawScope'u içerecek şekilde ui-graphics 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 yayınlandı. 1.0.0-alpha08 sürümü bu kayıtları içerir.

API Değişiklikleri

  • MaterialTheme, seçim tutma yerleri ve seçim arka planı için artık doğru renkleri ayarlıyor. Materyal dışı uygulamalar, seçim için kullanılan renkleri özelleştirmek için AmbientTextSelectionColors öğelerini manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
  • Oluşturma yönergeleriyle tutarlılığı kontrol etmek amacıyla, composable lambda parametresi adlandırma ve konumu için lint denetimi eklendi. Ayrıca, hata analizi ve yönlendirmelerine uygun şekilde, sonraki lambda'nın adı olarak children kullanan bazı API'leri content konumuna taşıdı. (Iec48e)
  • VectorAsset adı ImageVector olarak değiştirildi. Uyumluluk için ImageVector.Builder bağlantısına VectorAssetBuilder öğesinin typealias özelliği eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler, ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
  • Temel semantik özellikleri kullanıcı arayüzüne taşındı (I6f05c)
  • fun RippleIndication() kullanımdan kaldırıldı ve diğer API'lerle tutarlı olması için rememberRippleIndication() ile değiştirildi. (Id8e2c)
  • BasicTextField, TextField ve OutlineTextField öğelerine bir singeLine parametresi eklendi. Metin alanını yatay olarak kaydırılabilir tek bir satıra dönüştürmek için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)

Hata Düzeltmeleri

  • Anlamsal ekleme işlemi Kapat (I2b706)
  • DrawModifier API'leri androidx.compose.ui paketinden androidx.compose.ui.draw paketine taşındı. Kullanımdan kaldırılan API'lerden mevcut API'lere geçişe yardımcı olacak typealiases/helper yöntemlerini eklemek için DrawModifierDeprecated.kt dosyası oluşturuldu. (Id6044, b/173834241)
  • Değiştirme. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout bildiriminden kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • DrawLayer için kolaylık sağlamak amacıyla Modifier.scale/rotate API'leri eklendi.
    • Modifier.drawOpacity, Modifier.alpha olarak yeniden adlandırıldı
    • Modifier.drawShadow adı Modifier.shadow olarak değiştirildi (I264ca, b/173208140)
  • Box'ın hizalama parametresi, contentHizalama olarak yeniden adlandırıldı. (I2c957)
  • OffPx 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şlevlere Değiştirici parametreleri için hata analizi kontrolü eklendi. Bu hata analizi denetimi, Oluşturma yönergeleriyle tutarlılık sağlamak için parametrenin adlandırmasını, döndürme türünü, varsayılan değerini ve sırasını kontrol eder. (If493b)
  • TextFieldValue API güncellendi
    • TextFieldValue.composition salt okunur yapıldı
    • geçersiz seçim aralığı için atılan istisna kaldırıldı (I4a675, b/172239032)
  • Yeni bir Modifier.drawLayer() aşırı yüklemesi eklendi. Katman parametrelerini durum değişikliği gerçekleştiğinde yeniden birleştirme ve geçişten kaçınmaya izin verecek şekilde tanımladığınız yeni GraphicsLayerScope'ta bir lambda bloğu kullanılır. DrawLayerModifier, artık mantığını LayoutModifier'ın placeable.placeWithLayer() yöntemine (I15e9f, b/173030831) taşımaya hazırdır.
  • Kullanımdan kaldırılmış Ambiyanslar ve Compose API kurallarına uyarak son eki Ambient olan Ambiyans sonekleri, ön ekinde Ambiyans olan yeni özelliklerle değiştirildi. (I33440)
  • Değiştirici fabrikalarının @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullandığını kontrol etmek için lint kontrolü eklendi. (I3c4bc)
  • Anlamsal bağımsız değişken birleştirmeTümDescendants,mergeDescendants olarak yeniden adlandırıldı. (Ib6250)
  • Testlerdeki zaman kontrolü (TestAnimationClock ve kullanımları) artık deneyseldir (I6ef86, b/171378521)
  • Eski kullanıcı arayüzü testi modülünü ve saplamalarını kaldırın (I3a7cb)
  • TextUnit.Inherit, TextUnit olarak yeniden adlandırıldı.Diğer birimlerle tutarlılık için belirtilmedi. (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 yayınlandı. 1.0.0-alpha07 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Emphasis kullanımdan kaldırıldı ve yerini AmbientContentAlpha aldı. AmbientContentAlpha, AmbientContentColor'ın tercih edilen içerik rengini temsil etmesine benzer şekilde, hiyerarşinin bir kısmı için tercih edilen içerik alfasını temsil eden daha basit bir soyutlamadır. Metin ve Simge artık varsayılan olarak AmbientContentAlpha'daki geçerli değeri kullanıyor. Bileşenlerinizde aynı etkiyi elde etmek için color.copy(alpha = AmbientContentAlpha.current) işlemini manuel olarak yapabilirsiniz. ProviderEmphasis'i kullanmak yerine, AmbientContentAlpha ile doğrudan bir değer sağlayabilir ve eski EmphasisLevels'ın yerine kullanmak için ContentAlpha'daki yeni varsayılan düzeyleri kullanabilirsiniz. (Idf03e, b/159017896)
  • androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770) yerine androidx.compose.material.AmbientContentColor ekler
  • Üst düzey, temaya uygun bir Metin bileşeni olarak androidx.compose.foundation.Text'in yerine androidx.compose.material.Text öğesini ekler. Temadan renk / metin stilini kullanmayan temel bir metin bileşeni için BasicText öğesini kullanın. (Ie6ae0)
  • TextFields'e maxLine'lar eklendi (Ib2a5b)
  • TextFields öğesini KlavyeOptions'ı kabul edecek şekilde güncelleyin (Ida7f3)
  • Yüzey, artık yükseklik bindirmelerini hesaplarken mutlak (toplam) yüksekliği kullandığından, başka bir Yüzey içinde iç içe yerleştirilmiş bir Yüzey, bindirmeyi çizmek için birleştirilmiş yüksekliği kullanacaktır. (I7bd2b, b/171031040)

Hata Düzeltmeleri

  • captureToBitmap, captureToImage adlı kümeye taşındı. (I86385)
  • AmbientTextStyle, ProvideTextStyle ve AmbientContentColor kullanımdan kaldırıldı. Bunun yerine, Malzeme kitaplığındaki yeni sürümleri kullanın. Materyal dışı uygulamalar için bunun yerine, kendi bileşenlerinizde kullanılabilen kendi tasarım sisteminize özel tema ortamları oluşturmanız gerekir. (I74acc, b/172067770)
  • foundation.Text desteği sonlandırıldı ve text.Text ile değiştirildi. Temadaki değerleri kullanmayan, temel ve yorumsuz bir metin API'si için androidx.compose.foundation.BasicText adresine bakın. (If64cb)
  • KlavyeSeçenekleri ImeOptions olarak yeniden adlandırın (I82f36)
  • KlavyeType ve ImeAction, KlavyeOptions'a taşındı (I910ce)
  • BaseTextField desteği sonlandırıldı. Bunun yerine BasicTextField politikasını kullanın. (I896eb)
  • ExperimentalSubcomposeLayoutApi ek açıklaması kaldırıldı. SubcomposeLayout artık @OptIn (I708ad) eklenmeden kullanılabilir
  • FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine (Ied2e7) taşındı
  • Simge API, Color.Unspecified şeklinde, sağlanan öğeyi veya boyacıyı ColorFilter olmadan çizecek olası bir ton rengi olarak alacak şekilde güncellendi. Önceden renk tonlamayı yok saymaya çalışıyordu.Belirtilmemişse, şeffaf bir renk tonuyla tonlama yapılır ve hiçbir şey oluşturulmazdı. (I049e2, b/171624632)
  • göreliPaddingFrom, paddingFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin referans çizgilerine olan mesafeleri belirtme kolaylığı sağlamak için paddingFromBaseline 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 LaunchedEfektine izin verilmez. (Ifd3d4)
  • MeasureResult, MeasureScope dışına taşındı. (Ibf96d, b/171184002)
  • Düzenle ilgili çeşitli simgeler androidx.compose.ui'den androidx.compose.layout.ui konumuna 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 yayınlandı. 1.0.0-alpha06 sürümü bu kayıtları içerir.

API Değişiklikleri

  • androidx.compose.foundation.Icon, androidx.compose.material.Icon'a taşındı. Malzeme kitaplığını kullanmak istemiyorsanız Boyacı ile Resim bileşenini / Modifier.paint() kullanabilirsiniz. (I9f622)
  • FAB'lar tarafından farklı durumlarda kullanılan yükseltmeyi göstermek için FloatingActionButtonElevation öğesini ekler. Varsayılan uygulama için FloatingActionButtonConstants.defaultElevation() konusuna bakın (I2d4f5)
  • Bir Switch tarafından farklı durumlarda kullanılan renkleri göstermek için SwitchColors arayüzü ekler. Bu renkleri özelleştirmek için SwitchConstants.defaultColors öğesine bakın. (I93805)
  • Farklı durumlarda düğmeler tarafından kullanılan yükseklik ve renkleri göstermek için ButtonElevation ve ButtonColors arayüzleri ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevlere bakın. (Ic5b7b)
  • RadioButton tarafından farklı durumlarda kullanılan renkleri temsil etmek için RadioButtonColors arayüzünü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() öğesine bakın. (I74130)
  • Bir onay kutusu tarafından farklı durumlarda kullanılan renkleri göstermek için CheckboxColors arayüzü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için CheckboxConstants.defaultColors() öğesine bakın. (I7dbdb)

Hata Düzeltmeleri

  • Malzeme bileşenleri artık yüksekliği zIndex olarak ayarlamaz. Yani, aynı üst öğede gölge boyutu daha büyük olan alt, otomatik olarak küçük olan alt çocuğun üzerine çizilmeyeceği anlamına gelir. Yine de böyle bir davranışa ihtiyacınız varsa lütfen gereken yerlerde Modifier.zIndex() değerini manuel olarak ayarlayın (I70417, b/170623932)
  • Bir composable API'nin, verileri kompozisyonlar genelinde tutmak için dahili olarak "hatırla" işlevinden yararlandığını daha iyi belirtmek amacıyla VectorPainter'ı silmeden VectorPainter özelliğini sağlayın. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştirin; yanıp sönen imleci etkinleştirmek için ComposeTestRule'daki seçeneği kaldırın. (If0de3)
  • CoreTextField'e tek satırlı klavye seçeneği eklendi (I72e6d)
  • Compose genelinde nasıl kullanıldığını daha iyi ifade etmek için Radius API'yi CornerRadius olarak yeniden adlandırdı. Belgeler, 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üzler olarak yeniden düzenlendi
    • DrawScope'un CanvasDrawScope uygulamasını oluşturuldu
    • DrawScope'un yerine CanvasScope'u kullanmak için yeniden düzenleme
    • DrawScope için bağımlılıkları sarmalamak üzere DrawContext oluşturuldu
    • DrawScope'taki (I56f5e) desteği sonlandırılmış yöntemler kaldırıldı
  • Box, satır içi bir işleve sahip. (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 yayınlandı. 1.0.0-alpha05 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Pop-up'lar ve iletişim kutuları artık üst pencereden FLAG_SECURE değerini devralmaktadır. Bunu açıkça yapılandırmak için ek bir seçenek de eklendi (I64966, b/143778148, b/143778149)
  • Modifier.swipeable artık durumlar için varsayılan olarak 56.dp eşiklerine sahiptir (Iab825, b/168610267)
  • @ScaffoldState'te @Stable olarak işaretlenen tüm iskele hareketleri, ScaffoldState'te çekmece hareketini etkinleştiren öğe için Scaffold'a taşındı. (I36645, b/168297016)
  • Scaffold lambda parametrelerinden nullable türünü kaldırır. Belirli bir parametreyle ilgili herhangi bir içerik göstermemek için emptyContent() işlevini kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
  • contentColor() ve currentTextStyle() API'lerini kullanımdan kaldırır ve bunları sırasıyla AmbientContentColor ve AmbientTextStyle ambients ile değiştirir. Geçerli değere, ambiyans özelliğinde (diğer ambiyanslarda olduğu gibi) .current kullanarak erişebilirsiniz. Bu değişiklik, tutarlılık amacıyla ve aynı şeyi birden çok yolla başarmamak için yapılmıştır. Ek olarak, amaçlarını daha iyi açıklamak için bazı ambiyans özelliklerini aşağıdaki şekilde yeniden adlandırır:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • Vurgu Ortamı -> AmbiyansEmphasisLevels
    • Dalga TemasıAmbient -> Ambiyans Dalgası Teması (I37b6d)
  • AmbientElevationOverlay'i ekleyerek koyu temadaki yüzeylere uygulanan varsayılan yükseklik yer paylaşımının özelleştirilmesine / devre dışı bırakılmasına olanak tanır. (I5b74d)

Hata Düzeltmeleri

  • Satır içi sınıflarda koruyucu değerlerin standartlaştırılması kapsamında, Color.Unset to Color olarak yeniden adlandırıldı.Diğer satır içi sınıflarla tutarlılık için belirtilmedi (I97611, b/169797763)
  • TextOverflow.None sunuldu. Taşma Yok olduğunda, Metin artık taşmayı işlemeyecek ve gerçek boyutunu LayoutNode'a bildirir. (I175c9, b/158830170)
  • LaunchInComposition, Compose API yönergeleriyle eşleşmesi için LaunchedTask olarak yeniden adlandırılır (I99a8e)
  • OnPositionedModifier, OnGloballyPositionedModifier ve onPositioned() olarak 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 yayınlandı. Sürüm 1.0.0-alpha04 bu kayıtları içerir.

API Değişiklikleri

  • Durumun kaldırılmasına ve durumun okunmasına / kontrol edilmesine olanak tanımak için durum bilgili Material bileşenlerinde EngagementState parametrelerini gösterir. (Iaca5f, b/168025711, b/167164434)
  • Her bir durumda kullanılan renklerin tamamen özelleştirilmesinin yanı sıra, istenirse renklerin durumlar arasında nasıl canlandırıldığının değiştirilmesini sağlamak için RadioButton ve TriStateCheckbox'taki *color parametrelerini değiştirir. Daha fazla bilgi için CheckboxConstants ve RadioButtonConstants'taki yeni animasyonVarsayılan* renk işlevlerine bakın. (I1c532)
  • voiceBackdropState yeniden adlandırılmıştırBackdropScaffoldState ve animasyon saati için ek bir parametre eklendi. BackdropScaffoldState parametresi, yalnızca scaffoldState olarak yeniden adlandırıldı. BackdropConstants'ın adı BackdropScaffoldConstants olarak değiştirildi. (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 şimdi Animasyon Değeri yerine bir Dp değeri döndürür. (I5f3ed)

Hata Düzeltmeleri

  • Birçok Grafik API güncellendi
    • Ölçek ve rotasyon dönüşüm API'leri, DrawScope ve DrawTransform'daki x/y koordinatları için ayrı float parametreleri yerine, pivot koordinatı temsil eden tek bir Offset parametresi kullanacak şekilde güncellendi.
    • Rect.expandToinclude ve Rect.join yöntemleri kaldırıldı
    • Yarıçap belgeleri, eliptik bisiklete ek olarak oval olarak güncellendi
    • Satır içi Yarıçap sınıfı için herkese açık oluşturucunun doğrudan çağrılmaması gerektiğini, bunun yerine Yarıçap nesnelerinin işlev kurucuları aracılığıyla örneklendirmesi gerektiğini belirten belgeler eklendi
    • topRight,bottomRight, bottomCenter vb. sorgulamak için RoundRect API'leri kaldırıldı.
    • Rect.translate'in yerini alan Rect.shift desteği sonlandırıldı
    • RoundRect.grow ve Rect.shrink API'leri kaldırıldı
    • RoundRect.outerRect, 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ıçapa yıkıcı bir API eklendi
    • Çeşitli RoundRect uzantı işlevlerini mülk olacak şekilde taşıdılar.
    • (I8f5c7, b/168762961)
  • foundation.Box kullanımdan kaldı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ılacak ve yerini generate.foundation.layout'ta yeni Box kullanıma sunacaktır. Yeni Box'ın davranışı, birden fazla alt öğeye sahip olduğunda alt öğeleri üst üste yığmaktır. Bu, bir Sütuna benzer şekilde davranan önceki Box'tan farklıdır. (I94893, b/167680279)
  • Kutu süsleme parametreleri kullanımdan kaldırıldı. Kutunuzda süslemeler/dolgu olmasını istiyorsanız bunun yerine Değiştiriciler'i (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279) kullanın
  • Birçok Grafik API güncellendi
    • 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ı belirtmek için DrawScope API'leri kapsamlı dönüşüm yöntemleriyle güncellendi
    • KlipPath dokümanları, yuvarlatılmış dikdörtgen yerine Path'e başvuruda bulunacak şekilde
    • KlipPath'de sağ parametreye ilişkin dokümanlardaki aralık sabitlendi
    • DrawScope.drawCanvas adınıdrawIntoCanvas olarak yeniden adlandırdı ve boyut parametresini kaldırdı
    • inset yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı
    • 4 sınırın hepsine aynı içe değer değerini sağlayan ek aşırı yük eklendi.
    • Inset yönteminde, inset'in 4 tarafa da uygulanacağını belirten belgeler kaldırıldı
    • Rect sınıfıyla ilgili dokümanlar güncellendi
    • 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ük oluşturuldu ve Rect.shift kullanımdan kaldırıldı
    • (If086a, b/167737376)
  • Düzen kapsamlarının içeriklerinin (ör. RowScope içindeki alignWithSiblings) statik içe aktarılmasını engelledik. 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 yayınlandı. 1.0.0-alpha03 sürümü bu kayıtları içerir.

API Değişiklikleri

  • BottomNavigationItem öğesinin onSelect parametresini onClick olarak yeniden adlandırır (I91925, b/161809324)
  • BottomTrafficItem ve Tab öğesine EngagementState parametresi ekleyerek bu durumu kaldırabilir ve bileşenin farklı durumlarda nasıl görüneceğini ayarlayabilirsiniz. (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. Zaten contentColor / backgroundColor ayarlarını açık bir şekilde ayarlıyorsanız bu varsayılan işlevleri kullanmanız ve hem etkin / devre dışı durumların renginin üzerine yazılmasını önlemek için parametrelerin bazılarını veya hepsini özelleştirmeniz gerekir. (If9b52)
  • Metin alanının arka plan rengi, artık alfayı dolaylı olarak uygulamıyor. Bunun yerine, backgroundColor parametresi üzerinden 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 bölümüne yeni bir defaultResistanceConfig yöntemi eklendi. (I54238)
  • Button ve FloatingActionButton için animasyonlu durum bilgili yükseltme desteği ekler. Yükseklik artık varsayılan ve basılmış durumlar arasında animasyon gösteriyor. 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() değerlerini kullanın. (I37925)
  • Etiket, TextField ve OutlineTextField içinde isteğe bağlı bir parametre haline geldi (I267f6, b/162234081)

Hata Düzeltmeleri

  • onNode veya waitForIdle gibi küresel test işlevleri kullanımdan kaldırıldı. Lütfen ComposerTestRule'da (I7f45a) tanımlanan yeni eşdeğerlerine taşıyın
  • Bunu kullanan DpConstraints ve API'lerin desteği sonlandırıldı. (I90cdb, b/167389835)
  • widthIn (genişlik) ve maxWidth (genişlik) parametreleri, min ve max. şeklinde yeniden adlandırıldı. Benzer şekilde, tercih edilenGenişlikIni, yüksekliktir, tercih edilenYükseklik (I0e5e1, b/167389544)
  • İleri/geri kaydırma anlamlarını kaldır. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
  • Yer çekimi kullanımları tutarlı bir şekilde, düzen API'leriyle uyumlu hale gelecek şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • Mevcut genel yöntemler kullanımdan kaldırılacağı için onNode ve ComposeTestRule'a diğer genel yöntemler eklendi. (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 yayınlandı. Sürüm 1.0.0-alpha02 bu kayıtları içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • Matrix4, Matris ile değiştirildi. Vektörmath paketinin diğer tüm kısımları kaldırıldı. (Ibd665, b/160140398)

Sürüm 1.0.0-alpha01

26 Ağustos 2020

androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ve androidx.compose.material:material-icons-extended:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu kayıtları içerir.

Bilinen Sorun

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

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 yayınlandı. 0.1.0-dev17 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Daha önce kullanımdan kaldırılan RadioGroup ve RadioGroupItems kaldırıldı. Bunun yerine Row ve RadioBotton kullanın (I381b7, b/163806637)
  • TextField'den onFocusChanged geri çağırmaları kaldırıldı. Bunun yerine Modifier.focusObserver'ı kullanın. (I51089, b/161297615)
  • Modifier.drawBorder kullanımdan kaldırıldı. Bunun yerine Modifier.border'ı kullanın. Sınır veri sınıfı, BorderStroke ile değiştirildi (I4257d, b/158160576)
  • ScrollableState'teki bazı özellikler yeniden adlandırıldı: scrollTarget -> targetValue, scrollİlerleme -> ilerleme, kaydırmaYönü -> yön. ScrollableStates oluşturmak için bir remindersSwipeableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
  • Konumlandırma ve uygun sıralama için Snackbar desteği eklendi. Bu öğeye SnackbarHostState.showSnackbar askıya alma işleviyle erişebilirsiniz. Ayrıca:
    • SnackbarHost bileşenleri eklendi. Eyalete göre Snackbar'lar barındırır ve atıştırmalık çubukları arasındaki geçişten sorumludur.
    • SnackbarHostState, atıştırmalık çubukları ve atıştırmalık çubuğu 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, SnackbarHostState ile büfelerin kendisi arasındaki ortak arayüzü desteklemek için eklendi. (I79aaa)
  • Etkin parametreyi iconButton'a ekler ve iconToggleButton'daki 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 bunun yerine Metin Alanı'nı kullanın. (I5e889)
  • AlertDialog artık düğmeler için FlowRow'u kullanıyor (I00ec1, b/161809319, b/143682374)
  • Sınırları aşmak için hızlıca kaydırırken direnç miktarını değiştirmek için Modifier.swipeable'a parametreler eklendi. [min/max]Değer parametreleri kaldırıldı. (I93d98)
  • DoğrusalİlerlemeIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'dan dahili dolgu kaldırıldı. Değerler arasındaki ilerlemeyi canlandırırken varsayılan AnimationSpec olarak kullanılabilen yeni İlerlemeIndicatorConstants.DefaultİlerlemeAnimationSpec eklendi (If38b5, b/161809914, b/161804677)
  • Modifier.swipeable'a isteğe bağlı velocityThreshold parametresi eklendi. (I698ba)
  • bottomBarSize, fabSize ve diğerleri ve artık ScaffoldState'te kullanılamıyor. Bunun yerine, boyutunu öğrenmek istediğiniz bileşende Modifier.onPosition'ı kullanın. ContentColor ve Değiştirici pencereleri İskele'ye eklendi (Ic6f7b, b/161811485, b/157174382)
  • Diğer API'lerle tutarlılık sağlamak için Sekme'deki bazı parametreleri yeniden adlandırıp yeniden sıralar (Ia2d12, b/161807532)
  • TabRow, TabRow ve ScrollableTabRow olarak ikiye bölerek isKaydırılabilir öğesini TabRow'dan kaldırır. Ayrıca, ScrollableTabRow öğesinde EdgePadding özelliğini de sunarak sekmelerden önceki / sonraki boş alanın kontrol edilmesini sağlar. (I583e8, b/161809544)
  • TabRow nesnesi kaldırıldı ve yerine TabConstants getirildi. TabRow.TabPosition üst düzeye (SekmePosition) taşındı ve columnContainer indicator olarak yeniden adlandırıldı. Güncellenmiş API'yi ve varsayılanları nasıl kullanacağınızla ilgili ayrıntılı bilgi için örneklere ve belgelere bakın. (I54d45, b/161809544)
  • Modifier.swipeable'daki eşikler parametresinde ince ayar yapılmış. Artık bir durum çifti (T türünde) alıyor ve aralarındaki eşiği ThresholdConfig biçiminde döndürüyor. Lambda (DismissDirection) -> ThresholdConfig olan SwipeToDismiss'e bir dismissThresholds parametresi eklendi. (Ie1080)
  • Kaydırma çubuğu, ayrıntılı özelleştirme için daha fazla renk içeriyor (I73e64, b/161810475)
  • Kartın renk parametresi backgroundColor (I01fc1, b/161809546) olarak yeniden adlandırıldı.
  • Snackbar artık özelleştirilebilir arka plan ve içerik renklerine sahip (I238f2, b/161804381)
  • Çekmeceler'e değiştirici, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri eklendi (I23655, b/161804378)
  • Artık state { ... } composable'ı kullanımdan kaldırılarak yerine açık remember { mutableStateOf(...) } çağrısı yapılması gerekiyor. Bu, genel API yüzeyini ve durum 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)
  • Kaydırarak kapatılmaya başlayan deneysel bir malzeme bileşeni ekleyin. (I129e5)

Hata Düzeltmeleri

  • onChildPositioned ve OnChildPositionedModifier kaldırıldı. Geliştiriciler bunun yerine alt düzende onPositioned ve OnPositionedModifier kullanmalıdır. (I4522e, b/162109766)
  • SemanticsPropertyKey'eMergePolicy lambda eklendi. Bu, birleştirmeAllDescendants semantik birleştirmesi için özel bir politika tanımlamak amacıyla kullanılabilir. Varsayılan politika, zaten varsa üst değeri, aksi halde alt değeri kullanmaktır. (Iaf6c4, b/161979921)
  • IntSize artık bir satır içi sınıftır (I2bf42)
  • PlacementScope.placeAbsolute(), PlacementScope.place() olarak yeniden adlandırıldı ve önceki PlacementScope.place(), 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. Dilerseniz bunun yerine PlacementScope.placeRelative() politikasını kullanabilirsiniz. (I873ac, b/162916675)
  • Rect'in lehine kullanımdan kaldırılan PxBounds PxBound'ların tüm kullanımları dikdörtgen biçiminde güncellendi ve taşıma işlemine yardımcı olmak için uygun kullanımdan kaldırma/değiştirme ek açıklamaları eklendi. (I37038, b/162627058)
  • RRect, oluşturma adlandırma kalıplarına daha iyi sığması için RoundRect olarak yeniden adlandırıldı RRect'e ve kullanımdan kaldırılan RRect işlev kurucularına (I5d325) benzer işlev kurucuları 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 yayınlandı. 0.1.0-dev16 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Renkler artık bir arayüz yerine son sınıf oldu. Özelliği genişletmek ve özel bir uygulama sağlamak yerine özel tema nesneniz için yeni bir ortam oluşturmanız ve tema nesnesine, MaterialTheme'nin dahili çalışma şekline benzer şekilde bileşenlerinizdeki yeni ortam üzerinden erişmeniz gerekir. (Ibae84)
  • Malzeme renk sistemiyle daha iyi eşleşmesi ve ColorPalette'in Malzeme renk sisteminin özel bir uygulaması yerine 'genel' bir tema nesnesi olmasıyla ilgili kafa karışıklığını gidermek için ColorPalette'in adını Renkler olarak değiştirdi. Ek olarak, lightColorPalette ve darkColorPalette, lightColors ve darkColors şeklinde yeniden adlandırılır. (I9e976, b/161812111)
  • BottomNavigationItem'ın text parametresini label, onSelected, onSelect, activeColor, selectedContentColor, inactiveColor unselectedContentColor olarak yeniden adlandırır ve parametre sıralamasını yönergelere uyacak şekilde günceller. (Icb605, b/161809324)
  • Modifier.stateDraggable baştan aşağı yeniden düzenlendi ve Modifier.swipeable olarak yeniden adlandırıldı. Yeni bir ScrollableState sınıfı kullanıma sunuldu ve DrawerState ile BottomDrawerState sınıfını devralacak şekilde yeniden düzenlendi. [Modal/Bottom]DrawerLayout artık onStateChange parametresi kullanmıyor. (I72332, b/148023068)
  • foundation.shape.corner paketi, foundation.share'e düzleştirildi (I46491, b/161887429)
  • ExperimentalMaterialApi ek açıklaması eklendi. DalgaTema Deneysel olarak işaretlenmiş (Ic5fa0, b/161784800)
  • Material FilledTextField, TextField olarak, temel TextField'in adı ise BaseTextField olarak değiştirildi. Böylece, istenen API'nin en basit şekilde keşfedilip kullanılmasını kolaylaştırdı (Ia6242, b/155482676)

Hata Düzeltmeleri

  • OnChildPositioned kullanımdan kaldırıldı. Bunun yerine alt öğede OnPositioned'ı kullanın. (I87f95, b/162109766)
  • Genel API düzeltmelerini ele alın (I077bc)
    1. Kullanılmayan OffsetBase arayüzünü kaldırın
    2. Offset ve IntOffset sınıflarını tutarlı bir API yüzeyine sahip olacak şekilde
    3. Offset API ile tutarlı olması için IntOffset.Origin adını IntOffset.Zero olarak yeniden adlandırın
    4. Tüketicilerin kendi Canvas örneklerini oluşturmalarını desteklemek için yerelCanvas yöntemi Canvas arayüzünün dışına taşındı.
    5. DrawScope'u lateinit yerine null olmayan bir parametre olacak şekilde yeniden düzenlemek ve alanın boş bırakılamamasını sağlamak için saplama BlankCanvas sınıfı oluşturuldu
    6. ClipOp numaralandırmaları Pascal Kılıfı olarak yeniden adlandırıldı
    7. Filtre Quality enum'ları Pascal Case olarak yeniden adlandırıldı
    8. Strokejoin enum'ları, Pascal Case olarak yeniden adlandırıldı
    9. PointMode sıralamaları Pascal Case olarak yeniden adlandırıldı
    10. PaintingStyle enum'ları Pascal Case olarak yeniden adlandırıldı
    11. PathFillType numaralandırmaları Pascal Case olarak yeniden adlandırıldı
    12. StrokeCap sıralamaları Pascal Case olarak yeniden adlandırıldı
    13. DrawCache uygulaması, artık lateinit parametrelerini kullanmayacak şekilde güncellendi.
    14. DrawScope, fillPaint ve stroPaint dahili parametreleri için geç yetkiyi kullanacak şekilde güncellendi
    15. Daha az ek yük için Box kullanımını önlemek üzere Image composable güncellendi
    16. Outline sınıfı, @Immutable ek açıklamalarına sahip olacak şekilde güncellendi
    17. PathNode, her yol talimatı için @Immutable ek açıklamalarına sahip olacak şekilde güncellendi
    18. Oluşturma bunları zaten işlediğinden eşitlik için gereksiz koşullu denetimleri kaldırmak üzere Vector alt bileşimi güncellendi
    19. İşlev kurucuları lehine, kullanımdan kaldırılan Rect tamamlayıcı oluşturucu yöntemleri
    20. @Immutable ve @Stable API'leriyle güncellenmiş Fırça sınıfları ve işlev kurucuları
    21. VertexMode sıralaması PascalCase olarak güncellendi
    22. Değiştiyse boyadaki çizgi parametrelerinin üzerine koşullu olarak yazmak için DrawScope selectPaint yöntemi güncellendi
    23. Boyut güncellendi, böylece yıkıcı API eklendi, UnspecifiedSize yeniden adlandırılıp Belirsiz olarak değiştirildi ve kullanılmayan yöntemler kaldırıldı
  • İletişim kutusunu kullanıcı arayüzüne taşı (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture kaldırıldı. Bunun yerine SemanticsNodeInteraction.performGesture kullanın. (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot() adı SemanticsNodeInteraction.getUnclippedBoundsInRoot() olarak değiştirildi (Icafdf, b/161336532)
  • Sağdan sola desteğine yönelik API'ler güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilen LayoutDirectionAmbient özelliği eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • Modifier.deternimateİlerlemesi, Modifier.progressSemantics olarak yeniden adlandırıldı (I9c0b4)
  • Material.io/icons'a (I4b1d3) eklenen en yeni simgelerle genişletilmiş malzeme simgeleri güncellenir.
  • Geçiş Tanımı için T türünün açıkça belirtilmesini gerekli kılın. (I1aded)
  • Modifier.plus kullanımdan kaldırıldı, bunun yerine Modifier.then kullanın. "Ardından" daha güçlü bir sipariş sinyaline sahiptir. Ayrıca, zinciri bozan ve okunması daha zor olan Modifier.padding().background() + anotherModifier yazmayı da yasaklar (Iedd58, b/161529964)
  • AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
  • isFocused() ve isNotFocused() SemanticsMatcher ekleyin. (I0b760)
  • Testlerden kullanılmaması gereken BaseGestureScope.globalBounds kaldırıldı. Bunun yerine, etkileşimde bulunduğunuz düğümün yerel koordinatlarını kullanın. (Ie9b08)
  • Kesilen ekranlarda pop-up konumu sabitlendi. (Idd7dd)
  • Modifier.drawBackground, Modifier.background olarak yeniden adlandırıldı (I13677)

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 yayınlandı. 0.1.0-dev15 sürümü bu kayıtları içerir.

Bağımlılıkları Güncelleme

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

API Değişiklikleri

  • @Model ek açıklaması kullanımdan kaldırıldı. Alternatif olarak state ve mutableStateOf alanını kullanın. Bu kullanımdan kaldırma kararı, ayrıntılı bir tartışma sonrasında alınmıştır.

    Gerekçe

    Gerekçe, bunlarla sınırlı olmamakla birlikte aşağıdakileri içerir:

    • API yüzey alanını ve öğretmemiz gereken kavramları azaltır
    • Diğer benzer araç setleriyle daha uyumludur (Swift UI, React, Flutter)
    • Geri alınabilir karar. @Model hizmetini daha sonra dilediğiniz zaman geri getirebiliriz.
    • @Model ürününün, özellikle ilgilenmemiz gereken durumlar olarak yapılandırılmasına ilişkin soruları ve cevaplanması zor soruları kaldırır.
    • @Model veri sınıfı, eşittir, karma kodu vb.
    • Bazı mülklerim "gözlemlenir"ken bazılarında nasıl olmaz?
    • Gözlemde kullanılacak yapısal ve referanssal eşitliği nasıl belirtirim?
    • Sistemdeki “sihri” azaltır. Bir kişinin sistemin olduğundan daha akıllı olduğunu (ör. bir listeyi nasıl farklılaştıracağını bildiği) varsayma olasılığını azaltır
    • Gözlem ayrıntı düzeyini daha sezgisel hâle getirir.
    • Sınıftaki değişken -> özelliğinden yeniden yapılandırılabilirliği iyileştirir
    • Duruma özel el yapımı optimizasyonlar yapma potansiyeli yaratır
    • Ekosistemin geri kalanıyla daha yakın uyum içindedir ve sabit durumumuz ya da bizim "değişken durumu benimseme" yönündeki belirsizliği azaltır

    Taşıma Notları

    Mevcut @Model kullanımlarının neredeyse tamamı, oldukça küçük çaplı bir şekilde iki şekilde dönüştürülür. Aşağıdaki örnekte, yalnızca örnek olması amacıyla iki özelliğe sahip bir @Model sınıfı vardır ve bu sınıf bir composable'da kullanılmıştır.

    @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> kullanarak kopya oluşturun.

    Kotlin'in veri sınıfları sayesinde bu yaklaşım daha kolay hale getirilmiştir. Temelde, önceki tüm var özelliklerini bir veri sınıfının val özelliklerinde yapın, ardından remember yerine state kullanın ve durum değerini, copy(...) veri sınıfı kolaylık yöntemini kullanarak orijinalin klonlanmış kopyalarına atayın.

    Bu yaklaşımın yalnızca, State örneğinin oluşturulduğu kapsamda söz konusu sınıf üzerinde yalnızca mutasyonlar yapıldığında işe yarayacağını unutmayın. Sınıf, kullanım kapsamı dışında kendi içinde kendi kendine dönüşüm gerçekleştiriyorsa ve bunun gözlemine güveniyorsanız, kullanacağınız yaklaşım 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) }
     )
    }
    

    2. Alternatif: mutableStateOf ve mülk delegelerini kullanın

    Bu yaklaşım, Kotlin’in mülk yetkilileri ve kompozisyon dışında MutableState örnekleri oluşturmanıza olanak tanıyan mutableStateOf API ile daha kolay hale getirildi. Esasen, orijinal sınıfın tüm var özelliklerini var mülkleriyle değiştirin ve mülk yetkisi verilen mutableStateOf mülklerini kullanın. Bu, sınıfın kullanımının hiçbir şekilde değişmeyecek; yalnızca dahili uygulamada değişiklik sağlaması gibi bir avantaja sahiptir. Bununla birlikte, her mülk artık ayrı ayrı gözlemlendiği/abone olduğu için davranış orijinal örnekle tamamen aynı değildir. Bu nedenle, bu yeniden düzenleme işleminden sonra göreceğiniz yeniden düzenlemeler daha dar kapsamlı olabilir (iyi bir şey).

    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/924}b/924}

  • Metin alanlarındaki onFocusChange geri çağırması, onFocusChanged (Ida4a1) olarak yeniden adlandırıldı

  • Sabitler arasındaki eşikleri belirtmek için stateDraggable değerine eşik parametresi eklendi. Bu, alt çekmecede 56 dp eşiği ayarlamak için kullanıldı. Ayrıca BottomDrawerLayout artık ayrı bir BottomDrawerState enum kullanır. (I533fa)

  • Daha önce kullanımdan kaldırılan Modifier.ripple'ı kaldırır. Tıklanabilir artık varsayılan gösterge olarak dalgaları kullanıyor (uygulamanızda bir MaterialTheme {} ayarlıysa). Böylece çoğu durumda sadece tıklanabilir özelliğini kullanabilir ve ücretsiz dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametresini özelleştirmeniz gerekirse manuel olarak bir RippleIndication URL'si oluşturup gösterge parametresi olarak tıklanabilir parametreye aktarabilirsiniz. (I663b2, b/155375067)

  • FilledTextField composable'ın kullanımdan kaldırılmış geçersiz kılması (I7f8f8) kaldırıldı

  • Button nesnesini (Button işlevi tarafından kullanılan varsayılan değerleri içeren) 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üğmenin nasıl yazıldığını öğrenmek için örneklere bakın) (I0ff10, b/158677863)

  • RadioGroup ve RadioGroupItem kullanımdan kaldırıldı. Tasarımınıza göre uygun radyo düğmesi seçimleri yapmak için Modifier.selectable, Satır ve Sütun ile Box'ı kullanın (I7f5cf, b/149528535)

  • Dış çizgili Materyal Metin Alanı Eklendi (I1a518)

  • androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue kullanımdan kaldırıldı. Bu türü kullanan TextField,FilledTextField ve CoreTextField composable öğeleri de kullanımdan kaldırılmıştır. 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 değeri IntOffset olarak değiştirildi. IntPxSize, IntSize ile değiştirildi. (Ib7b44)

  • Boyutlandırma bilgilerini temsil eden sınıfların sayısını birleştirmek için PxSize yerine Beden sınıfının kullanımını standartlaştırın. Bu, kayan öğe olarak gösterilen genişliği ve yüksekliği temsil etmek için uzun bir paket halinde 2 kayan reklam değerinden faydalanmak üzere satır içi sınıfın avantajlarını sağlar. (Ic0191)

  • Modifier.ripple'ı kullanımdan kaldırır. Tıklanabilir artık varsayılan gösterge olarak dalgaları kullanıyor (uygulamanızda bir MaterialTheme {} ayarlıysa). Böylece çoğu durumda sadece tıklanabilir özelliğini kullanabilir ve ücretsiz dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametresini özelleştirmeniz gerekirse manuel olarak bir RippleIndication URL'si oluşturup gösterge parametresi olarak tıklanabilir parametreye aktarabilirsiniz. (I101cd, b/155375067)

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

  • DropdownMenü bileşeni kullanıcı arayüzüne, Materyal Tasarım menü uygulaması olarak eklendi. (I9bb3d)

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

  • Modifier.indication temel paketine eklendi. Özel olarak etkileşimde bulunulabilir öğelerinizde "bas/sürükle/başka bir eylem" göstermek için kullanın (I8425f, b/155287131)

  • Birleştirilmiş CanvasScope uygulamaları artık sadece DrawScope ve ContentDrawScope oluyor. CanvasScope'u DrawScope olarak adlandırıyoruz. DrawScope, Density arayüzünü uygulamak ve ContentDrawScope'ta LayoutDirection'da LayoutDirection'ı Silinmiş DrawScope alt sınıfı sağladı Painter ve PainterModifier artık RTL özelliğini sağlamayacak şekilde güncellendi (DrawScope bunu manuel olarak sağlamadan zaten sunduğu için (I1798e))

  • Emphasis.highlight() öğesini Emphasis.applyEmphasis() (Iceebe) olarak yeniden adlandırıyor

  • Devre dışı bırakılan düğmeler artık görsel olarak Materyal Tasarım spesifikasyonuna uyuyor (I47dcb, b/155076924)

  • FilledTextField, ime işlem, görsel dönüştürme ve klavye türü desteği alır (I1f9cf, b/155075201)

  • Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a stroWidth parametresi ekler. DoğrusalİlerlemeIndicator'ın çizgi boyutunu (yüksekliği) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Buz 16, b/154919081)

  • Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a stroWidth parametresi ekler. DoğrusalİlerlemeIndicator'ın çizgi boyutunu (yüksekliği) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Buz 16, b/154919081)

  • FilledTextField alanında son ve baştaki simgeler ve hata durumunun işlenmesi (Ic12e0) için slot API'sı eklendi

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

  • API'deki tüm null yapılabilir Renk kullanımları, null özelliği olmayanlarla değiştirildi ve null yerine Color.Unset (Iabaa7) değeri kullanıldı

  • EdgeInsets, InnerPadding olarak yeniden adlandırıldı. Malzeme Düğmeleri'nin innerPadding parametresi pedal çevirme olarak yeniden adlandırıldı. (I66165)

  • Kaydırma çubuğu artık durum bilgisiz. Diğer kontrollerde olduğu gibi kullanıcıların durumu kendi kendilerine aktarması ve güncellemesi gerekir. (Ia00aa)

  • StaticDrawer kaldırıldı. Gerekirse bunun yerine malzeme spesifikasyonunda belirtilen genişlikle Box'ı kullanın (I244a7)

  • Doldurulmuş Metin Alanının Materyal Tasarım uygulaması eklendi (Ic75cd)

  • Liste Öğesi'ne değiştirici parametre eklendi ve sondaki lambda gövdesini tanıtmak için yeniden sıralanan parametreler (I66e21)

  • Typography'e defaultFontFamily oluşturucu parametresi ekler ve böylece, bir aile grubu olmayan 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 (Ic4373) yeniden adlandırılmış parametreler

  • çocuklar (Ia6d19)

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

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

  • MaterialTheme.colors(), MaterialTheme.typography() gibi MaterialTheme API'leri işlev yerine özellik olacak şekilde değiştirildi. Mevcut çağrılardan parantez kaldırın. Davranış değişikliği beklenmemektedir. (I3565a)

  • FloatingActionButton API'leri, temel öğeler yerine composable lambda'ları kabul edecek şekilde yeniden düzenlendi. Kullanım bilgileri için güncellenmiş örneklere bakın. (I00622)

  • Onay Kutusu, Switch ve Geçiş Özellikli'ye (I41c16) enabled parametresi ekle

  • Ripple artık bir Değiştirici. Tıklanabilir henüz dönüştürülmese de önerilen kullanım Clickable(onClick = { ... }, modifier = ripple()) olur (Ie5200, b/151331852, b/150060763)

  • Surface ve Card, androidx.ui.material.surface'ten androidx.ui.material (I88a6d, b/150863888) konumuna taşındı

  • Button, FloatingActionButton ve Clickable'ın artık ayrı bir enabled parametresi vardır. Button'daki parametrelerden bazıları yeniden adlandırıldı veya yeniden sıralandı. (I54b5a)

  • Resim verileri ile düzene katılmak ve içerik çizmek için kullanılacak olan Image composable arasındaki farkı daha iyi ayırt etmek amacıyla Image, ImageAsset olarak yeniden adlandırıldı. _Body:Geleneksel Android uygulama geliştirmesini, oluşturma çerçevesi (Id5bbd) ile birleştirmek için yararlı bir ImageAsset örneği oluşturmak üzere android.graphics.Bitmap, Bitmap.asImageAsset() üzerinde oluşturulan uzantı yöntemidir.

  • String parametrelerine sahip Snackbar API'si kaldırıldı. Bunun yerine, composable lambda'ları kabul eden aşırı yüklemenin kullanılması amaçlanıyor. Kullanım bilgileri için güncellenmiş örneklere göz atın (I55f80)

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

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

  • Simge, Simge Düğmesi ve SimgesiToggleButton eklendi, AppBarIcon kaldırıldı. Mevcut AppBarIcon kullanımlarını doğrudan iconButton ile değiştirebilirsiniz. Böylece artık doğru dokunma hedefine sahip olurlar. Kullanım bilgileri için örneklere ve doğrudan bu bileşenlerle birlikte kullanabileceğiniz, sağlanan Malzeme Simgelerine ait Simgelere 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 bakın. (If63ab, b/146478620, b/146482131)

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

  • Düzen koordinatlarının artık bir konum özelliği yoktur. LayoutModifier'lar, rotasyon veya ölçeklendirme düşünüldüğündeposition özelliği anlamlı değildir. Bunun yerine, geliştiriciler bir LayoutKoordinatör'den diğerine dönüşümü hesaplamak için ebeveyniniz Koordinatör'ü ve AltToLocal() işlevini kullanmalıdır.

    LayoutCoordinates, boyut özelliği için PxSize yerine IntPxSize kullanır. Düzenler, düzenler için tam sayı piksel boyutları kullanır. Bu nedenle, tüm düzen boyutlarında kayan nokta değerleri değil tamsayı değerleri kullanılmalıdır. (I9367b)

  • Ambients API'deki önemli değişiklikler. Ayrıntılar için günlüğe ve Ambient<T> dokümanlarına bakın (I4c7ee, b/143769776)

  • Yapı iskele malzemesi bileşeni eklendi. Yapı iskeleleri (I7731b)

  • DrawBorder yerine Kenarlık Değiştirici'yi (Id335a) kullanıma sunduk

Hata Düzeltmeleri

  • FocusModifier kullanımdan kaldırılmış ve bunun yerine Modifier.focus, Modifier.focusRequester, Modifier.focusObserver sitesine yapılmıştır. FocusState ve FocusDetailsState desteği, onun yerine FocusState2 (I46919, b/160822875, b/160922136)
  • Vertical Scroller ve Horiziontal Scroller kullanımdan kaldırıldı. Sütun/Satır davranışı ve parametreleriyle ilgili yerleşik deneyim için ScrollableColumn ve ScrollableRow'u kullanın veya kendi öğenizde Modifier.vertical Scroll ve Modifier.YAYA kaydırıcılarını kullanın. Benzer şekilde, ScrollerPosition desteği sonlandırıldı ve yerini ScrollState (I400ce, b/157225838, b/149460415, b/154105299) kullanıma sunun.
  • Modifier.draggable ve Modifier.scrollable API'leri yeniden düzenlendi. DragDirection kaldırılmış ve yerini Yön aldı. Kaydırılabilir 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 anlambilim özellikleri artık bir çağrı stili kullanıyor. Örneğin, 'semantik {hidden = true }' artık şu şekilde yazıldı: 'semantics {hidden() }'. (Ic1afd, b/145951226, b/145955412)
  • Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. Tüm findXYZ API'leri onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri, performansXYZ olarak yeniden adlandırıldı. (I7f164)
  • Transition API, TransitionState değerini 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üzendeki tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider API'si kullanılacak şekilde güncellendi. (I0d8d0, b/159596546)
  • Test bulucularına yeni bir isteğe bağlı useUnmergedTree işareti eklendi. (I2ce48)
  • Eski boyut testi API'leri kaldırıldı. (Iba0a0)
  • NativeShader'ı sarmalayan Shader satır içi sınıfı kaldırıldı, NativeShader'ı Gölgelendirici olarak yeniden adlandırdı. Sarmalanmış Shader satır içi sınıfı, API yüzeyine değerli herhangi bir şey eklemedi ve bir satır içi sınıftı. Bu yüzden doğrudan NativeShader sınıfını kullanın. (I25e4d)
  • Pop-up'lar, İletişim Kutuları ve Menüler artık bağlamsal MaterialTheme'i devralıyor (Ia3665, b/156527485)
  • Material DropdownMenü'de kaydırma özelliği kullanıma sunuldu. (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) aracılığıyla geri çağırma içinde kullanılabilir
  • Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'larda AnimationBuilder yerine AnimationSpec nesnesini kullanın -Tween, bahar gibi AnimationSpecs oluşturmak için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine kurucu parametrelerini doğrudan alırlar. -Oluşturuculara güvenmek yerine kurucuların açılmasını sağlayan AnimationSpec uygulamasının genel kullanım kolaylığını artırma -KeyFrames ve Tween için süre ve gecikmeyi İnt olarak değiştirin. Bu, gereksiz tür yayınlarını ve yöntem aşırı yüklemesini ortadan kaldırır (hem Long hem de Int'i desteklemek için). (Ica0b4)
  • enabled yanlış değerine ayarlandığında anahtar artık devre dışı durumda görünüyor (If4624, b/155941869, b/159331694)
  • Modifier.testTag ile karışıklık olmaması için Modifier.tag'in adı Modifier.layoutId olarak değiştirildi. (I995f0)
  • Placeable#get(HizalamaSatırı) öğesinden döndürülen hizalama çizgisi tam konumları artık boş değil. Sorgulanan hizalama çizgisi eksikse Hizalama Satırı.Belirtilmemiş döndürülür. (I896c5, b/158134875)
  • Yarıçap sınıfı yeniden düzenleyerek satır içi bir sınıf oldu. Tamamlayıcı oluşturma yöntemleri, varsayılan parametresi olan işlev kurucunun lehine olan ve y ekseni boyunca yarıçapı zorunlu x ekseni yarıçap parametresinin yarıçapıyla aynı olacak şekilde ayarlanarak kaldırıldı.

    DrawScope.drawRoundRect, yarıçap için x ve y ekseni boyunca 2 ayrı kayan nokta değeri yerine tek bir Radius parametresi kullanacak şekilde güncellendi (I46d1b)

  • Konumlandırma bilgilerini temsil eden sınıfların sayısını birleştirmek için PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, kayan öğe olarak temsil edilen x ve y ofsetlerini temsil etmek için uzun bir paket şeklinde 2 kayan reklam değerinden faydalanmak üzere satır içi sınıfın avantajlarını sağlar. (I3ad98)

  • Piksel parametreleri için yalnızca Dp ve temel türlere güvenmeyi amaçlayan kapsamlı yeniden düzenleme çalışmaları kapsamında, çeşitli kompozisyon 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 Modifier.toggleable'ı kullanın (I35220, b/157642842)

  • Piksel parametreleri için yalnızca Dp ve temel türlere güvenmek amacıyla yapılan kapsamlı yeniden düzenleme çalışmaları kapsamında, çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (I086f4)

  • Piksel parametreleri (Id3434) için yalnızca Dp ve temel türlere güvenmek amacıyla yapılan kapsamlı yeniden düzenleme çalışmaları kapsamında, çeşitli kompozisyon sınıflarında Px sınıfı kullanımı değiştirildi

  • Piksel parametreleri için yalnızca Dp ve temel türlere (I97a5a) dayalı büyük yeniden düzenleme çalışmaları kapsamında, çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi

  • DropdonMenüÖğeleri için onClick'in çağrılmadığı düzeltildi. (I3998b, b/157673259)

  • MutuallyCustomSetItem kullanımdan kaldırıldı. Bunun yerine Modifier.selectable'ı kullanın. (I02b47, b/157642842)

  • TestTag artık kullanımdan kaldırıldı. Bunun yerine Modifier.testTag'i kullanın. (If5110, b/157173105)

  • TextField'in imleci yanıp sönen bir animasyon içeriyor (Id10a7)

  • Piksel parametreleri (I19d02) için yalnızca Dp ve temel türlere güvenmek amacıyla yapılan kapsamlı yeniden düzenleme çalışmaları kapsamında, çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi

  • Dikey Scroller artık Column (Sütun) özelliğini kutudan çıkarır. Horizontal Scroller artık Row'u kutudan çıkarır. (Ieca5d, b/157020670)

  • Piksel parametreleri için yalnızca Dp ve temel türlere güvenmek amacıyla yapılan kapsamlı yeniden düzenleme çalışmaları kapsamında, çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (Iede0b)

  • Modifier.semantics, üst düzey bileşenlerin kullanımına izin vermek için kullanımdan kaldırılmıştır. (I4cfdc)

  • DrawLayer değiştiricileri API değiştirildi: OutShape şekil olarak yeniden adlandırıldı ve RectangleShape artık null yapılmıyor

  • Bunun yerine CanvasScope'u kullanıma sunmak için Tuval sunan daha üst düzey oluşturma API'leri güncellendi. Bu, tüketicilerin kendi Paint nesnelerini koruma ihtiyacını ortadan kaldırır. Hâlâ bir Tuval'e erişmesi gereken tüketiciler, çizim komutu vermek için alttaki Tuval'e geri çağırma sağlayandrawCanvas uzantı yöntemini kullanabilirler. (I80afd)

  • HizalamaLineOffset composable kullanımdan kaldırıldı. Lütfen bunun yerine relevantPaddingFrom() değiştiricisini kullanın. CenteralignmentLine composable kaldırıldı. (I60107)

  • WithConstraints sondaki lambda API'si değiştirildi. Şimdi iki parametre yerine bir alıcı kapsamına sahiptir. Bu alıcı kapsamı, sınırlamalara ve layoutDirection'a ek olarak Dp'de minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlar (I91b9a, b/149979702)

  • 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 eklendi (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuz). (I311ea, b/150460257)

  • FocusManagerAmbient kaldırıldı. Odaklanmak için FocusModifier.requestFocus öğesini kullanın. (Ic4826)

  • Durum bilgisiz ve bildirim temelli bir çizim API'si yüzeyi göstermek için bir Canvas nesnesini sarmalayan CanvasScope API oluşturuldu. Dönüşümler kendi alıcı kapsamlarında yer alır. Boyutlandırma bilgileri de ilgili inset sınırlarına dahil edilir. Tüketicinin çizim işlemlerini yapılandırmak için kendi Boya durumu nesnesini korumasına gerek yoktur.

    CanvasScopeSample eklendi ve demo uygulaması bildirim temelli bir grafik demosu içerecek şekilde güncellendi (Ifd86d)

  • Metin Alanı'na imleç rengini özelleştirme özelliği ekleyin (I6e33f)

  • TextField ile birlikte kullanılan TextFieldValue, şu şekilde kullanıldığında artık etkinlik yeniden oluşturma etkinliği olarak kullanılabilir: 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 odakIdentifier parametresi FocusNode ile değiştirildi. (I7ea48)

  • Layout ve LayoutModifier2'deki içsel ölçüm işlevleri, artık örtülü bir şekilde yayılmış düzen yönüyle intrinsics query API'si sağlayan bir IntrinsicMeasureScope alıcısına sahiptir. (Id9945)

  • Aynı üst düzendeki alt öğelerin çizim sırasını kontrol etmek için yeni Modifier.zIndex() eklendi. DrawLayerModifier'daki yükseltme özelliği, shadowElevation olarak yeniden adlandırılır ve artık çizim sırasını kontrol etmez. DrawShadow'un parametre sırası değiştirildi: Yükseklik artık ilk sırada ve şekil, RectangleShape varsayılan olarak ikinci sıradadır. (I20150, b/152417501)

  • RectangleShape, androidx.ui.foundation.shape.* biçiminden androidx.ui.graphics'e taşındı.* (Ia74d5, b/154507984)

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

  • Satır ve Sütuna sırasıyla verticalGravity ve horizontalGravity 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 bilgilerini sorgulamayı desteklemek için PixelMap API'si oluşturuldu. (I69ad6)

  • ProvideContentColor'ı kaldırır, bunun yerine doğrudan Providers (Iee942) ile ContentColorAmbient'i kullanın

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

  • kullanıcı arayüzü 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 eklemek isteyebilirsiniz. (I32042)

  • DrawModifier API'sını iyileştirin:

    • Draw() ContentDrawScope için alıcı kapsamı oluşturuldu
    • Draw() üzerindeki tüm parametreler kaldırıldı
    • DrawScope, eski CanvasScope ile aynı arayüze sahip
    • ContentDrawScope'tadrawContent() yöntemi (Ibaced, b/152919067) bulunur
  • runOnIdleCompose ve runOnUiThread artık ComposeTestRule'daki yöntemler yerine genel işlevlerdir. (Icbe8f)

  • [Mutable]Eyalet mülk delege operatörleri, Kotlin 1.4 mülk yetkilendirmesi optimizasyonlarını desteklemek için uzantılara taşındı. Arayanların by state { ... } veya by mutableStateOf(...) kullanmaya devam etmek için içe aktarma işlemleri eklemeleri gerekir. (I5312c)

  • LayoutKoordinatları için locationInParent ve boundsInParent eklendi. (Icacdd, b/152735784)

  • ColoredRect kullanımdan kaldırıldı. Bunun yerine Box(Modifier.preferredSize(width, height).drawbackground(color)) özelliğini kullanın. (I499fa, b/152753731)

  • LayoutResult'ın adı MeasureResult olarak değiştirildi. (Id8c68)

  • Düzen değiştiricileri tanımlamak için yeni bir API olan LayoutModifier2 eklendi; kullanımdan kaldırılan LayoutModifier (If32ac)

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

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

  • ParentData composable desteği sonlandırıldı. ParentDataModifier arayüzünü uygulayan bir değiştirici oluşturmanız veya yalnızca düzen alt öğelerini ölçüm bloğunda tanımak için etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmanız gerekir. (I51368, b/150953183)

  • Kullanımdan kaldırılan Center composable. Bu öğe, LayoutSize.Fill + LayoutLayout.Center değiştiricisi ile veya uygun değiştiricilerin uygulandığı Box ya da Stack composable'larından biriyle (Idf5e0) değiştirilmelidir.

  • Vektör grafikleri için mevcut alt bileşim API'sinin yerini alması için VectorPainter API'si eklendi. Alt kompozisyonun sonucu DrawModifier yerine bir VectorPainter nesnesidir. Önceki DrawVector composable'lar kullanımdan kaldırıldı ve yerine VectorPainter geldi.

    Image(Painter) API'si PaintBox(Painter) olarak yeniden adlandırıldı ImageAsset yerine VectorAsset (I9af9a, b/149030271) hariç, Image composable gibi davranan Vector composable'ı oluşturuldu

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

  • DrawtierModifier'ın (I00aa4) yerini alan RepaintBoundary kaldırıldı

  • DrawVector, normal bir composable işlevinden, vektörü bir düzene arka plan olarak çizecek bir DeğiştiricidrawVector() işlevi döndürecek şekilde değiştirildi. (I7b8e0)

  • composable Opaklık işlevi,drawOpacity değiştiricisiyle değiştirildi. (I5fb62)

  • ClipToBounds adlı composable işlev işlevini,drawClip() değiştiricisiyle değiştirin. DrawClipToBounds, yalnızca katman sınırlarını bir dikdörtgen şekli ile kırpmanız gerektiğinde kullanmak için kullanışlı bir değiştiricidir. (If28eb)

  • DrawShadow composable işlevidrawShadow() değiştiricisiyle değiştirildi. Gölgeler artık LayerModifier'ın parçası olarak çiziliyor. (I0317a)

  • Bir Düzen için RenderNode eklemeyi sağlayan bir değiştirici olan LayerModifier eklendi. Kırpma, opaklık, döndürme, ölçeklendirme ve gölgelerin ayarlanmasına olanak tanır. Bu, RepaintBoundary'nin yerini alacaktır. (I7100d, b/150774014)

  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer androidx.compose.Emittable'a taşındı. ComponentNode ile yedekliyordu. androidx.compose.ViewAdapters kaldırıldı. Bunlar artık desteklenen bir kullanım alanı değildir. Compose.composeInto kullanımdan kaldı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 üzerindeki dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto androidx.ui.core.subcomposeInto'ya taşındı ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı ComponentNode#emitRemoveAt, ComponentNode#removeAt ComponentNode#emitMode0 olarak yeniden adlandırıldıComponentNode#removeAt#emitMode0 olarak yeniden adlandırıldı

  • Belirli bir ImageAsset'i ekrana çizmeye ek olarak boyutlandırma/düzeni işlemek için Image composable oluşturuldu. Bu composable, doğal boyutuna uygun olarak rastgele bir Painter örneği çizmeyi ve belirli bir sabit veya minimum boyutu (Ibcc8f) desteklemeyi de destekler.

  • Kullanımdan kaldırılan Wrap composable. LayoutLayout değiştiricisi veya Stack composable (Ib237f) ile değiştirilebilir

  • WithConstraints, LayoutDirection parametresini (I6d6f7) aldı

  • Düzen yönü, üst düzen düğümünden alt öğelere yayı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ştiricisinde sağdan sola yönü destekleme (I9e8da)

  • Yalnızca görünür öğeleri oluşturan ve düzenleyen bir kaydırma listesi bileşeni olan AdapterList eklendi. Şu anda bilinen sorunlar arasında, yalnızca dikey yönde olması ve alt öğelerinde yapılan değişikliklerin tüm durumlarını tam olarak ele almaması yer almaktadır. (Ib351b)

  • ComposeFlags.COMPOSER_PARAM işareti, oluşturma eklentisi için kod oluşturma stratejisini değiştirecek şekilde true olarak güncellendi. Yüksek düzeyde bu durum, @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametre, çalışma zamanının yürütmeyi düzgün bir şekilde yönetebilmesi için sonraki @Composable çağrılarına geçirilir. Bu, ikili programlarda önemli bir bozulma değişikliği olsa da, onaylı tüm oluşturma işlemlerinde kaynak düzeyinde uyumluluğun korunması gerekir. (I7971c)

  • Tuval bileşeni eklendi. Bu composable yalnızca bir boyut kaplar (kullanıcı tarafından sağlanır) ve CanvasScope (I0d622) özelliğini kullanarak çizim yapmanıza olanak tanır.

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

  • LayoutKoordinatları, sağlananHizalamaSatırlarını bir Harita yerine bir kümeye dönüştürmek ve LayoutKoordinatlarının, bir değeri almak için bunun yerine get() operatörünü uygulamasını sağlamak amacıyla değiştirildi. Bu, değiştiricilerin her biri için yeni bir koleksiyon oluşturmadan kümedeki bir veya daha fazla değeri değiştirmesini kolaylaştırır. (I0245a)

  • Kaydırma araçları artık yerel Android hızlı hareket davranışı sergiliyor. (I922af, b/147493715)

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