Materyal Oluşturma

Kullanıma hazır Materyal Tasarım Bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış Compose'un daha üst düzey giriş noktasıdır.
Son Güncelleme Kararlı Sürüm Serbest Bırakma Adayı Beta Sürümü Alfa Sürümü
29 Kasım 2023 1.5.4 - 1.6.0-beta02 -

Yapı

Oluştur, androidx içindeki 7 Maven Grup Kimliğinin birleşiminden oluşur. Her Grup, her birinin 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 notu grubunun bağlantıları açıklanmaktadır.

GruplandırAçıklama
compose.animationJetpack Compose uygulamalarında kullanıcı deneyimini zenginleştirmek için animasyonlar oluşturur.
compose.derleyici@Composable işlevlerini dönüştürün ve bir Kotlin derleyici eklentisiyle optimizasyonları etkinleştirin.
compose.foundationKullanı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 oluşturun. Bu, www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış Compose'un daha üst düzey giriş noktasıdır.
compose.material3Materyal Tasarımın yeni evrimi olan Materyal Tasarım 3 Bileşen ile Jetpack Compose kullanıcı arayüzleri oluşturun. Güncellenen tema ve bileşenlerin yanı sıra dinamik renk gibi Material You kişiselleştirme özellikleri içeren Material 3, yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak şekilde tasarlandı.
compose.runtimeCompose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Compiler Eklentisi'nin hedeflemesi için temel çalışma zamanı.
compose.uiCihazla etkileşim kurmak için gereken temel yazma kullanıcı arayüzü bileşenleri (ör. düzen, çizim ve giriş).

Bağımlılıkları bildirme

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

Uygulamanız veya modülünü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.5.4"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.6"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.6"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Geri bildirim

Geri bildirimleriniz Jetpack'i iyileştirmemize yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı geliştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni hesap 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 sorun oluşturma

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

Sürüm 1.6

Sürüm 1.6.0-beta02

29 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta02 yayınlandı. Sürüm 1.6.0-beta02 bu 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ı. Sürüm 1.6.0-beta01 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 parametresi alan aşırı yüklenmesini sağlamak için 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ır. (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 kaydetmeleri içerir.

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

Sürüm 1.6.0-alpha06

20 Eylül 2023

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

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

  • Çekmeceyle ilgili işlev BottomSheetScaffold öğesinden kaldırıldı. Önceki işleve ulaşmak için BottomSheetScaffold öğenizi bir Çekmecede 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 çocuklarını ölçmesinin gerekip gerekmediğini kontrol etmek için geçici bir işaret uygulamaya koyuldu. Varsayılan olarak, ölçümde ölçüm yapılır. Yeni davranışla ilgili sorun yaşıyorsanız lütfen sorun bildirin. (If6e3b)

Sürüm 1.6.0-alpha05

6 Eylül 2023

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

Yeni Özellikler

  • Sağdan sola düzenlerde oluşturulduğunda otomatik olarak yansıtılan simgeler için destek eklendi. Materyal-simgeler-temel ve malzeme-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ünde Icons.AutoMirrored.Filled... vb. bulunur ve sağ taraftaki düzenlerde otomatik olarak yansıtılacak simgeler gösterilir. Otomatik olarak yansıtılabilen (ve otomatik olarak yansıtılabilen) simgelerin listesi için Materyal simgeleri listesine bakın.

API Değişiklikleri

  • Sağdan sola düzenlerde oluşturulduğunda otomatik olarak yansıtılan simgeler için destek eklendi. Materyal-simgeler-temel ve malzeme-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ünde Icons.AutoMirrored.Filled... vb. bulunur ve sağ taraftaki düzenlerde otomatik olarak yansıtılacak simgeler gösterilir. Otomatik olarak yansıtılabilen (ve otomatik olarak yansıtılabilen) 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. RTL'de yansıtma simgeleri için özel bir işlem yapmıyorsanız 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ışması sorunu düzeltildi. (If2c5d)
  • DropdownMenu ürününün offset hesaplaması, x ofsetlerinin yalnızca yerel düzen yönüne bağlı olacağı ve menü ekranın alt kısmına yakın olduğunda y ofsetlerinin artık tersine çevrilmeyeceği şekilde düzeltildi. (Iccc74, b/294103942)
  • BottomSheetScaffold aracının dahili düzeni 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 API'sini iletecek ayrı bir API'ye sahiptir. Material3 bileşenlerinden farklı olarak, malzeme2 bileşenleri varsayılan olarak ekleri 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 kaydetmeleri içerir.

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, şu bileşenler için geçerlidir: SwipeToDismiss ve E-tablo tabanlı bileşenler. Lütfen, yoğunluğun bir parametre olduğu yeni aşırı yükü kullanın. (I1846e)
  • Oluşturulabilir öğelere izin verilen girişleri belirtmek için ek ek açıklamalar (I51109)
  • API dosyaları, uyumluluk önleme ek açıklaması içerecek şekilde güncellendi (I8e87a, b/287516207)
  • FabPosition için yeni Başlangıç hizalaması eklendi (Ib7aea, b/170592777)
  • Materyal 2'deki TextFieldColorsWithIcons desteği sonlandırıldı ve yerine TextFieldColors eklendi. leadingIconColor veya trailingIconColor geçersiz kılınırken aşırı yükü de 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

  • includeFontPadding artık Malzeme 2 tipografisinde varsayılan olarak false değerine sahip. Varsayılan satır yüksekliği stili de Trim.None ve Alignment.Center olarak değiştirildi. Bu değerleri özelleştirmek istiyorsanız lütfen API belgelerine bakı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

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

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) bağlayıcı ile kaydırma yönünde en yakın sabitleyici 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 herhangi bir 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ı. 1.5.1 sürümü 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 sürümünden sonraki önemli değişiklikler

API Değişiklikleri

  • BottomSheetScaffold ürününde Scrollable1 API'lerine değişiklikler eklendi. BottomSheetState hesabının confirmStateChange parametresi confirmValueChange olarak yeniden adlandırıldı. progress artık kayan değer olarak gösteriliyor. animateTo ve snapTo dahili verilerdir. Bunun yerine expand() ve collapse() kullanın. direction ve overflow kaldırıldı. offset, requireOffset() ile değiştirildi. I323b4
  • Çekmecedeki 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ı kullanıcının confirmStateChange adlı cihazı confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Modifier.minimumInteractiveComponentSize adlı kullanıcıyı ekleyin. Öğenin daha küçük ölçülmesi durumunda, dokunma etkileşimlerini belirginleştirmek için en az 48.dp boyut ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout ürününde Kaydırılabilir API'lere değişiklikler eklendi. ModalBottomSheetState canlandırması artık animationSpec parametresini almıyor ve gösterilen göreli konum artık null özellikli. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility notu ekleniyor (I8f206)
  • ModalDrawer. DrawerState tarayıcısının animateTo nesnesindeki Kaydırılabilir API'lere eklenen değişiklikler, açık ve kapatma yöntemleriyle değiştirildi ve göreli konum artık null olabilir. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (I3de9e)
  • Hareketlerin kaydırma etkinliğine dönüşmesi ihtimaline karşı Çekmeceler ve E-Tablolar, basmaları doğru şekilde geciktirecek şekilde 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 ürününün hız kullanmadığı ve fazla kaydırmanın gösterilmesine neden olan bir sorun düzeltildi. Ayrıca Modifier.pullRefresh içindeki onRelease lambda'nın API imzası, tüketilen hız için bir Float değerini döndürecek şekilde değiştirildi (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) bağlayıcı ile kaydırma yönünde en yakın sabitleyici 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, uygulamanın Materyal Tasarım spesifikasyonuyla uyumlu olmasını sağlar. (I029de, b/235454277)
  • gesturesEnabled yanlış değerine ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırma işlemine 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 uç durumda kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğindeki/sayfa içeriği üzerindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)

Sürüm 1.5.0-rc01

26 Temmuz 2023

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

Sürüm 1.5.0-beta03

28 Haziran 2023

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

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) bağlayıcı ile kaydırma yönünde en yakın sabitleyici 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ı. Sürüm 1.5.0-beta02 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ı. Sürüm 1.5.0-beta01 bu kayıtları içerir.

API Değişiklikleri

  • DrawerState ve BottomDrawerState adlı öğenin ofseti artık null özellikli değil. Bunun yerine, ofsetin olmadığını belirtmek için Float.NaN değerini döndürür. (Ie9855)
  • Görüntülenen menü öğelerinin dikey kaydırma durumunu kontrol etmek için DropdownMenu veya ExposedDropdownMenu oluştururken ScrollState iletme 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ırabilir (I40af0)
  • Metin renginin verimli bir şekilde canlandırılmasına veya ayarlanmasına olanak tanımak için BasicText öğesine bir renk parametresi eklendi. (Iffd88, b/246961787)
  • isContainer semantik özelliğini 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, uygulamanın Materyal Tasarım spesifikasyonuyla uyumlu olmasını sağlar. (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 düzeyine 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 öğelerini güncelleyin. Bu nedenle BottomDrawerState artık yalnızca sınıf düzeyinde API'ler tanımlayacak ve SwipeableState öğesinden yöntemleri/özellikleri devralmayacak. Besteyi dahili bir SwipeableV2State ile kullanıyoruz. Göreli konum artık null özellikli bir kayan nokta mülküdür. Geçerli değere ve kaydırma hedefi değerine, currentValue ve targetValue özellikleri üzerinden erişmeye devam edilebilir. Open/expand/close 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 durumu) önizleyecek. (Id90d4)
  • BottomSheetScaffold dilindeki animasyonlu sayfa içeriği (ör. sayfa içeriğinde Modifier.animateContentSize) optimize edildi ve artık sorunsuz bir şekilde çalışıyor. (Ia913c, b/270518202, b/254446195)
  • gesturesEnabled, false olarak ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırma işlemine katılmayacak. (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)
  • PullRefreshIndicator müdahale eden tıklama / işaretçi etkinliklerini düzeltir (2494256, b/271777421)

Sürüm 1.5.0-alpha01

22 Mart 2023

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

Hata Düzeltmeleri

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

Sürüm 1.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.material:material-*:1.4.3, hiçbir değişiklik olmadan 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ı. Sürüm 1.4.1 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 sürümünden sonraki önemli değişiklikler

API Değişiklikleri

  • Modifier.minimumInteractiveComponentSize adlı kullanıcıyı ekleyin. Öğenin daha küçük ölçülmesi durumunda, dokunma etkileşimlerini belirginleştirmek için en az 48.dp boyut ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalDrawer ürününde Kaydırılabilir API'lere değişiklikler eklendi. DrawerState öğesinin animateTo'si, açık ve kapatma yöntemleriyle değiştirilmiştir ve göreli konum artık null yapılabilir. Ofseti zorunlu kılmak için requireOffset öğesini 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 kompozitlerin minimum yüksekliğini satır sayısı olarak (I24294, b/122476634) ayarlamaya olanak tanır.

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ı. Sürüm 1.4.0-rc01 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ı. Sürüm 1.4.0-beta02 bu kayıtları içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • Tıklanabilir ve seçilebilir yüzeylerden semantik roller kaldırıldı, değiştirici.semantics (Ibb4ba) aracılığıyla rol belirlemek için bunları kullanan bileşenler güncellendi
  • Genişletilmiş Materyal simgelerinde, doldurulmuş desktop_mac, directions ve kitchen simgelerinde küçük güncelleme yapıldı. (I65f5e)

Sürüm 1.4.0-beta01

8 Şubat 2023

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

API Değişiklikleri

  • pullRefresh ürününün hız kullanmadığı ve fazla kaydırmanın gösterilmesine neden olan bir sorun düzeltildi. Ayrıca Modifier.pullRefresh içindeki onRelease lambda'nın API imzası, tüketilen hız için bir Float değerini döndürecek şekilde değiştirildi (I7db65, b/266874741)
  • LocalMinimuTouchTargetEnforcement mülk alıcısı geri yüklendi, kullanımdan kaldırıldı olarak işaretlenip LocalMinimumInteractiveComponentEnforcement adresine yönlendiriyor. (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 olarak görünmesine neden olan sorun düzeltildi. (I8c615, b/265610459)
  • ModalBottomSheetLayout özelliğinde, 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üzeyler'deki IsContainer semantik özelliğine eklendi. Bu özellik, geçiş sırasını yüzeyler gibi öğelerin anlamsal anlamına göre belirleyen daha sonraki bir değişiklikte kullanılacaktır. (I63379)
  • Çekmecedeki 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ı kullanıcının confirmStateChange adlı cihazı confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Kullanımdan kaldırılan gizli işlevlerin daha fazla dönüş türü null değeri (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize adlı kullanıcıyı ekleyin. Öğenin daha küçük ölçülmesi durumunda, dokunma etkileşimlerini belirginleştirmek için en az 48.dp boyut ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout ürününde Kaydırılabilir API'lere değişiklikler eklendi. ModalBottomSheetState öğesinin animateTo parametresi artık animationSpec parametresi kabul etmiyor ve kullanıma sunulan offset artık null özellikli. offset öğesini zorunlu kılmak için requireOffset öğesini kullanın. (Ia2e79)

Hata Düzeltmeleri

  • ModalBottomSheetLayout adlı sayfalar artık 640 dp'lik maksimum genişliğe sahip. (I71a4f, b/234927577)
  • rememberPullRefreshState uygulamasının zaman içinde refreshThreshold ve refreshingOffset güncelleme yapmamasına yol açan sorun 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ç bağlantı almadığında, snapTo veya animateTo çağrıldığında istisna göndermek yerine currentValue öğesini animasyon olmadan günceller. (I2c91b)
  • Materyal 2 FilterChip uygulamasındaki etkin durumu düzeltildi. (Id326a, b/261329817)
  • Dikeyden yataya döndürüldüğünde HalfExpanded olduğunda ModalBottomSheetLayout öğesinin kilitlenmesine neden olan hata düzeltildi. Lütfen yapılandırmayı kontrol ederek doğru initialValue erişimini geçirdiğinizden emin olun. (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. Burada, sorunun ilk olarak bildirildiği yerdir. Bir düzeltme gönderildi. Bu düzeltme bir sonraki Compose güncellemesinde kullanıma sunulacak. Geçici bir çözüm olarak androidx.compose.material ve androidx.compose.material3 kitaplıklarınızı en son sürüme(1.1.0-alpha04) güncelleyin veya androidx.compose.foundation sürümünü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 notu ekleniyor (I8f206)
  • ModalDrawer konumundaki Swipeable API'lerine değişiklikler eklendi. DrawerState öğesinin animateTo öğesi, open ve close yöntemleriyle değiştirilmiştir ve göreli konum artık null özelliklidir. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (I3de9e)
  • Üst öğelerin kaydırma bilgilerini sorgulamak için bir Değiştirici API'si eklendi. (I2ba9d, b/203141462)
  • Hareketlerin kaydırma etkinliğine dönüşebileceği durumlarda, basın etkileşimlerini doğru şekilde geciktirmek için Clickable içinde kullanılır.
  • Bir Scrollable ViewGroup içinde kullanıldığında Clickables dalgalarını doğru şekilde geciktirmemesi düzeltildi.
  • Hareketlerin kaydırma etkinliğine dönüşmesi ihtimaline karşı Çekmeceler ve E-Tablolar, basmaları doğru şekilde geciktirecek şekilde güncellendi.

Hata Düzeltmeleri

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

Bağımlılık Güncellemeleri

  • Oluşturma Kullanıcı Arayüzü ve Oluşturma Materyali artık Yaşam Döngüsü 2.5.1'e bağlıdı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 birleşim öğelerinin minimum yüksekliğini satır sayısı olarak (I24294, b/122476634) belirlemenize olanak tanır.

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 kaybolamaz.
  • Hareketler arasında etkinliklerin kaybolmasına izin verdiği için forEachGesture() kullanımdan kaldırıldı. Bu nedenle awaitEachGesture() kullanıma sunuldu. (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 sürümünden sonraki önemli değişiklikler

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

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

API Değişiklikleri

  • Oluştur'a "Yenilemek için Çekme" bileşeni ekleyin (I29168).
  • RangeSlider'da (I3b79a) değerler olan parametre adını değer olarak değiştirin.

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.material:material-*:1.3.0-rc01 yayınlandı. Sürüm 1.3.0-rc01 bu 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şimlerde ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.

Oluştur iletişim kutuları ve pop-up'lar için desteklenen maksimum yükseklik 30 dp'den 8 dp'ye düşürüldü. Bu değişiklik hem materyal hem de kullanıcı arayüzü özel iletişim kutularını ve pop-up'larını etkiler. Bu değişiklik, S altındaki Android sürümlerinde erişilebilirlik hatası riskini azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up'ın içindeki içerikle etkileşim kurabilmesini 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 etkilenirsiniz. İletişim kutusu veya pop-up'ınızın yüksekliğini azaltmayı düşünün. Bu yeni davranışı devre dışı bırakmanız gerekirse kendi iletişim kutunuzu veya pop-up'ınızı istediğiniz yükseklik ayarıyla bölebilirsiniz. Erişilebilirlik olumsuz yönde 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 kaydetmeleri içerir.

Sürüm 1.3.0-alpha02

27 Temmuz 2022

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

Harici Katkı

  • Scaffold'daki FloatingActionButton ile ilgili AnimatedVisibility sorunu düzeltin (I3a0ae, b/224005027)

Sürüm 1.3.0-alpha01

29 Haziran 2022

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

API Değişiklikleri

  • RangeSlider ürününde değerler olan parametre adını değer olarak 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ı. Sürüm 1.2.1 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ı. Sürüm 1.2.0-rc03 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ı. Sürüm 1.2.0-rc02 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ı. Sürüm 1.2.0-rc01 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şturulmuştur

Hata Düzeltmeleri

  • Rozetin simge yerine etikete eklenmesi için önünde simge sekmesi bulunan güncellemeler rozeti. (I90993)

Sürüm 1.2.0-beta03

1 Haziran 2022

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

Hata Düzeltmeleri

  • BottomSheetScaffold ürününün, ü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 üzerine yerleştirilir; genişletilmiş durumda ise Snackbar'lar sayfanın alt kısmına sabitlenir. (Ia80b5, b/187771422)

Sürüm 1.2.0-beta02

18 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta02 yayınlandı. Sürüm 1.2.0-beta02 bu 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ı. Sürüm 1.2.0-beta01 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 adlı oluşturma biçimi 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

  • PointerInputChange konumunda kısmi tüketim (düşük VEYA konum) kullanımdan kaldırıldı. Değişiklikten tamamen yararlanmak için consume() öğesini kullanabilirsiniz. Daha önce başka birinin değişikliği uygulayıp uygulamadığını belirlemek için isConsumed kullanabilirsiniz.
  • PointerInputChange::copy() artık her zaman yüzeysel bir kopya oluşturuyor. Bu da PointerInputChange kopyalarının biri kullanıldıktan sonra tüketileceği anlamına gelir. Bağlantısı kaldırılmış bir PointerInputChange oluşturmak istiyorsanız bunun yerine oluşturucuyu 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 kaydetmeleri içerir.

API Değişiklikleri

  • Surface API'deki (I56bcb) değişiklikleri takip etmek için tıklanabilir Card API'de yapılan güncellemeler
  • Seçilebilir ve açılabilir Yüzeyler için ek aşırı yükleme işlevleri ekleyen Material 2 Surface API'si 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 artık kararlı. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen androidx.compose.foundation.lazy'den 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 gerekli olan bir Pencere gerekiyor. Doğru Pencerenin kullanıldığından emin olmak için (örneğin, Görünüm iletişim kutusundaysa) ViewCompat.getWindowInsetsController yerine WindowCompat.getInsetsController kullanılmalıdır. (I660ae, b/219572936)
  • Metin:includeFontPadding artık varsayılan olarak kapalı. includeFontPadding=false sonucunda ortaya çıkan kırpma sorunları ele alınır ve uzun komut dosyalarında kırpma işlemi gerçekleşmez. (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 kullandığınızda, Materyal Tasarım metin alanlarını temel alan ancak daha fazla özelleştirme seçeneği sunan özel metin alanları oluşturabilirsiniz.
  • Metin alanlarında yatay ve dikey dolguları ayarlamak için bir yol sağlandı. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/6168b/168
  • Oluşturulabilir bir işlevin, kullanmak üzere tasarlanmamış bir uygulamayı hedefleme olarak adlandırıldığı durumların derleme zamanı raporlamasını sağlayan ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget eklendi.

    Çoğu durumda, ek açıklamalar yazma derleyici eklentisi tarafından anlaşılabilir. Dolayısıyla, bu ek açıklamaların doğrudan kullanılması nadirdir . Tahmin edilemeyen durumlar arasında özel bir uygulama aracı, soyut birleştirilebilir işlevler (arayüz yöntemleri gibi), oluşturulabilir lambda olan alanlar veya genel değişkenler (yerel değişkenler ve parametreler tahmin edilir) oluşturup kullanma veya ComposeNode ya da ilgili bir oluşturma işlevi kullanılır.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode çağıran oluşturulabilir işlevlerin, işlev ve oluşturulabilir 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 ek açıklama, uygulama parametresi olarak özellik sınıfının tam nitelikli adına sahip ComposbleTarget ile 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 kaydetmeleri içerir.

API Değişiklikleri

  • Karmaşık mantık gerektirmeden mevcut yöntemlerin aşırı yüklü olduğu yöntemlere NonRestartableComposable eklendi. Bu, çağrılan iç işlevde tekrarlanan tüm parametreler için derleyici tarafından oluşturulan notlandırma kontrollerini azaltır (eşittir). (I90490)
  • İşlem çipi desteği ekleyin (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 uygulamasına bağlı.

Harici Katkı

  • ModalBottomSheetState artık isSkipHalfExpanded işaretine sahip. Bu, oluşturucu aracılığıyla ayarlanabilir veya daha sonra ModalBottomSheetState öğesinin 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ı. Sürüm 1.1.1 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 olduğu kilitlenmeyi düzeltin. (I06020, b/197769306)
  • LazyVerticalGrid cinsinden sabit RTL (aosp/1931080, b/207510535)

Sürüm 1.1.0

9 Şubat 2022

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

1.0.0 sürümünden sonraki önemli değişiklikler

  • Android 12 Fazla kaydırma efekti için kararlı destek
  • Dokunma hedefi boyutlandırmayla ilgili iyileştirmeler
  • Compose 1.0'da, Materyal bileşenlerinin düzen alanlarını, dokunma hedefi boyutu için Materyal erişilebilirlik kurallarına 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 boyutuna genişler. Bu, Materyal Oluşturma Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirerek Görünümler ve Oluşturma'yı 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ı Desteği
  • Önceden deneysel API'lerden bazılarını 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ı. Sürüm 1.1.0-rc03 bu kayıtları içerir.

Davranış Değişiklikleri

Compose 1.0'a göre, Materyal 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 boyutuna genişler. Bu, Materyal Oluşturma Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirerek Görünümler ve Oluşturma'yı 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ı. Sürüm 1.1.0-rc01 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 yalnızca Modifier.scrollable() kapsayıcısının içinde olduğunda gecikecek ve 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ı. Sürüm 1.1.0-beta01 bu kayıtları içerir.

Yeni Özellikler

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

Sürüm 1.1.0-alpha06

13 Ekim 2021

androidx.compose.material:material-*:1.1.0-alpha06 yayınlandı. Sürüm 1.1.0-alpha06 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)
  • Kullanımdan kaldırılan dismissOnClickOutside yerine dismissOnOutsideClick, PopupProperties adlı ürüne eklendi. Yeni mülk, tıklama konumunu ve çapa sınırlarını alarak onDismissRequest'in çağrılıp çağrılmayacağı üzerinde daha ayrıntılı kontrol sağlar. Örneğin bu şekilde, sabite yapılan dokunmalarda sabitleyicinin kapatılmasını önleyebilirsiniz.
    • updateAndroidWindowManagerFlags, PopupProperties öğesine eklendi ve pop-up tarafından Android WindowManager'a iletilen işaretler üzerinde alt düzey kontrol olanağı sundu. Lambda'nın parametresi, WindowManager flag'leriyle sonuçlanan PopupProperties değerlerinden hesaplanan işaretler olacaktır: ör. odaklanılabilir. Lambda'nın sonucu, Android WindowManager'a aktarılacak son flag'ler olur. Varsayılan olarak, updateAndroidWindowManagerFlags, parametrelerden hesaplanan işaretleri değiştirmeden bırakır. Bu API, yalnızca pop-up'ın çok özel 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 boyutlandırması ekler. Bu şekilde, yeterince büyük bir dokunma hedefine sahip olduklarından emin olmak için bileşenlerin etrafına fazladan 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 dikkate almaz. Bir hiyerarşide bu davranışı devre dışı bırakmak için yerel LocalMinimumTouchTargetEnforcement bestesini kullanabilirsiniz. Ancak bunun yalnızca, mevcut kullanıcı arayüzlerini yeni minimum boyutu dikkate alacak şekilde güncellerken geçici bir çıkış yolu olması amaçlanmıştır. (I9b966, b/149691127, b/171509422)
  • Deneysel TextFieldColorsWithIcons arayüzü eklendi, EngagementSource'un öncü renk ve postingColor'a sağlanması için TextFieldColors genişletildi. Bu, TextField'in görünümünü odak durumuna göre değiştirmeyi sağlar. (I66923, b/198402662)

Sürüm 1.1.0-alpha04

15 Eylül 2021

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

API Değişiklikleri

  • Kullanımdan kaldırılan performGesture ve GestureScope, performTouchInput ve TouchInjectionScope ile değiştirildi. (Ia5f3f, b/190493367)
  • Geliştiricilerin dokunma hedeflerinin minimum erişilebilirlik değerlerini karşılamasını sağlayabilmeleri için minimum dokunma hedefi boyutunu içeren touchBoundsInRoot, SemanticsNode öğesine 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 çizmeyi desteklemek için kalınlık parametresi için Dp.Hairline yönergesine uyacak şekilde Divider oluşturma işlemi 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 kaydetmeleri içerir.

Yeni Özellikler

  • Oluşturma 1.1.0-alpha03 öğesi, Kotlin 1.5.30 sürümünü temel alacak şekilde güncellendi. (I74545)

API Değişiklikleri

  • Kırpılan sınırları almak için test yöntemi eklendi. (I6b28e)
  • Erişilebilirliği 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 kaydetmeleri içerir.

Harici Katkı

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

Sürüm 1.1.0-alpha01

4 Ağustos 2021

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

API Değişiklikleri

  • İsteğe bağlı bir FilterQuality parametresini kullanmak için kaynak ve hedef rektörlerini kullanan DrawScope#drawImage yöntemi güncellendi. Bu özellik, piksel tabanlı çizim için ölçek büyütüldüğünde pikselleştirilmesi amaçlanan piksel sanatı için faydalıdır. BitmapPainter + Image composable, isteğe bağlı bir FilterQuality parametresi (Ie4fb0, b/180311607) kullanacak şekilde güncellendi
  • Rozetin yeni bir adı RozetidBox olarak değiştirildi, parametreler, Rozet kompozisyonunu kabul edecek şekilde değiştirildi. RozetidBox için tipik rozet içeriği olan Rozet bileşeni eklendi. (I639c6)
  • NavigationRail bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I8de77)

Hata Düzeltmeleri

  • Alta hizalı NavigationRail örneği ve Katalog uygulaması demosu eklendi. (I3cffc)
  • İletişim kutuları artık platform boyutlandırma davranışını izler. Bu davranışı geçersiz kılmak için usePlatformDefaultAvailability politikasını false (yanlış) değerine ayarlayın. (Iffaed, b/192682388)
  • Katalog uygulamasına gezinme treni 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üretStateOf örneklerinin kilitlenmesini izlemeyle ilgili 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 modeline bağlı olacak şekilde 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 modeline bağlı olacak şekilde 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ü destekleyecek şekilde 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 sürümüne bağlı olacak şekilde 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'e yükseltin. Bu sorun, Android Studio Bumblebee ve 7.1 AGP'nin yeni 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ı izler. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth değerini false olarak ayarlayın. (Iffaed, b/192682388)

Sürüm 1.0.0-rc01

1 Temmuz 2021

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

API Değişiklikleri

  • BadgeBox bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere göz atın (I5e284)
  • PopupProperties öğesindeki useDefaultMaxWidth, usePlatformDefaultWidth olarak yeniden adlandırıldı. (I05710)
  • İletişim kutuları artık tüm ekran genişliğini kullanabilmektedir. (I83929, b/190810877)
  • Deneysel Aralık Kaydırma Çubuğu uygulaması eklendi (I2f4b3)

Hata Düzeltmeleri

  • Materyal Tasarım özelliklerine uygun olması için, geçersiz giriş içeren OutlineTextField özellikleri, etiket yer tutucu olarak kullanılırken etikette hata rengi kullanılması durduruldu. İkinci yöntem, metin alanında giriş metni yoksa ve metin alanı odakta değilken 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ürecektir. (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 öğesine Ş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 değeri geçirildi (I2d899, b/182063309)

Profil Kuralları Eklendi

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

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.çalışma zamanı
  • 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ığın profil kuralları, src/main veya eşdeğer dizinde bulunan baseline-prof.txt metin dosyasında belirtilir. Dosya, her satır için bir kural belirtir. Buradaki kural, kitaplıktaki yöntemler veya sınıflarla eşleştirme için bir kalıptır. Bu kuralların söz dizimi, adb shell profman --dump-classes-and-methods ... kullanılırken kullanılan, kullanıcılar tarafından okunabilen ART profili biçiminin üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini kullanır.

  • Bir yöntem kuralının kalıbı aşağıdaki gibi olur:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Sınıf kuralının kalıbı aşağıdaki gibidir:

    <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ı gösterilmektedir.

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

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

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

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, başlangıçta çağrılan bir yöntem olduğunu ve derleme ile yöntemin başlangıç zamanında yorumlanmasını önlemek için önceden derlenmesi gerektiğini belirtir.

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

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

Nasıl çalışır?

  • Kitaplıklar, AAR yapılarına paketlenecek bu kuralları tanımlayabilir. Ardından bu yapıları içeren bir APK oluşturulduğunda, bu kurallar birleştirilir ve birleştirilmiş kurallar, APK'ya özel kompakt bir ikili ART profili oluşturmak için kullanılır. Böylece ART, uygulamanın performansını artırmak amacıyla uygulamanın belirli bir alt kümesini önceden derlemek için APK cihazlara yüklendiğinde bu profilden yararlanabilir, özellikle de ilk çalıştırmada bunu yapar. Bu işlemin, hata ayıklaması yapılabilecek 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

Behavior Breaking API Değişikliği

  • DAVRANIŞI BIRAKMA: Kart artık tıklamaları tüketiyor ve Card(Modifier.clickable) aracılığıyla eklenen tıklamalar işlemsiz hale geliyor. Lütfen onClick'i kabul eden bir Kartın yeni deneysel aşırı yüklemesini kullanın. (Ia8744, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri de ele alan yeni bir Kart aşırı yüklemesi eklendi: gösterimi, engagementSource, etkin/devre dışı. Tıklanamayan normal bir Kart, Modifier.clickable ile birlikte kullanılamadı. Çünkü Kart bu gibi durumlarda dalga göstergesini kırpmayacaktır.
  • DAVRANIŞI BIRAKTI: Şu anda yüzey tıklamaları tüketiyor ve Surface(Modifier.clickable) aracılığıyla eklenen tıklamalar işlemsiz hale geliyor. Lütfen onClick'i kabul eden yeni bir deneysel aşırı yük uygulamayı kullanın. (I73e6c, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri de ele alan yeni bir Surface aşırı yüklemesi eklendi: gösterim, engagementSource, etkin/devre dışı. Tıklanamayan normal bir Yüzey, Modifier.clickable ile kullanıldığında dalga göstergesini kırpmayacağı için mümkün değildi.

API Değişiklikleri

  • FabPosition, gelecekte olası genişletmeyi desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb)
  • Yeni enum değerleri eklendiğinde kapsamlı ifadelerle ilgili sorunları önlemek için satır içi sınıflarda enum kullanımları yeniden düzenlendi. (I2b5eb)
  • Kaydırma / sürükleme sırasında dalga gösterilmesini engellemek için tıklanabilir / değiştirilebilir cihazlara dokunma zaman aşımı ekler (Ia2704, b/168524931)
  • ContentDescription ve Text semantics özellikleri artık tek değerler değil, listelerdir. Böylece, öğeler birleştirme yerine oldukları gibi birleştirilebilir. Ayrıca bu değişikliklerden yararlanmak için daha iyi test API'leri sağlandı (Ica6bf, b/184825850)
  • Modifier.focusModifier() desteği sonlandırılmış ve yerini Modifier.focusTarget() (I6c860) almıştır
  • FocusState sıralaması, FocusState arayüzüyle değiştirildi (Iccc1a, b/187055290)
  • Görüntüleme 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ı raporlayacak şekilde 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 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

  • Dalga, Android cihazlarda dahili olarak RippleDrawable kullanmak üzere taşındı. Bu, dalga animasyonlarının RenderThread'de gerçekleşeceği ve bu nedenle, ekranlar arasında gezinme gibi işlemlerde kullanıcı arayüzü iş parçacığı yüklüyken bile düzgün olacağı anlamına gelir. Bu durum, Ripple'ın API yüzeyini değiştirmez ancak bu değişikliğin sonucunda davranış değişiklikleri görülebilir. Taşımaya yardımcı olmak için LocalRippleNativeRendering eklendi. CompositionLocalProvider içindeki önceki dalga uygulamasına dönmek için bu CompositionLocal'a false değeri gir. 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ün işaretlenmesine olanak tanıyan error Erişilebilirlik API'si eklendi (I12997, b/180584804, b/182142737)

Hata Düzeltmeleri

  • Materyal Oluşturma kataloğuna ait eklerin uygulanması güncellendi: https://github.com/google/accompanist/pull/365. (I25dc3)
  • Ağırlığı(fill = false) olan 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 kapsamını genişletmiyor.
    • API DEĞİŞİKLİĞİ: BottomDrawerState, zaten Deneysel BottomDrawer bileşeniyle (I81114, b/181656094) eşleşecek şekilde Deneysel olarak işaretlendi
  • SoftwareKeyboardController üzerindeki hideSoftwareKeyboard ve showSoftwareKeyboard adlı kullanıcıların adlarını sırasıyla hide() ve show() olarak değiştirin.
    • LocalYazılımKlavyeController için tam CompositionLocal arayüzünü sağlayın. Bu arayüz, ayarlanmasına olanak tanıyın (özellikle testlerde kullanılı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 özelliği eklendi. Şu anda eksik: Bileşen karosu resimleri, tema seçici (takip değişikliklerinde 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 çağrılırsa artık IllegalStateException politikası geçerli. (I4eb0d)
  • Sekmelerde simge ve satır içi metin görüntülemeyi 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 göndermez. 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ş durumdaysa şimdi true değerini döndürür. (I87241)

Sürüm 1.0.0-beta02

10 Mart 2021

androidx.compose.material:material-*:1.0.0-beta02 yayınlandı. 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'ın varsayılan yatay hizalaması 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 modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
  • androidx.compose.ui:ui artık AppCompat veya Fragment'a bağlı değil. Uygulamanızda ComposeView'un yanı sıra Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3 veya sonraki sürümleri / Fragment 1.3 ve sonraki sürümleri kullanın. Bu sürümler, ComposeView için gereken yaşam döngüsünü ve kayıtlı durum sahiplerini doğru şekilde ayarlamak 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.PreferredGenişlik/tercih edilenYükseklik/tercih edilenBoyut, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)
  • resim (I89130)
  • Yerleşik öğelere boyutlandırmak için kullanılan değiştiriciler artık deneysel değildir. (I15744)
  • dp onayları kaldırıldı (I798d2)
  • Kısa süre içinde yeni bir API ile değiştirilecek olan SoftwareKlavyeController geri çağırması tüm metin alanlarından kaldırıldı. (Iae869, b/168778053)
  • Switch, Checkbox ve RadioButton işlem lambda'ları 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 etkinliklerinin yayınlanmasından / toplanmasından sorumludur.
    • interactionState = remember { InteractionState() } öğesini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } kullanın.
    • Interaction.Pressed in interactionState yerine, EngagementSource'ta EngagementSource.collectIs PressedAsState() gibi uzantı işlevlerini kullanmalısınız.
    • Karmaşık kullanım örneklerinde, Etkileşim akışını gözlemlemek için EngagementSource.interactions'ı kullanabilirsiniz. Daha fazla bilgi için Etkileşim Kaynağı dokümanlarına ve örneklerine bakın.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • CompositionLocals'a AccessibilityMananger arayüzü ve LocalAccessibilityMananger'ı ekle (I53520)
  • Kullanımdan kaldırılan LayoutKoordinat yöntemleri kaldırıldı, locationInParent ve boundsInParent için özellik yerine işlev 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)
  • AnimationEndREASON.Interrupted kaldırıldı. Animasyon kesintiye uğrarsa CancelException hatası verilir. (I2cbbc, b/179695417)
  • @ExperimentalRippleApi dosyası kaldırılmış ve RippleAlpha, arayüz yerine özelliklere sahip bir sınıf olacak şekilde değiştirilmiştir. (I6df7c)
  • Farklı durumlarda TextField ve OutlineTextField'te kullanılan farklı renkleri göstermek için 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üğmelerinin 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şaretlenmiş olan besteler 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.verticalScroll()/LandscapeScroll() içindeki kaydırma konumu artık Ints ile temsil edilir (I81298)

  • smoothScrollBy ve ScrollBy yöntemlerinin paketleri androidx.compose.foundation.gestures.* olarak değiştirildi (I3f7c1, b/175294473)

  • FlingConfig, FlingBehavior olarak yeniden adlandırıldı. Artık önceden tanımlanmış 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.PreferredGenişlik/tercih edilenYükseklik/tercih edilenBoyut, 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. Onları çağıracak bestenin kapsamını almak için readCoroutineScope() kullanın (I16f60, b/175294473)

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

    • Beste oluşturucu artık anahtar parametresi kabul etmiyor ve kullanımdan kaldırıldı.
    • currentCompositeKeyHash, derlenebilir bir üst düzey işlev yerine birleştirilebilir üst düzey mülke dönüştürüldü.
    • CompositionData ve CompositionGroup androidx.compose.runtime.tooling ad alanına taşındı
    • ComposableLambda, beton sınıf yerine arayüz haline getirilmiştir ve artık tür parametrelerine sahip değildir.
    • ComposableLambdaN, beton sınıf yerine arayüz haline getirilmiştir ve artık tür parametrelerine sahip değildir.
    • Snapshot işlevi, androidx.compose.runtime ad alanına taşındı
    • SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değil.
    • @TestOnly üst düzey clearRoots işlevi kaldırıldı. Artık gerekli değildir.
    • keySourceInfoOf ve sıfırlaSourceInfo işlevleri kaldırıldı. Bunlar artık gerekli değildir.
    • Composer.collectKeySourceInformation kaldırıldı. Artık gerekli değildir.
    • isjoinedKey, katılmışKeyLeft vejoinKeyRight yöntemleri kaldırıldı. Bunlar 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 program uyumluluğunu bozar ancak kaynak uyumluluğunu bozar. Bu nedenle çoğu kullanıcı için bir sorun olmamalıdır.
    • (I99b7d, b/177245490)
  • Modifier.scrollable yeniden düzenlendi. Artık ScrollableController sınıfı yerine Scrollable arayüzü kullanıyor (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable artık basit bir lambda yerine DraggableState'i kabul ediyor. Ö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 olarak adlandırılmaktadır. (I7f970, b/177457083)

  • Daha önce desteği sonlandırılmış API'lerden bazıları 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 gerekli parametreler için API yönergelerine uygun olacak şekilde yeniden sıralandı.
    • BottomNavigasyonItem öğesindeki icon parametresi, selected ve onClick satırlarından sonra olacak şekilde taşındı.
    • BottomNavigasyonItem öğesindeki alwaysShowLabels parametresi alwaysShowLabel olarak yeniden adlandırıldı.
    • Birkaç bileşendeki bodyContent parametreleri yalnızca content olarak yeniden adlandırıldı.
    • Parametreler ButtonDefaults.buttonColors() içinde yeniden sıralandı. Parametrelerin türü değişmediği için 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.
    • secondaryVariant parametresi darkColors() parametresine eklendi. Bu renk, koyu temada genellikle secondary ile aynıdır, ancak tutarlılık ve daha fazla özelleştirme için eklenmiştir.
    • Yaygın olarak kullanılmadıkları / yararlı olmadıkları için ElevationDefaults veactivateElevation() herkese açık API yüzeyinden kaldırıldı.
    • Slider içindeki onValueChangeEnd öğesi, onValueChangeFinished olarak yeniden adlandırıldı ve boş değer atanabilir.
    • 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 parametresine contentPadding parametresi eklendi ve content, RowScope üzerinde uzantı haline getirildi.
    • ModalDrawerLayout adlı dosya ModalDrawer olarak yeniden adlandırıldı.
    • BottomDrawerLayout adlı dosya 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)

  • resim (I89130)

  • Indication#createIndication(), Indication#rememberUpdatedIndication(EtkileşimState) olarak değiştirildiğini ve IndicationInstance#drawIndication()() içindeki EngagementState parametresini kaldırır. IndicationInstance, EngagementState değişikliklerine yanıt olarak animasyonları başlatmayı veya durumları yazma durumunu değil yalnızca görsel efektleri çizmekten sorumlu olmalıdır. Bu animasyonlar ve durum yazma işlemleri 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 SoftwareKlavyeController arayüzünün yerini almak üzere yeni Local SoftwareKlavyeController bileşimi 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 yeni bağımlılıklar için işaretçi girişi algılama eş yordasının ne zaman yeniden başlatılması gerektiğini belirtmek için tuşların hatırlanmasını gerektiriyor. (I849cd)
  • BottomDrawerLayout ve ListItem @DeneyselalMaterialApi (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 KlavyeActions'ı kullanın (If0bbd, b/179071523)
  • Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek için ImagePainter'ın adı BitmapPainter, paralel VectorPainter olarak değiştirildi. (Iba381, b/174565889)
  • Animatable.snapTo ve Animatable.stop, artık askıya alma işlevleri olarak adlandırılıyor (If4288)
  • ComponentActivity.setContent, androidx.activity:activity-compose modülündeki androidx.activity.compose.setContent konumuna taşındı. (Icf416)
  • Destructstruct ve copy() yöntemleri nadiren kullanıldıkları birkaç sınıftan kaldırıldı. (I26702, b/178659281)
  • ModalBottomSheetState dahili içinde expand() ve expand() yöntemini yapın (Ic914e)
  • Indication#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> Indication yerine bir Göstergeyi içerecek şekilde değiştirildi. (I5eea, b/157150564)
  • Uyarı İletişim Kutusu ve Açılır Menü, şimdilik yalnızca Android olacak şekilde taşındı. Temel Pop-up öğesinin daha ayrıntılı 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 desteği sonlandırılmıştır. Bunun yerine PaintterResource kullanın. (I6b809)
  • DropdownMenü'den toggle ve toggleModifier parametresi kaldırıldı, dropdownModifier, dropdownOffset ve dropdownContent sırasıyla modifier, offset ve content olarak yeniden adlandırıldı. DropdownMenü artık Popup ile tutarlı bir şekilde çalışıyor. Burada menünün konumu için üst düzen kullanılır. Çoğu durumda toggle öğesini DropdownMenu öğesinin kardeşi olacak şekilde 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 (Ib5064) genişletme ve yarısı genişletme eklendi.
  • Modifier.dragToolsFilter kullanımdan kaldırılmıştır. 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 -> CompositionLocal yeniden adlandırmasıyla eşleşecek şekilde Ambiyanslar yeniden adlandırıldı. Ambiyanslar eskiden AmbientFoo olarak adlandırılırken artık CompositionLocals adı LocalFoo olarak adlandırılıyor. (I2d55d)
  • Seçim, temele taşındı. (I7892b)
  • Benzer şekilde, daha önce state { 0 } composposto öğesini, şimdi de remember { mutableStateOf(0) } gibi kullanımı teşvik etmek için tasarladığımız savedInstanceState { 0 } kompozit içeriğini kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmanız gerekir. MutableState içinde kullanılan tür Paket'te depolanabiliyorsa bu öğe otomatik olarak kaydedilir ve geri yüklenir. Daha önce bir özel tasarruf nesnesi iletiyorsanız şimdi stateSaver parametresine sahip yeni bir forceSaveable aşırı yüklemesi 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 progressBarRangeInfo.Indeterminate eklendi (I6fe05)
  • @ComposableContract kullanımdan kaldırılmış ve üç ek ek açıklama kullanıma sunulmuştur.

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

  • JuneSaveInstanceState(), voiceSaveable() olarak yeniden adlandırılıp androidx.compose.runtime.saveable paketine taşınmıştır. (I1366e, b/177338004)

  • Saver, listSaver(), MapSaver(), autoSaver

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

  • Bileşenin boyutunu ve düzenini etkilediği için bu parametreler sağlanmadığında / sağlanmadığında bileşenin davranışını daha iyi iletmek amacıyla Sekme'nin text ve icon parametreleri ve BottomTrafficItem label parametresi boş değer olarak değiştirildi. Şu anda metin / simge / etiketi temsil etmemesi için emptyContent() iletiyorsanız bunun yerine null kullanılmalıdır. (I57ed4)

  • contentColorFor parametresinin adı backgroundColor olarak değiştirildi (I5bb67)

  • 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'si kullanıma sunuldu. Refactored ColorFilter API, bir arayüze dönüşür ve PathEffect uygulamasıyla eşleşir. (Ica1e8)

  • Animasyon Değeri/Kayan artık kullanımdan kaldırıldı. Lütfen bunun yerine Animasyon özelliğini kullanın. (I71345, b/177457083)

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

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

  • dokunun. Bunun yerine, Dedefier.clickable veya Modifier.pointerInput'u tespit TapHarekets 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 geç oluşturulmuş, pencere kapsamlı Yeniden Oluşturucular'dır. Ana makine Yaşam Döngüsü durdurulurken yeniden oluşturma veFrameNanos tabanlı animasyon kareleri duraklatılır. (I38e11)

Hata Düzeltmeleri

  • Simge, uygulanan boyut değiştiricilere uygun olarak kendi boyutuna sığacak şekilde ölçeklendirilir. Örneğin, Icon(.., modifier = Modifier.size(50.dp) şimdi 50x50 dp'lik bir alanda çizim yapacaktır. (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'lerini artık @Experimental olmayacak şekilde tanıtıyor (I5d20e)
  • İçerik açıklaması parametresi, Resim ve Simge'ye eklendi. Erişilebilirlik hizmetleriyle ilgili açıklama sunmak için kullanılır (I2ac4c)
  • 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,mationElevation, Animatable'da bir askıya alma uzantısı olarak da değiştirilir. (If613c)
  • Snackbar, SnackbarHost, SnackbarHostState artık @ExperimentalMaterialAPI değil (Id1fb5)
  • Tipografi, Şekiller ve Sekme Konumu artık veri sınıfı olmayacak şekilde değiştirilir. Oluşturulanların yerine Tipografi ve Şekiller için kopyalama işlevi ekler. (I40037)
  • Daha önce kullanımdan kaldırılan bazı Materyal API'ler (Ifaa25) silindi

Hata Düzeltmeleri

  • onCommit, onDispose ve onActive; kullanımdan kaldırılarak, SideEffect ve DisposableEffect API'lerinin (If760e) yerini aldı.
  • TransitionDefinition tabanlı Geçişin desteği sonlandırıldı (I0ac57)
  • UpdateTransition'daki İlk Durum artık desteklenmektedir (Ifd51d)
  • WithConstraints, BoxWithConstraints olarak yeniden tasarlanıp foundation.layout'a taşındı. (I9420b, b/173387208)
  • Askıya alınmayan ScrollBy öğesini kullanımdan kaldır, askıya alınmayan görünümü kaldır

    Artık kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. 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 smoothScrollBy öğesini kullanımdan kaldırın Artık kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. 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 setContent özelliğini tanımlayan ve ComposeTestRule ürününden kaldırılan ComposeContentTestRule kullanıma sunuldu. ComposeTestRule döndüren ve sizin için Etkinlik başlatmayan bir fabrika yöntemi createEmptyComposeRule() eklendi. Test sırasında Etkinliğinizi başlatmak istediğinizde bunu kullanın (ör. ActivityScenario.launch kullanarak (I9d782, b/174472899)

  • Button ve FloatingActionButton'da kullanılan dalga artık AmbientIndication aracılığıyla yeni bir Gösterge sağlanarak özelleştirilemez. Bu, hiçbir zaman bu bileşenleri özelleştirmek için bir yol olarak tasarlanmamıştı ve bu da 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)

  • animasyonluAsState artık animasyonluFooAsState şeklindedir. Burada Foo, animasyonlu değişkenin türüdür.Örneğin, Kayma, Dp, Offset vb. (Ie7e25)

  • BasicTextField, decorationBox adlı yeni bir parametre aldı. Simge, yer tutucu, etiket ve metin alanına benzer süslemelerin eklenmesine ve bunun isabet hedef alanının artırılmasına olanak tanır. (I16996)

  • Malzeme metin alanının genişliğinin 280.dp'den (I78373) küçük olarak ayarlanmasını engelleyen bir hata düzeltildi.

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

  • Kaçınılması gerektiği için displaySize özelliğini kaldırın. Tipik olarak, 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)

  • inexpiration ve beste (I583a8)

  • PopupPositionProvider'ı genel koordinatları değil, pencereye göre koordinatları kullanacak şekilde değiştirir. parentGlobalBounds adını anchorBounds ve windowGlobalBounds adını 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 MoviesFloat.fling kaldırıldı. Lütfen bunun yerine Animatable.animateDecay adlı askıya alma işlemini kullanın. (I4659b, b/177457083)

  • Artık kompozisyon 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üz olarak değiştirildi (Ib14e5)

  • ScrollableColumn/Row desteği sonlandırıldı. ScrollableColumn kullanımı, büyük bir kayan içeriğe sahip olduğunuz LazyColumn ile karşılaştırıldığında daha az verimlidir. Çünkü LazyColumn ile yalnızca görünür öğeleri oluşturabilir/ölçebilir veya çizebiliriz. Kullanıcıların verimsiz bir şekilde hareket etmesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunun yerine LazyColumn ve LazyRow'un kullanımlarını desteklemeye karar verdik. Kullanıcılar, tembel davranışa ihtiyaç duymadıklarına karar verebilir ve değiştiricileri doğrudan şu şekilde kullanabilir: Column(Modifier.verticalScroll(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, kullanıldıklarında bunları 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 (Ib753f, b/170708374) kaldırıldı

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

  • Denetleme açıkken grafik katmanı değiştiricisi ekleyen Modifier.toolingGraphicsKatman eklendi. (I315df)

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

  • SemanticspropertyReceiver.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ı. AccessibilityScrollState, ScrollAxisRange olarak yeniden adlandırılmıştır. issueAccessibilityScrollState, YatayScrollAxisRange olarak yeniden adlandırılır. verticalAccessibilityScrollState, dikeyScrollAxisRange olarak yeniden adlandırılır. (Id3148)

  • Testlerde TestCoroutineDispatcher'dan yararlanın (I532b6)

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

Sürüm 1.0.0-alpha10

13 Ocak 2021

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

API Değişiklikleri

  • Bileşen parçaları ve matematik işlemleri olacak şekilde değiştirilmiş Hız. (Ib0447)
  • @ExperimentalTesting adı, benzer deneysel API ek açıklamalarıyla tutarlı olacak şekilde @ExperimentalTestApi olarak değiştirildi (Ia4502, b/171464963)
  • Konum Dpoffset olarak yeniden adlandırıldı ve getMesafe() (Ib2dfd) kaldırıldı
  • Color.useOrElse(), Color.takeOrElse() olarak ranamelendi (Ifdcf5)
  • Temel Strings.kt dosyasına Geçiş Ekle (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() 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 getirdiler. NativeClass'ın 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 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 artık Kaydırma Çubuğu'nu da kullanabilmesi için değiştirildi. (I216cd)

Sürüm 1.0.0-alpha09

16 Aralık 2020

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

API Değişiklikleri

  • Animasyonu manuel olarak tetiklemek ve Modifier.skayable'da sürüklemeyi sağlayan API eklendi (Iaa17a, b/162408885)
  • ButtonConstants gibi *Sabit öğeler, bunun yerine ButtonDefaults gibi Varsayılanlarla bitecek şekilde yeniden adlandırıldı. Ayrıca, bu yeni nesnelerdeki mülklerden gereksiz default önekleri de kaldırılır. (Ibb915, b/159982740)
  • Compose, oluşturulabilir ç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ılan söz dizimi, özelliğin kendisine ek açıklama ekliyordu:

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

    Bunu yapmak için şu anda en doğru olan söz dizimi, özelliğin alıcısına ek açıklama eklemektir:

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

    Her iki söz dizimi de bir süre çalışmaya devam eder, ancak kullanımdan kaldırılan eski söz dizimi nihayetinde derleme hatasına dönüşür. (Id9197)

  • Materyal kitaplığının geri kalanına ihtiyaç duymadan etkileşimli bileşenlerin derlenmesi için Ripple API'leri içeren androidx.compose.material:material-ripple kitaplığı eklendi. safetyRippleIndication desteği sonlandırıldı ve Hatırlanabilirlik Dalgası ile değiştirildi. (Ibdf11)

Hata Düzeltmeleri

  • Ofset değiştiricilerdeki lambdalar artık Kayan öğe yerine Intoffset değerini döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • Çizim ortamının boyutları mevcut olduğunda gölgelendirici örneği oluşturmak için yeniden düzenlenen ShaderBrush. Bu, beste zamanında özel DrawModifier uygulamalarını uygulamak zorunda kalmadan, oluşturulabilir bir öğenin tüm çizim sınırlarını kaplayan renk geçişlerini tanımlamak için yararlıdır.

    Kullanımdan kaldırılan gradyan işlevi oluşturucu API'leri yerine bir Gradyan nesnesinde fabrika yöntemleri kullanılıyor. (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 öğelerini kullanımdan kaldırın. Bunun yerine LazyColumn ve LazyRow'u kullanın (I5b48c)

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

  • Autofill API artık deneysel bir API'dir ve kaydolmayı 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 infinite Repeatable işlevi

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

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

  • Alt anlamların temizlenip yenilerini ayarlamak için Modifier.clearAndSetSemantics eklendi. (I277ca)

  • ContentDrawScope, DrawScope ile yapılacak şekilde kullanıcı arayüzü modülüne taşındı. (Iee043, b/173832789)

Sürüm 1.0.0-alpha08

2 Aralık 2020

androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ve androidx.compose.material:material-icons-extended:1.0.0-alpha08 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 doğru renkleri ayarlıyor. Malzeme harici uygulamalar, seçim için kullanılan renkleri özelleştirmek için AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
  • Oluşturma yönergeleriyle tutarlılığı kontrol etmek amacıyla birleştirilebilir lambda parametresi adlandırma ve konumu için hata analizi denetimi eklendi. Ayrıca, hata analizi ve yönlendirmelere göre sondaki lambdalarının adı olarak children kullanan bazı API'leri content'e taşıdı. (Iec48e)
  • VectorAsset adı ImageVector olarak değiştirildi. API konseyi kurallarına göre VectorAsset adı, dahili bir ImageVector sınıfı olarak VectorAsset olarak Builder olarak değiştirildi. Uyumluluk için ImageVector.Builder'a bağlantı vermek üzere VectorAssetBuilder'ın typealias'ı eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler, ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
  • Temel anlam bilimi özellikleri kullanıcı arayüzüne taşındı (I6f05c)
  • fun RippleIndication() desteği sonlandırılmış olup diğer API'lerle tutarlılık sağlamak amacıyla rememberRippleIndication() ile değiştirilmiştir. (Id8e2c)
  • BasicTextField, TextField ve OutlineTextField öğelerine bir singeLine parametresi eklendi. Metin alanını yatay olarak kaydırılabilir tek bir satır haline getirmek 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'den mevcut API'lere geçişe yardımcı olacak typealiases/yardımcı yöntemleri eklemek için DrawModifierUsage.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)
  • Çizimler katmanına kolaylık sağlamak için Modifier.scale/rotate API'leri eklendi.
    • Modifier.drawOpacity adlı dosya 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)
  • offsetPx değiştiricileri, ofset olarak yeniden adlandırıldı. Artık Eyalet yerine lambda parametrelerini alıyorlar. (Ic3021, b/173594846)
  • SweepGradientShader ve SweepGradientBrush API'leri kullanıma sunuldu. (Ia22c1)
  • Oluşturulabilir işlevlerdeki Değiştirici parametreleri için hata analizi kontrolü eklendi. Bu hata analizi denetimi, Oluşturma yönergelerine tutarlılık için parametrenin adlandırma, döndürme türü, varsayılan değeri ve sırasını kontrol eder. (If493b)
  • TextFieldValue API güncellendi
    • TextFieldValue.composition salt okunur hale getirildi
    • geçersiz seçim aralığı için kaldırılan istisna atı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 GraphicstierScope'ta bir lambda bloğu kullanılır. DrawlayerModifier, mantığını placeable.placeWithLayer() LayoutModifier yöntemine (I15e9f, b/173030831) taşımaya hazırdır.
  • Kullanımdan kaldırılan Ambiyanslar, son eki Ambient olarak adlandırdı ve diğer Ambiyans ve Compose API kurallarına uyarak bunların ön ekini Ambient içeren yeni özelliklerle değiştirdi. (I33440)
  • Değiştirici fabrikalarının @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullandığını kontrol etmek için hata kontrolü eklendi. (I3c4bc)
  • Semantik bağımsız değişkeni discoveryAllDescendants,mergeDescendants olarak yeniden adlandırıldı. (Ib6250)
  • Testlerdeki zaman kontrolü (TestAnimationClock ve kullanımları) artık deneysel (I6ef86, b/171378521)
  • Eski kullanıcı arayüzü testi modülünü ve taslaklarını (I3a7cb) kaldırın
  • 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 AmbientContentAlpha ile değiştirildi. AmbientContentAlpha, AmbientContentColor'ın tercih edilen içerik rengini temsil etmesine benzer şekilde, hiyerarşinin bir parçası için tercih edilen içerik alfasını temsil eden daha basit bir soyutlamadır. Metin ve Simge artık varsayılan olarak AmbientContentAlpha'nın geçerli değerini kullanır. Ayrıca bileşenlerinizde de aynı etkiyi elde etmek için color.copy(alpha = AmbientContentAlpha.current) işlemini manuel olarak yapabilirsiniz. şunları kullanmak yerine AmbientContentAlpha ile doğrudan bir değer sağlayabilir ve eski EmphasisLevels'ın yerine ContentAlpha'daki yeni varsayılan düzeyleri kullanabilirsiniz. (Idf03e, b/159017896)
  • androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770) yerine androidx.compose.material.AmbientContentColor eklendi
  • Temaya uygun üst düzey 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 Temel Metin'i kullanın. (Ie6ae0)
  • textFields'e maxLines eklendi (Ib2a5b)
  • Metin Alanları'nı, 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çine 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 temel desteği sonlandırıldı. Bunun yerine, Malzeme kitaplığındaki yeni sürümleri kullanın. Materyal dışı uygulamalarda, kendi bileşenlerinizde kullanabileceğiniz, kendi tasarım sisteminize özgü tema ortamları oluşturmanız gerekir. (I74acc, b/172067770)
  • foundation.Text kullanımdan kaldırıldı ve Matter.Text ile değiştirildi. Bir temadaki değerleri kullanmayan temel ve yorumsuz bir metin API'si için androidx.compose.foundation.BasicText adresine bakın. (If64cb)
  • KlavyeOptions'ı ImeOptions olarak yeniden adlandırma (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, Rengi alacak şekilde güncellendi.Sağlanan öğeyi veya ressamı ColorFilter olmadan çizecek olası bir ton rengi olarak belirtilmedi. Önceden renklendirmeyi Renk ile yok saymayı deniyorlardı.Belirtilmemişse, şeffaf bir renkle tonlama yapılıyordu ve hiçbir şey hiç oluşturulmamış oluyordu. (I049e2, b/171624632)
  • göreliPaddingFrom, paddingFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin referans çizgilerine olan mesafeleri belirleme 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 için "Subject" parametresi içermeyen LaunchedEfektine izin verilmez. (Ifd3d4)
  • measureResult, MeasurementScope dışına taşındı. (Ibf96d, b/171184002)
  • Düzenleyle ilgili birçok simge 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 bir Ressam ile Resim bileşenini / Modifier.paint() öğesini de kullanabilirsiniz. (I9f622)
  • Farklı durumlarda FAB'ler tarafından kullanılan yüksekliği temsil etmek için FloatingActionButtonElevation ekler. Varsayılan uygulama için FloatingActionButtonConstants.defaultElevation() öğesine bakın (I2d4f5)
  • Bir Switch tarafından farklı durumlarda kullanılan renkleri temsil etmek üzere SwitchColors arayüzü ekler. Bu renkleri özelleştirmek için SwitchConstants.defaultColors bölümüne bakın. (I93805)
  • Farklı durumlardaki düğmelerin kullandığı yüksekliği ve renkleri göstermek için ButtonElevation ve ButtonColors arayüzleri ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevlere bakın. (Ic5b7b)
  • Bir RadioButton tarafından farklı durumlarda kullanılan renkleri temsil etmek için RadioButtonColors arayüzü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() öğesine bakın. (I74130)
  • Farklı durumlardaki bir onay kutusunun kullandığı renkleri temsil etmek 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 ayarlamamaktadır. Bu, aynı üst öğede daha büyük gölgeye sahip çocuğun, otomatik olarak küçük olanın üzerine çizilmeyeceği anlamına gelir. Bu gibi bir davranışa ihtiyacınız varsa lütfen Modifier.zIndex()'i gereken yerlerde manuel olarak ayarlayın (I70417, b/170623932)
  • Oluşturulabilir API'nin, verileri kompozisyonlar genelinde korumak için dahili olarak "hatırlatma" özelliğinden yararlandığını daha iyi belirtmek amacıyla VectorPainter'ı keepVectorPainter yerine kaldırın. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştirin; ComposeTestRule'da yanıp sönen imleci etkinleştirme seçeneğini kaldırın. (If0de3)
  • CoreTextField'e tek satırlı klavye seçeneği eklendi (I72e6d)
  • Radius API, Compose'da nasıl kullanıldığını daha iyi ifade etmek için CornerRadius olarak yeniden adlandırıldı. Dokümanlar, negatif köşe yarıçaplarının sıfıra sabitlendiğini gösterecek şekilde güncellendi. (I130c7, b/168762961)
  • DrawScope ve ContentDrawScope soyut sınıflar yerine arayüz olarak yeniden düzenlendi
    • DrawScope'un CanvasDrawScope uygulaması oluşturuldu
    • Bunun yerine CanvasScope'u kullanmak için DrawScope uygulamaları yeniden düzenlendi
    • DrawScope için bağımlılıkları sarmalamak amacıyla DrawContext oluşturuldu
    • DrawScope'taki (I56f5e) desteği sonlandırılmış yöntemler kaldırıldı
  • Box, satır içi bir işleve dönüştürüldü. (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ırma seçeneği de eklendi (I64966, b/143778148, b/143778149)
  • Modifier.sdeleteable artık varsayılan olarak 56.dp eşik değerine sahip (Iab825, b/168610267)
  • @Kararlı olarak işaretlenmiş tüm yapı iskeleleri. ScaffoldState'tekidrawerActionsEnabled Scaffold'a taşındı. (I36645, b/168297016)
  • Scaffold lambda parametrelerinden nullable türü kaldırır, belirli bir parametre için hiçbir içeriği temsil etmemek üzere emptyContent() kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
  • contentColor() ve currentTextStyle() API'lerini kullanımdan kaldırıp 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 sağlamak ve aynı şeyi birden fazla şekilde gerçekleştirmenin önüne geçmek için yapılmıştır. Buna ek olarak, bazı ortam özelliklerini aşağıdaki şekilde daha iyi açıklamak için yeniden adlandırır:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> Ambiyans Göstergesi
    • Vurgu Ambiyansı -> 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ının bir parçası olarak, 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 kullanıma sunuldu. Taşma Yok olduğunda, Metin artık taşmayı işlemez ve gerçek boyutunu LayoutNode'a bildirir. (I175c9, b/158830170)
  • LaunchInComposition, Compose API yönergelerine uygun olacak şekilde LaunchedTask olarak yeniden adlandırıldı (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ı. 1.0.0-alpha04 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Durumu yükseltmeye ve durumu okumaya / kontrol etmeye olanak tanımak için, durum bilgili Malzeme bileşenlerinde EngagementState parametrelerini ortaya çıkarır. (Iaca5f, b/168025711, b/167164434)
  • Her bir durumda kullanılan renklerin tamamen özelleştirilmesini ve istendiğinde renklerin durumlar arasında animasyonları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 publishDefault* renk işlevlerine bakın. (I1c532)
  • ThankBackdropState, purchaseBackdropScaffoldState olarak yeniden adlandırıldı ve animasyon saati için ek bir parametre eklendi. "backdropScaffoldState of BackdropScaffold" parametresi, sadece scaffoldState olarak yeniden adlandırıldı. BackdropConstants, BackdropScaffoldConstants olarak yeniden adlandırıldı. (Ib644d)
  • Deneysel BottomSheetScaffold bileşeni eklendi. (Ie02f0, b/148996320)
  • Deneysel ModalBottomSheetLayout bileşeni eklendi. (Ic209e, b/148996320)
  • ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation adını defaultElevation olarak değiştirir ve artık Animasyon Değeri yerine bir Dp değeri döndürür. (I5f3ed)

Hata Düzeltmeleri

  • Birçok Grafik API güncellendi
    • DrawScope ve DrawTransform'da x/y koordinatları için ayrı kayan nokta parametreleri yerine pivot koordinatını temsil eden tek bir Offset parametresi kullanmak için ölçek ve rotasyon dönüşüm API'leri güncellendi
    • Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı
    • Yarıçap dokümanları güncellendikten sonra eliptik bisiklete ek olarak oval
    • Satır içi Yarıçap sınıfı için herkese açık kurucunun doğrudan çağrılmaması, bunun yerine Yarıçap nesnelerinin işlev kurucuları aracılığıyla örneklendirilmesi gerekir
    • topRight,bottomRight, bottomCenter vb. sorgulamak için RoundRect API'leri kaldırıldı.
    • Rect.translate yerine 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.maxBoyut olarak yeniden adlandırıldı.
    • RoundRect.shortestSide, RoundRect.minDIMENSION olarak yeniden adlandırıldı.
    • RoundRect.center, işlev yerine özellik olarak değiştirildi
    • RoundRect oluşturucu, x/y yarıçap değerleri için tek tek parametreler yerine Yarıçap özelliklerini kullanmak üzere güncellendi
    • Kaynağı 0,0 olan bir Dikdörtgen olduğunu varsayan Boyut API'leri kaldırıldı
    • Yarıçapa yıkıcı bir API eklendi
    • Çeşitli RoundRect uzantı işlevleri ise mülk olarak taşındı.
    • (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 desteği sonlandırılacak ve ardından generate.foundation.layout'ta yeni Box kullanıma sunulacak. Yeni Box'ın davranışı, birden fazla alt öğesi 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/dolgular olmasını istiyorsanız bunun yerine Değiştiriciler'i (Modifier.background, Modifier.Sınır, 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
    • ClipPath dokümanları, yuvarlatılmış dikdörtgen yerine Yola işaret edecek şekilde güncellendi
    • pixelPath'de doğru parametreyle ilgili dokümanlardaki boşluk düzeltildi
    • DrawScope.drawCanvas yeniden adlandırıldı ve boyut parametresi kaldırıldı
    • inset yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı
    • 4 sınırın hepsine aynı inset 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 kullanımdan kaldırılan Rect.shift
    • (If086a, b/167737376)
  • Düzen kapsamlarının içeriğinin statik olarak içe aktarılmasını engelledik (ör. RowScope'taki alignWithSiblings). Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Sürüm 1.0.0-alpha03

16 Eylül 2020

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

API Değişiklikleri

  • BottomNavigationItem ürününün onSelect parametresini onClick olarak yeniden adlandırır (I91925, b/161809324)
  • Bottom NavigationItem ve Tab'a EngagementState parametresi ekleyerek bu durumu yükseltmeye ve bileşenin farklı durumlarda nasıl görüneceğini ayarlamaya olanak tanır. (Ia3e9e, b/168025711)
  • Düğmelerden disabledBackgroundColor ve disabledContentColor parametrelerini kaldırır. Bunun yerine ButtonConstants içindeki yeni varsayılan renk işlevlerini kullanmanız gerekir. ContentColor / backgroundColor ayarlarını zaten açık bir şekilde yapıyorsanız bu varsayılan işlevleri kullanmanız ve hem etkin/devre dışı durumlarda rengin üzerine yazılmaması için parametrelerin bazılarını veya tümünü özelleştirmeniz gerekir. (If9b52)
  • Metin alanının arka plan rengi, artık dolaylı olarak alfa şeffaflığı uygulamıyor. Bunun yerine, backgroundColor parametresiyle sağlanan herhangi bir renk doğrudan uygulanır. (Iecee9, b/167951441)
  • InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
  • Modifier.swipeable içindeki resistanceFactorAtMin ve resistanceFactorAtMax parametreleri tek bir direnç parametresiyle değiştirildi. SwipeableConstants uygulamasına yeni bir defaultResistanceConfig yöntemi eklendi. (I54238)
  • Button ve FloatingActionButton için animasyonlu durum bilgili yükseltme desteği ekler. Yükselti artık varsayılan ve basılmış durumlar arasında animasyonlu olarak gösterilir. Eyaletler arasındaki yüksekliği özelleştirmek için her durumda düz bir Dp değeri ayarlamak yerine 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ütfenComposeTestRule'da (I7f45a) tanımlanan yeni eşdeğerlerine geçiş yapın.
  • Bu API'yi kullanan DpConstraints ve API'lerin desteği sonlandırıldı. (I90cdb, b/167389835)
  • Genişlik Genişliği ve maksimum Genişliği parametreleri, min. ve maks. genişlikleri olarak yeniden adlandırıldı. Aynı şekilde, PreferredwidthIn, yükseklikIn, tercih edilen Yükseklik için de aynı şekilde yeniden adlandırıldı. (I0e5e1, b/167389544)
  • İleri/geri kaydırma anlamlarını kaldır. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
  • Yer çekimi kullanımları, düzen API'lerini hizalamak veya uyumlu hale getirmek için tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • Mevcut genel yöntemler kullanımdan kaldırılacağı için onNode ve diğer genel yöntemler ComposeTestRule'a 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

  • Matris4, 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ı. Sürüm 1.0.0-alpha01 bu kayıtları içerir.

Bilinen Sorun

= TextField bir malzemedeki 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ı. Sürüm 0.1.0-dev17 bu kayıtları içerir.

API Değişiklikleri

  • Daha önce desteği sonlandırılan RadioGroup ve RadioGroupItems kaldırıldı. Bunun yerine Row ve RadioBotton'u 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. Kenarlık veri sınıfı, BorderStroke ile değiştirildi (I4257d, b/158160576)
  • ScrollableState'teki bazı özellikler yeniden adlandırıldı: slideTarget -> targetValue, slideprogress -> progress, ScrollDirection ->Direction. ScrollableStates oluşturmak için bir keepSClearableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
  • Konumlandırma ve düzgün sıralama ile Snackbar desteği eklendi. Bu öğeye SnackbarHostState.showSnackbar askıya alma işlevi aracılığıyla 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 kontrol sağlamak ve ScaffoldState'ten ayrılmasını sağlamak için eklenmiştir. Bu duruma scaffoldState.snackbarHostState üzerinden de erişebilirsiniz.
    • Snackbar aşırı yüklemesi, SnackbarHostState ile Snackbar'ların kendisi arasındaki ortak arayüzü desteklemek için eklendi. (I79aaa)
  • Simgesi
  • Dize Tabanlı API'yi içeren ListItem sürümü kaldırıldı. Bunun yerine slot sürümü 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 TextField'i kullanın. (I5e889)
  • AlertDialog artık düğmeler için FlowRow'u kullanıyor (I00ec1, b/161809319, b/143682374)
  • Sınırların üzerine kaydırırken direnç miktarını değiştirmek için Modifier.skayable'a parametreler eklendi. [min/max]Değer parametreleri kaldırıldı. (I93d98)
  • Doğrusal İlerleme Göstergesi'ne backgroundColor parametresi eklendi ve CircularprogressIndicator'dan dahili dolgu kaldırıldı. Değerler arasındaki ilerlemeyi canlandırırken varsayılan AnimationSpec (If38b5, b/161809914, b/161804677) olarak kullanılabilen yeni progressIndicatorConstants.DefaultprogressAnimationSpec eklendi
  • İsteğe bağlı velocityThreshold parametresi Modifier.skayable'a eklendi. (I698ba)
  • lowBarSize, fabSize ve diğer özellikler eklendi ve artık ScaffoldState'te kullanılamıyor. Bunun yerine, boyutunu öğrenmek istediğiniz bileşende Modifier.onPosition özelliğini kullanın. ContentColor ve Değiştirici pamateres Scaffold'a 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 bölerek isScrollable seçeneğini TabRow'dan kaldırın. Ayrıca, ScrollableTabRow içinde EdgePadding'i de ortaya çıkarır. Böylece, sekmelerden önceki / sonraki boş alanın kontrol edilmesi sağlanır. (I583e8, b/161809544)
  • TabRow nesnesi kaldırıldı ve yerini TabConstants aldı. TabRow.TabPosition üst düzeye (SekmePosition) taşındı ve iconContainer indicator olarak yeniden adlandırıldı. Güncellenen API'nin ve varsayılanların nasıl kullanılacağı hakkında ayrıntılı bilgi için örneklere ve belgelere bakın. (I54d45, b/161809544)
  • Değiştirme. Bir lambda (DismissDirection) -> ThresholdConfig öğesi olan SClearToDismiss'e bir closeThresholds parametresi eklendi. (Ie1080)
  • Kaydırma çubuğu, ayrıntılı özelleştirme için daha fazla renk içerir (I73e64, b/161810475)
  • Kartın renk parametresi, backgroundColor olarak yeniden adlandırıldı (I01fc1, b/161809546)
  • Snackbar artık özelleştirilebilir arka plan ve içerik renkleri sunuyor (I238f2, b/161804381)
  • Çekmecelere düzenleyici, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri eklendi (I23655, b/161804378)
  • state { ... } derlemesi artık kullanımdan kaldırıldı. Bunun yerine, açıklık sağlamak amacıyla remember { mutableStateOf(...) } öğesine yapılan açık çağrılar devre dışı bırakıldı. Bu, genel API yüzeyini ve durum yönetimiyle ilgili kavramların sayısını azaltır ve sınıf özelliği yetkilendirmesi için by mutableStateOf() kalıbıyla eşleşir. (Ia5727)
  • Düğmenin dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
  • Deneysel bir malzeme bileşeni ScrollToDismiss'i 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)
  • SemanticsMülkAnahtarı'na birleştirme Politikası lambda'sı eklendi. Bu, birleştirmeAllDescendants semantik birleştirmesi için özel bir politika tanımlamak amacıyla kullanılabilir. Varsayılan politika, zaten mevcutsa üst değeri, aksi takdirde alt değeri kullanmaktır. (Iaf6c4, b/161979921)
  • IntSize artık bir satır içi sınıf (I2bf42)
  • PlacementScope.placeAbsolute(), PlacementScope.place() olarak, önceki PlacementScope.place() ise PlacementScope.placeRelative() olarak yeniden adlandırıldı. Sonuç olarak, PlacementScope.place() yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmaz. İsterseniz bunun yerine PlacementScope.placeRelative() politikasını kullanın. (I873ac, b/162916675)
  • Kullanımdan kaldırılan PxBounds'un yöntemi Rect oldu. PxBound'ların tüm kullanımları dikdörtgen ile güncellendi ve taşıma işlemine yardımcı olmak için uygun kullanımdan kaldırma/değiştirme notlarıyla eklendi. (I37038, b/162627058)
  • RRect, oluşturma adlandırma kalıplarına daha iyi uyması için RoundRect olarak yeniden adlandırıldı RRect ve kullanımdan kaldırılan RRect işlevi oluşturuculara benzer işlev oluşturucular oluşturuldu (I5d325)

Sürüm 0.1.0-dev16

5 Ağustos 2020

androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 ve androidx.compose.material:material-icons-extended:0.1.0-dev16 yayınlandı. Sürüm 0.1.0-dev16 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şturmalı ve tema nesnesine, MaterialTheme'nin dahili çalışma şekline benzer şekilde bileşenlerinizdeki yeni ortam üzerinden erişmelisiniz. (Ibae84)
  • Materyal renk sistemiyle daha uyumlu olması ve ColorPalette'in 'genel' bir tema nesnesi olmasıyla ilgili karmaşayı ortadan kaldırmak için, ColorPalette'in adı Renkler olarak değiştirildi. Buna ek olarak, lightColorPalette ve darkColorPalette, sırasıyla açıkRenk ve koyuRenkler olarak yeniden adlandırılır. (I9e976, b/161812111)
  • BottomNavigasyonItem'in text parametresini label, onSelected, onSelect, activeColor, selectedContentColor, inactiveColor, unselectedContentColor olarak yeniden adlandırıp parametre sıralamasını kurallara uyacak şekilde günceller. (Icb605, b/161809324)
  • Modifier.stateDraggable baştan aşağı yenilendi 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üzenleme yapıldı. [Modal/Bottom]DrawerLayout artık onStateChange parametresi almaz. (I72332, b/148023068)
  • foundation.shape.corner paketi, foundation.share olarak düzleştirildi (I46491, b/161887429)
  • ExperimentalMaterialApi ek açıklaması eklendi. Deneysel olarak işaretlenmiş DalgaTema (Ic5fa0, b/161784800)
  • Material FilledTextField, TextField olarak, temel TextField'in adı ise BaseTextField olarak değiştirildi

Hata Düzeltmeleri

  • OnChildPositioned kullanımdan kaldırıldı. Bunun yerine alt öğede OnPositioned özelliğini 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'i Intoffset.Zero olarak yeniden adlandırın
    4. Tüketicileri kendi Canvas örneklerini oluşturmalarında 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ılmamasını sağlamak için BlankCanvas sınıfı oluşturuldu
    6. ClipOp enum'ları, Pascal Case olarak yeniden adlandırıldı
    7. Filter Quality enum'ları Pascal Case olarak yeniden adlandırıldı
    8. Stroke Join enum'ları, Pascal Olgusu olacak şekilde yeniden adlandırıldı
    9. PointMode enum'ları, Pascal Case olarak yeniden adlandırıldı
    10. PaintingStyle enum'ları Pascal Case olarak yeniden adlandırıldı
    11. PathFillType enum'ları Pascal Case olacak şekilde yeniden adlandırıldı
    12. StrokeCap enum'ları, Pascal Kılıfı olarak yeniden adlandırıldı
    13. DrawCache uygulaması, artık lateinit parametrelerini kullanmayacak şekilde güncellendi
    14. DrawScope artık fillPaint ve drawPaint dahili parametreleri için geç yetkiyi kullanmayacak şekilde güncellendi
    15. Daha az ek yük için Box kullanımını önlemek üzere Resim oluşturma özelliği 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. Vektör alt bestesi, oluşturma işlevi bunları zaten işlerken eşitlik için gereksiz koşullu denetimleri kaldıracak şekilde güncellendi.
    19. Kullanımdan kaldırılan Rect tamamlayıcı oluşturucu yöntemlerinin yerine işlev kurucular
    20. @Immutable ve @Stable API'leri ile güncellenmiş Brush sınıfları ve işlev oluşturucular
    21. VertexMode sıralaması PascalCase olarak güncellendi
    22. Çizim kapsamı değiştiyse boyamadaki çizgi parametrelerinin üzerine koşullu olarak yazmak için DrawScope selectPaint yöntemi güncellendi
    23. Boyut, yıkıcı API'yi eklemek için güncellendi, UnspecifiedSize olarak yeniden adlandır 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 politikasını kullanın. (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot() adı SemanticsNodeInteraction.getUnclippedBoundsInRoot() olarak değiştirildi (Icafdf, b/161336532)
  • Sağdan sola desteği için API'ler güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilen LayoutDirectionAmbient eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • Modifier.deternimateİlerleme, Modifier.progressSemantics olarak yeniden adlandırıldı (I9c0b4)
  • Material.io/icons'a eklenen en son simgelerle zenginleştirilmiş materyal-simgelerini günceller (I4b1d3)
  • MigrationDefinition için T türünün açıkça belirtilmesini zorunlu kılın. (I1aded)
  • Modifier.plus kullanımdan kaldırıldı. Bunun yerine Modifier.then adını kullanın. "Sonra"da sıralama sinyali daha güçlüyken Modifier.padding().background() + anotherModifier yazmanız da yasaklanır, bu da zinciri bozar ve okunması daha zordur (Iedd58, b/161529964)
  • AndroidComposeTestRule yeniden adlandırılarak AndroidComposeRule oluşturuldu. (I70aaf)
  • isFocused() ve isNotFocused() SemanticsMatcher öğelerini 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 düzeltildi. (Idd7dd)
  • Modifier.drawArka Plan, 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ı. Sürüm 0.1.0-dev15 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ıkları bildirme bölümünde gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.

API Değişiklikleri

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

    Gerekçe

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

    • API yüzey alanını ve öğretmemiz gereken kavramları azaltır
    • Diğer benzer araç setleriyle daha uyumlu (Swift UI, React, Flutter)
    • Karar geri alınabilir. @Model adlı sağlayıcıyı daha sonra dilediğiniz zaman geri getirebiliriz.
    • @Model ürününün köşeye kullanımını ve yanıtlanması zor soruları ele almamız gereken işlemler olarak yapılandırmayla ilgili sorunları ortadan kaldırır
    • @Model veri sınıfı, eşittir, karma kodu vb.
    • Bazı mülklerim nasıl "gözlemleniyor", bazıları ise görmüyorum?
    • Gözlemde kullanılacak yapısal ve referanssal eşitliği nasıl belirtirim?
    • Sistemdeki “sihir”i azaltır. Bir kişinin sistemin olduğundan daha akıllı olduğunu varsayma (ör. bir listeyi nasıl fark edeceğini bilmesi) olasılığını azaltır
    • Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
    • Sınıftaki değişken -> özelliğinden yeniden düzenlemeye olanak sağlar
    • Potansiyel olarak devlete özgü el ile yapılmış optimizasyonlar yapma olanakları sağlar
    • Ekosistemin geri kalanıyla daha uyumlu olur ve sabit durumu bize ya da "değişken durumu benimsemeye" yönelik belirsizliği azaltır

    Taşıma Notları

    @Model ürününün neredeyse tüm mevcut kullanımları, iki yöntemden biriyle oldukça küçük değişiklikler içerir. Aşağıdaki örnekte, yalnızca örnek olması açısından iki özellik içeren bir @Model sınıfı vardır ve bu sınıf composable bir şekilde 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 kopyalarını oluşturun.

    Kotlin'in veri sınıfları sayesinde bu yaklaşım daha kolay hâle getirilmiştir. Esas olarak, önceki tüm var özelliklerini bir veri sınıfının val özelliklerinde oluşturun, 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 sınıfta yapılan mutasyonların yalnızca State örneğinin oluşturulmasıyla aynı kapsamda yapılması durumunda işe yaradığını unutmamak önemlidir. Sınıf, kullanım kapsamı dışında kendi kendine değişiyorsa ve bunun gözlemine güveniyorsanız bir sonraki yaklaşım kullanmak isteyeceğiniz yaklaşımdı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 yetki verilmiş kullanıcılarını kullanın

    Bu yaklaşım, Kotlin’in mülk delegeleri ve kompozisyon dışında MutableState örnekleri oluşturmanıza olanak tanıyan mutableStateOf API ile daha kolay hâle getirildi. Aslında, orijinal sınıfın tüm var özelliklerini var mülkleriyle değiştirin. Bunların yerine, özellik temsilcisi olarak mutableStateOf koyun. Bu, sınıfın kullanımının hiçbir şekilde değişmeyecek ve yalnızca dahili olarak uygulanması gibi bir avantaja sahiptir. Ancak davranış, orijinal örnekle tamamen aynı değildir. Çünkü her özellik artık ayrı ayrı gözlemlenmektedir/abone edilmiştir. Bu nedenle, bu yeniden düzenleme işleminden sonra göreceğiniz yeniden düzenlemeler daha dar olabilir (iyi bir şeydir).

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

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/93}b/143}

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

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

  • Daha önce kullanımdan kaldırılan Modifier.ripple'ı kaldırır. Tıklanabilir özellik artık varsayılan gösterge olarak dalgaları kullanmaktadır (uygulamanızda bir MaterialTheme {} ayarladıysanız). Böylece, çoğu durumda tıklanabilir özelliğini kullanabilir ve ücretsiz dalga gösteriminden yararlanabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekiyorsa manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu gösterge parametresi olarak tıklanabilir moda geçirebilirsiniz. (I663b2, b/155375067)

  • FilledTextField composable öğesinin kullanımdan kaldırılan geçersiz kılması kaldırıldı (I7f8f8)

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

  • Düğmenin içerik alanı artık Satır görevi görüyor (metin içeren bir simgeniz olması gerektiğinde kullanışlıdır. Nasıl yazılacağı düğmesiyle ilgili ö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 Malzeme Alanı Eklendi (I1a518)

  • androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Bu türü kullanan TextField,FilledTextField ve CoreTextField besteleri de kullanımdan kaldırılmıştır. Lütfen bunun yerine androidx.ui.input.TextFieldValue öğesini kullanın (I4066d, b/155211005)

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

  • IntPx kullanımı, IntPxPosition (IntPxPosition) ile 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ı standart hâle getirin. Bu, kayan öğe olarak gösterilen genişlik ve yüksekliği temsil etmek için, paketleme için uzun 2 kayan değer değerinden yararlanmak amacıyla satır içi sınıfın avantajlarını sağlar. (Ic0191)

  • Modifier.ripple'ı kullanımdan kaldırır. Tıklanabilir özellik artık varsayılan gösterge olarak dalgaları kullanmaktadır (uygulamanızda bir MaterialTheme {} ayarladıysanız). Böylece, çoğu durumda tıklanabilir özelliğini kullanabilir ve ücretsiz dalga gösteriminden yararlanabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekiyorsa manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu gösterge parametresi olarak tıklanabilir moda geçirebilirsiniz. (I101cd, b/155375067)

  • Scaffold API üzerinde geliştirmeler yapıldı: Adları birkaç parametreyle değiştirildi, daha iyi özelleştirme için yeni parametreler eklendi. Fab, ÜstBar ve BottomBar'ın sorgu boyutlarına getter eklendi (I0e7ce)

  • Bir Materyal Tasarım menü uygulaması olan ui-material'a DropdownMenü bileşeni eklendi. (I9bb3d)

  • SoftwareKlavyeController uygulamasını kullanarak yazılım klavyesini manuel olarak göstermeye/gizlemeye izin ver (Ifb9d6, b/155427736)

  • Modifier.indication, temel paketine eklendi. Özel etkileşim öğelerinizde basma/sürükleme/diğer göstergelerini göstermek için bu özelliği kullanın (I8425f, b/155287131)

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

  • Emphasis.sensitive() adını Emphasis.applyEmphasis() (Iceebe) olarak yeniden adlandırır

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

  • FilledTextField, ime eylemi, 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 motionWIDTH parametresini ekler. Doğrusal İlerleme Göstergesi'nin çizgi boyutunu (yükseklik) değiştirmek için Modifier.PreferredHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)

  • Çizgi boyutunu özelleştirmek için CircularprogressIndicator'a motionWIDTH parametresini ekler. Doğrusal İlerleme Göstergesi'nin çizgi boyutunu (yükseklik) değiştirmek için Modifier.PreferredHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)

  • FilledTextField alanında son ve baştaki simgeler ve hata durumunun işlenmesi (Ic12e0) için slot API'si 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 özellikli Renk kullanımları, null yapılamayan renkle değiştirildi ve null yerine Color.Unset (Iabaa7) kullanılıyor

  • EdgeInsets, InnerPadding olarak yeniden adlandırıldı. Malzeme Düğmeleri'nin InnerPadding parametresi kadranlar için yeniden adlandırıldı. (I66165)

  • Kaydırma çubuğu artık durum bilgisiz. Kullanıcıların, diğer kontrollerde olduğu gibi durumu kendi başlarına geçirmeleri ve güncellemeleri gerekir. (Ia00aa)

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

  • Doldurulmuş Metin Alanı için 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'ye defaultFontFamily oluşturucu parametresi ekler. Böylece, aile grubu olmayan sağlanan TextStyles için kullanılacak varsayılan yazı tipi ailesini belirleyebilirsiniz. (I89d07)

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

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

  • çocuklar (Ia6d19)

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

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

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

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

  • Onay Kutusu, Anahtar ve Geçiş Yapılabilir bölümlerine enabled parametresi ekle (I41c16)

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

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

  • Düğme, FloatingActionButton ve Clickable artık ayrı bir enabled parametresine sahiptir. 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ılan Resim-oluşturulabilirliği arasındaki farkı daha iyi ayırt etmek için Resim, ImageAsset olarak yeniden adlandırıldı. _Body:Geleneksel Android uygulaması geliştirmeyi yazma çerçevesi (Id5bbd) ile birleştirmek için yararlı bir ImageAsset örneği oluşturmak üzere android.graphics.Bitmap, Bitmap.asImageAsset() üzerinde uzantı yöntemi oluşturuldu.

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

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

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

  • Simge, Simge Düğmesi ve SimgeToggleButton eklenerek AppBarIcon kaldırıldı. AppBarIcon'ın mevcut kullanımlarını doğrudan iconButton ile değiştirebilirsiniz. Artık bu kullanımlar doğru dokunma hedefine sahip olacaktır. Kullanım bilgileri için örneklere bakın ve doğrudan bu bileşenlerle kullanabileceğiniz, sağlanan Malzeme Simgeleri için 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ı artık bir konum özelliğine sahip değil. LayoutModifiers, rotasyon veya ölçeklendirme düşünüldüğünde konum özelliği anlamlı değildir. Bunun yerine, geliştiriciler bir Layout Kodlayıcıdan diğerine geçişi hesaplamak için parentKoordinatörleri ve altToLocal() işlevini kullanmalıdır.

    LayoutKoordinatları, boyut özelliği için PxSize yerine IntPxSize değerini kullanır. Düzenler, düzenler için tam sayı piksel boyutları kullandığından tüm düzen boyutları, kayan nokta değerleri yerine tamsayılar kullanmalıdır. (I9367b)

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

  • İskele malzemesi bileşeni eklendi. İskele uygulamaları (I7731b)

  • Kenarlık Değiştirici'nin (Id335a) yerine DrawBorder değiştirildi

Hata Düzeltmeleri

  • FocusModifier kullanımdan kaldırılmıştır. Bunun yerine Modifier.focus, Modifier.focusRequester, Modifier.focusObserver’a sahiptir. FocusState ve FocusDetailsState kullanımdan kaldırıldı. Bunun yerine FocusState2 (I46919, b/160822875, b/160922136) kullanıma sunuldu.
  • VerticalScroller ve HoriziontalScroller desteği sonlandı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.verticalScroll ve Modifier.LandscapeScroll'i kullanın. Benzer şekilde, ScrollerPosition desteği sonlandırıldı ve ardından ScrollState (I400ce, b/157225838, b/149460415, b/154105299) kullanıma sunuldu
  • Modifier.draggable ve Modifier.scrollable API'leri yeniden düzenlendi. DragDirection (Yön) kaldırıldı. Kaydırılabilir özellik için gereken durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
  • runOnIdleCompose, runOnIdle (I83607) olarak yeniden adlandırıldı
  • Tek değerli anlamsal özellikler artık bir çağrı stili kullanıyor. Örneğin, 'semantik { gizlendi = doğru }' artık şu şekilde yazılır: 'semantik { gizli() }'. (Ic1afd, b/145951226, b/145955412)
  • Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. Tüm findXYZ API'lerinin adı onNodeXYZ olarak değiştirildi. Tüm doXYZ API'lerinin adı performansXYZ olarak değiştirildi. (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'ı Shader olarak yeniden adlandırdı. Sarmalanmış Shader satır içi sınıfı, API yüzeyine değerli bir şey eklememiştir ve bir satır içi sınıftır. Bu nedenle 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ü'yü artık kaydırılabilir. (Ide699)
  • Layout() işlevinin ölçüm bloğundan düzen yönü parametresi kaldırıldı. Bununla birlikte, düzen yönü ölçüm kapsamı nesnesi (Ic7d9d) aracılığıyla geri çağırma içinde kullanılabilir.
  • Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'lerde AnimationBuilder yerine AnimationSpec nesnesini kullanın -Tween, ilkbahar gibi AnimationSpecs oluşturmak için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, doğrudan oluşturucu parametrelerini alırlar. -Oluşturuculara güvenmek yerine AnimationSpec değişkenlerinin açılmasıyla ilgili kullanımı genel olarak daha kolay hale getirin -KeyFrames ve Tween için süreyi ve gecikmeyi, Int olarak değiştirin. Bu, gereksiz tür yayınları ve yöntem aşırı yüklemesini ortadan kaldırır (uzun ve Int'i desteklemek için). (Ica0b4)
  • enabled yanlış değerine ayarlandığında anahtar artık devre dışı durumda görünür (If4624, b/155941869, b/159331694)
  • Modifier.tag, Modifier.testTag ile karıştırılma ihtimalini ortadan kaldırmak için Modifier.layoutId olarak yeniden adlandırıldı. (I995f0)
  • Placeable#get(alignmentLine) öğesinden döndürülen hizalama satırı Int konumları artık null değil. Sorgulanan hizalama çizgisi eksikse Hizalama Satırı.Belirtilmemiş değeri döndürülür. (I896c5, b/158134875)
  • Yarıçap sınıfı, satır içi sınıf olacak şekilde yeniden düzenlendi. Tamamlayıcı oluşturma yöntemlerinin yerine, varsayılan parametreye sahip işlev oluşturucunun y ekseni boyunca yarıçapının, zorunlu x ekseni yarıçap parametresinin yarıçapıyla eşleşmesini sağlayacak şekilde kaldırıldı.

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

  • Konumlandırma bilgilerini temsil etmek üzere kullanılan 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 noktalı olarak temsil edilen x ve y ofsetlerini temsil etmek için 2 kayan değer değerini paketlemek için uzun bir değerden yararlanmak ü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ü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. Px sınıfı tamamen silindi (I3ff33)

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

  • Piksel parametreleri için yalnızca Dp ve temel türlere güvenmek amacıyla yapılan kapsamlı yeniden düzenleme çalışması kapsamında, çeşitli beste sınıflarında Px sınıfı 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 beste sınıflarında Px sınıfı kullanımı değiştirildi

  • Piksel parametreleri (I97a5a) 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 beste sınıflarında Px sınıfı kullanımı değiştirildi

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

  • MutuallyPrivateSetItem desteği sonlandırıldı. Bunun yerine Modifier.selectable öğesini kullanın. (I02b47, b/157642842)

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

  • TextField'in imlecinde yanıp sönen bir animasyon var (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ı kullanımı değiştirildi

  • VerticalScroller artık Sütun özelliğini kutudan çıkarır. HorizontalScroller artık Row özelliğini kullanıma sunuyor. (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ı 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: Outline Shape yeniden şekillendi

  • Canvas'ı CanvasScope'u kullanıma sunacak şekilde gösteren üst düzey oluşturma API'leri güncellendi. Bu sayede, tüketicilerin kendi Paint nesnelerini tutma gerekliliği ortadan kalkar. Hâlâ bir Canvas'a erişmesi gereken tüketiciler, çizim komutu vermek için temel Tuval'e geri çağırma sağlayandrawCanvas uzantı yöntemini kullanabilir. (I80afd)

  • HizalamaLineoffset composable desteği sonlandırıldı. Bunun yerine lütfen göreliPaddingFrom() değiştiricisini kullanın. CenteralignmentLine composable kaldırıldı. (I60107)

  • WithConstraints sondaki lambda API'si değiştirildi. Artık iki parametre yerine, kısıtlamalar ve layoutDirection'a ek olarak Dp'de minwidth, maxwidth, minHeight ve maxHeight özelliklerini sağlayan bir alıcı kapsamına sahiptir (I91b9a, b/149979702)

  • Yalnızca gelen ilgili 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 çizim API'si yüzeyini ortaya çıkarmak için bir Canvas nesnesini sarmalayan CanvasScope API oluşturuldu. Dönüşümler kendi alıcı kapsamları içinde yer alır ve boyutlandırma bilgileri de ilgili alt sınır sınırlarına dahil edilir. Tüketicinin, çizim işlemlerini yapılandırmak için kendi Paint durum nesnesini tutması gerekmez.

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

  • TextField'e imleç rengi özelleştirmesi ekleyin (I6e33f)

  • TextField ile kullanılan TextFieldValue, şu şekilde kullanıldığında artık etkinlik oluşturma işlemlerinden sonra 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 dahili ölçüm işlevleri, artık dolaylı olarak yayılmış düzen yönüyle dahili sorgu 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() eklenmiştir. DrawtierModifier'daki yükseltme özelliği, shadowElevation olarak yeniden adlandırıldı ve çizim sırasını artık kontrol etmemektedir. DrawShadow'un parametre sırası değiştirilmiştir: Yükseklik artık ilk sırada ve şekil, Dikdörtgen Şekil varsayılanı olan ikinci sıradadır. (I20150, b/152417501)

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

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

  • Sırasıyla Satır'a ve Sütuna dikeyGravity ve YatayGravity parametreleri eklendi. (I7dc5a)

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

  • ImageAsset'teki piksel bilgilerinin sorgulanmasını desteklemek için PixelMap API'si oluşturuldu. (I69ad6)

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

  • ui-text-compose modülü, ui-text olarak yeniden adlandırıldı. Kullanıcı arayüzü, artık CoreText ve CoreTextField composable öğelerini (Ib7d47) içeriyor

  • kullanıcı arayüzü modülü, ui-text-core (I57dec) olarak yeniden adlandırılmıştır

  • ui-framework/CoreText, CoreTextField composable öğeleri UI-text-compose altına taşındı. Projenize ui-text-compose eklemek isteyebilirsiniz. (I32042)

  • DrawModifier API'yi iyileştirin:

    • schema() 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 yöntemi,drawContent() yöntemine (Ibaced, b/152919067) sahiptir
  • runOnIdleCompose ve runOnUiThread artık ComposeTestRule'daki yöntemler yerine genel işlevlerdir. (Icbe8f)

  • [Mutable]Eyalet mülk yetki verilmiş 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 eklemesi gerekir. (I5312c)

  • Düzen Koordinatları için locationInParent ve boundsInParent eklendi. (Icacdd, b/152735784)

  • ColoredRect kullanımdan kaldırıldı. Bunun yerine Box(Modifier.PreferredSize(width, height).drawArka Plan(color)) yöntemini kullanın. (I499fa, b/152753731)

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

  • Düzen değiştiricileri tanımlamaya yönelik yeni bir API olan LayoutModifier2 eklendi; 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 kullanımdan kaldı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ımaları için etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmanız gerekir. (I51368, b/150953183)

  • Desteği sonlandırılan Center komposable. Bu değer, LayoutSize.Fill + LayoutLayout.Center değiştiricisi veya uygun değiştiricilerin uygulandığı Box ya da Stack oluşturma öğelerinden 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 bileşimin sonucu, DrawModifier yerine bir VectorPainter nesnesi olur. Önceki DrawVector kompozisyonları kullanımdan kaldırıldı ve VectorPainter oldu.

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

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

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

  • DrawVector, normal bir composable işlevden, vektörü arka plan olarak bir düzene çizecek bir DeğiştiricidrawVector() döndürmesine dönüştürüldü. (I7b8e0)

  • Opaklık kompozisyon işlevi, çizimOpaklık değiştiricisiyle değiştirildi. (I5fb62)

  • Kompozit işlev Clip işlevini,drawClip() değiştiriciyle değiştirin. DrawClipToBounds, yalnızca katman sınırlarına göre dikdörtgen şeklinde kırpma yapmanız gerektiğinde kullanılacak kullanışlı bir değiştiricidir. (If28eb)

  • DrawShadow composable işlevi,drawShadow() değiştiriciyle değiştirildi. Gölgeler artık Katman Değiştirici'nin bir parçası olarak çiziliyor. (I0317a)

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

  • androidx.compose.ViewComposer kaldırıldı. androidx.ui.node.UiComposer androidx.compose.Emittable kaldırıldı. componentNode ile yedekliydi. 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 üzerinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto'ya taşındı BileşenNode#emitInsertAt, BileşenNode#insertAt olarak yeniden adlandırıldı BileşenNode#emitRemoveAt, BileşenNode#removeAt NoefNodemove#emitMode (BileşenNoef#emitMode), Bileşen

  • Ekrana belirli bir ImageAsset çizmeye ek olarak boyutlandırma/düzeni işlemek için oluşturulan Resim oluşturuldu. Bu beste, doğal boyutuna uygun olarak herhangi bir Painter örneğini çizmeyi ve belirli bir sabit veya minimum boyutu (Ibcc8f) desteklemeyi de destekler.

  • Kullanımdan kaldırılan Sarmalama kompozit özelliği. LayoutLayout değiştiricisi veya Stack composable (Ib237f) aracıyla değiştirilebilir.

  • WithConstraints, LayoutDirection parametresini (I6d6f7) aldı

  • Düzen yönünün üst düzen düğümünden alt öğelere yayılması sağlandı. 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 DrawDraw değiştiricisini kullanın. (I7ceb2)

  • LayoutPadding değiştiricisinde sağdan sola yönü destekleme (I9e8da)

  • Sadece görünür öğeleri oluşturan ve yerleştiren 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ı sayılabilir. (Ib351b)

  • ComposeFlags.COMPOSER_PARAM işareti, true olarak güncellendi. Bu durum, oluşturma eklentisinin kod oluşturma stratejisini değiştirecek. 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 aktarılır. Bu, önemli bir ikili program değişikliğidir. Ancak tüm onaylı oluşturma kullanımlarında kaynak düzeyindeki uyumluluğun korunması gerekir. (I7971c)

  • Tuval bileşeni eklendi. Bu kompozisyon küçük bir boyut kaplar (kullanıcı tarafından sağlanır) ve CanvasScope (I0d622) aracını kullanarak çizim yapmanıza olanak tanır.

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

  • Sağlanan Düzen Koordinatları değiştirildi, böylece Düzen Koordinatları Harita yerine Küme haline getirildi ve Düzen Koordinatları , değer almak için get() operatörü uyguladı. Bu, değiştiricilerin her bir değiştirici için yeni bir koleksiyon oluşturmadan kümedeki bir veya daha fazla değeri değiştirmelerini kolaylaştırır. (I0245a)

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

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