Compose Material

Kullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io adresinde açıklanan bileşenleri sağlamak üzere tasarlanmış, Compose'un daha üst düzey giriş noktasıdır.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta sürümü Alfa Sürümü
7 Ekim 2026 1.12.1 - 1.13.0-beta01 -

Yapı

Compose, androidx içindeki 7 Maven grup kimliğinin birleşimidir. Her grup, işlevlerin hedeflenen bir alt kümesini içerir ve her birinin kendi sürüm notları vardır.

Bu tabloda gruplar açıklanmakta ve her bir sürüm notu grubuna bağlantı verilmektedir.

GrupAçıklama
compose.animationKullanıcı deneyimini zenginleştirmek için Jetpack Compose uygulamalarında animasyonlar oluşturun.
compose.compiler@Composable işlevlerini dönüştürün ve 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çıklanan bileşenleri sağlamak üzere tasarlanmış, Compose'un daha üst düzey giriş noktasıdır.
compose.material3Materyal Tasarım'ın bir sonraki evrimi olan Materyal Tasarım 3 bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Material 3, güncellenmiş temalar ve bileşenlerin yanı sıra dinamik renk gibi Material You kişiselleştirme özelliklerini içerir. Ayrıca yeni Android 12 görsel stili ve sistem kullanıcı arayüzü ile uyumlu olacak şekilde tasarlanmıştır.
compose.runtimeCompose'un programlama modeli ve durum yönetiminin temel yapı taşları ve Compose Derleyici Eklentisi'nin hedefleyeceği temel çalışma zamanı.
compose.uiDüzen, çizim ve giriş dahil olmak üzere cihazla etkileşim kurmak için gereken Compose kullanıcı arayüzünün temel bileşenleri.

Bağımlılıkları bildirme

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

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

Groovy

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

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Lütfen yeni bir tane oluşturmadan önce 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 Issue Tracker belgelerine bakın.

Sürüm 1.13

Sürüm 1.13.0-beta01

7 Ekim 2026

androidx.compose.material:material-*:1.13.0-beta01 yayınlandı. 1.13.0-beta01 sürümü bu commit'leri içerir.

API değişiklikleri

  • Kitaplıklar artık Kotlin 2.2'yi hedefliyor ve kotlinc 2.2 gerektiriyor (I82396, b/498369605)

Sürüm 1.13.0-alpha03

9 Eylül 2026

androidx.compose.material:material-*:1.13.0-alpha03 yayınlandı. 1.13.0-alpha03 sürümü bu commit'leri içerir.

API değişiklikleri

  • value, onValueChange parametrelerini kabul eden Material 2 metin alanı aşırı yüklemelerinin desteği sonlandırıldı. Lütfen durumunu yükseltmek için TextFieldState kullanan aşırı yüklemeye geçin. (I6b841, b/556234973)

Hata düzeltmeleri

  • compileSdk için Compose kitaplıkları 37.1 sürümüne güncellendi. Bu işlem, Compose kullanan tüm uygulamalar ve kitaplıklar için compileSdk öğesinin geçişli olarak güncellenmesini gerektirir. (I05b0f)
  • SecureTextField ve OutlinedSecureTextField bileşenleri (kullanımdan kaldırılan BasicSecureTextField aşırı yüklemeleriyle birlikte), varsayılan karartma modu olarak TextObfuscationMode.RevealLastTyped yerine TextObfuscationMode.System'ü kullanacak şekilde güncellendi. (I76c7e)

Sürüm 1.13.0-alpha02

26 Ağustos 2026

androidx.compose.material:material-*:1.13.0-alpha02 yayınlandı. 1.13.0-alpha02 sürümü bu commit'leri içerir.

Sürüm 1.13.0-alpha01

12 Ağustos 2026

androidx.compose.material:material-*:1.13.0-alpha01 yayınlandı. 1.13.0-alpha01 sürümü bu commit'leri içerir.

API değişiklikleri

  • androidx.benchmark artık 24 minSdk sahibi. (Ic2a85)

Hata düzeltmeleri

  • Dinamik alıcılar kullanılarak material üst düzey değer sınıfı özelliklerinin dosya düzeyinde optimize edilmiş şekilde başlatılması. (Iae591)
  • Dinamik alıcıları kullanarak material değer sınıflarının (FabPosition ve Strings) optimize edilmiş yardımcı nesne başlatması. (I0c7c0)
  • compileSdk 37 için şartı kaldırın (If78b4)

Sürüm 1.12

Sürüm 1.12.1

9 Eylül 2026

androidx.compose.material:material-*:1.12.1 yayınlandı. 1.12.1 sürümü bu commit'leri içerir.

Sürüm 1.12.0

12 Ağustos 2026

androidx.compose.material:material-*:1.12.0 yayınlandı. 1.12.0 sürümü bu commit'leri içerir.

1.11.0 sürümünden beri yapılan önemli değişiklikler:

Sürüm 1.12.0-rc01

29 Temmuz 2026

androidx.compose.material:material-*:1.12.0-rc01 yayınlandı. 1.12.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.12.0-beta02

1 Temmuz 2026

androidx.compose.material:material-*:1.12.0-beta02 yayınlandı. 1.12.0-beta02 sürümü bu commit'leri içerir.

Sürüm 1.12.0-beta01

17 Haziran 2026

androidx.compose.material:material-*:1.12.0-beta01 yayınlandı. 1.12.0-beta01 sürümü bu commit'leri içerir.

Sürüm 1.12.0-alpha03

19 Mayıs 2026

androidx.compose.material:material-*:1.12.0-alpha03 yayınlandı. 1.12.0-alpha03 sürümü bu commit'leri içerir.

Sürüm 1.12.0-alpha02

6 Mayıs 2026

androidx.compose.material:material-*:1.12.0-alpha02 yayınlandı. 1.12.0-alpha02 sürümü bu commit'leri içerir.

Sürüm 1.12.0-alpha01

22 Nisan 2026

androidx.compose.material:material-*:1.12.0-alpha01 yayınlandı. 1.12.0-alpha01 sürümü bu commit'leri içerir.

API değişiklikleri

  • VelocityTracker, Android Framework tarafından sağlanan uygulamayı kullanacak şekilde değiştirildi (AndroidComposeUiFlags.isFrameworkVelocityTrackerEnabled ile yapılandırılabilir). (Ibc7e2, b/359962905)

Hata düzeltmeleri

  • Compose compileSdk, API 37'ye güncellendi. Bu nedenle, Compose kullanılırken minimum AGP sürümü 9.2.0 olmalıdır. (Id45cd, b/413674743)

Sürüm 1.11

Sürüm 1.11.4

1 Temmuz 2026

androidx.compose.material:material-*:1.11.4 yayınlandı. 1.11.4 sürümü bu commit'leri içerir.

Sürüm 1.11.3

17 Haziran 2026

androidx.compose.material:material-*:1.11.3 yayınlandı. 1.11.3 sürümü bu commit'leri içerir.

Sürüm 1.11.2

19 Mayıs 2026

androidx.compose.material:material-*:1.11.2 yayınlandı. 1.11.2 sürümü bu commit'leri içerir.

Sürüm 1.11.1

6 Mayıs 2026

androidx.compose.material:material-*:1.11.1 yayınlandı. 1.11.1 sürümü bu commit'leri içerir.

Sürüm 1.11.0

22 Nisan 2026

androidx.compose.material:material-*:1.11.0 yayınlandı. 1.11.0 sürümü bu commit'leri içerir.

Sürüm 1.11.0-rc01

8 Nisan 2026

androidx.compose.material:material-*:1.11.0-rc01 yayınlandı. 1.11.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.11.0-beta02

25 Mart 2026

androidx.compose.material:material-*:1.11.0-beta02 yayınlandı. 1.11.0-beta02 sürümü bu commit'leri içerir.

Sürüm 1.11.0-beta01

11 Mart 2026

androidx.compose.material:material-*:1.11.0-beta01 yayınlandı. 1.11.0-beta01 sürümü bu commit'leri içerir.

Sürüm 1.11.0-alpha06

25 Şubat 2026

androidx.compose.material:material-*:1.11.0-alpha06 yayınlandı. 1.11.0-alpha06 sürümü bu commit'leri içerir.

Sürüm 1.11.0-alpha05

11 Şubat 2026

androidx.compose.material:material-*:1.11.0-alpha05 yayınlandı. 1.11.0-alpha05 sürümü bu commit'leri içerir.

Sürüm 1.11.0-alpha04

28 Ocak 2026

androidx.compose.material:material-*:1.11.0-alpha04 yayınlandı. 1.11.0-alpha04 sürümü bu commit'leri içerir.

Sürüm 1.11.0-alpha03

14 Ocak 2026

androidx.compose.material:material-*:1.11.0-alpha03 yayınlandı. 1.11.0-alpha03 sürümü bu commit'leri içerir.

Sürüm 1.11.0-alpha02

17 Aralık 2025

androidx.compose.material:material-*:1.11.0-alpha02 yayınlandı. 1.11.0-alpha02 sürümü bu commit'leri içerir.

Sürüm 1.11.0-alpha01

3 Aralık 2025

androidx.compose.material:material-*:1.11.0-alpha01 yayınlandı. 1.11.0-alpha01 sürümü bu commit'leri içerir.

Sürüm 1.10

Sürüm 1.10.6

25 Mart 2026

androidx.compose.material:material-*:1.10.6 yayınlandı. 1.10.6 sürümü bu commit'leri içerir.

Sürüm 1.10.5

11 Mart 2026

androidx.compose.material:material-*:1.10.5 yayınlandı. 1.10.5 sürümü bu commit'leri içerir.

Sürüm 1.10.4

25 Şubat 2026

androidx.compose.material:material-*:1.10.4 yayınlandı. 1.10.4 sürümü bu commit'leri içerir.

Sürüm 1.10.3

11 Şubat 2026

androidx.compose.material:material-*:1.10.3 yayınlandı. 1.10.3 sürümü bu commit'leri içerir.

Sürüm 1.10.2

28 Ocak 2026

androidx.compose.material:material-*:1.10.2 yayınlandı. 1.10.2 sürümü bu commit'leri içerir.

Sürüm 1.10.1

14 Ocak 2026

androidx.compose.material:material-*:1.10.1 yayınlandı. 1.10.1 sürümü bu commit'leri içerir.

Sürüm 1.10.0

3 Aralık 2025

androidx.compose.material:material-*:1.10.0 yayınlandı. 1.10.0 sürümü bu commit'leri içerir.

Sürüm 1.10.0-rc01

19 Kasım 2025

androidx.compose.material:material-*:1.10.0-rc01 yayınlandı. 1.10.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.10.0-beta02

5 Kasım 2025

androidx.compose.material:material-*:1.10.0-beta02 yayınlandı. 1.10.0-beta02 sürümü bu commit'leri içerir.

Sürüm 1.10.0-beta01

22 Ekim 2025

androidx.compose.material:material-*:1.10.0-beta01 yayınlandı. 1.10.0-beta01 sürümü bu commit'leri içerir.

Sürüm 1.10.0-alpha05

8 Ekim 2025

androidx.compose.material:material-*:1.10.0-alpha05 yayınlandı. 1.10.0-alpha05 sürümü bu commit'leri içerir.

Sürüm 1.10.0-alpha04

24 Eylül 2025

androidx.compose.material:material-*:1.10.0-alpha04 yayınlandı. 1.10.0-alpha04 sürümü bu commit'leri içerir.

Sürüm 1.10.0-alpha03

10 Eylül 2025

androidx.compose.material:material-*:1.10.0-alpha03 yayınlandı. 1.10.0-alpha03 sürümü bu commit'leri içerir.

Sürüm 1.10.0-alpha02

27 Ağustos 2025

androidx.compose.material:material-*:1.10.0-alpha02 yayınlandı. 1.10.0-alpha02 sürümü bu commit'leri içerir.

Sürüm 1.10.0-alpha01

13 Ağustos 2025

androidx.compose.material:material-*:1.10.0-alpha01 yayınlandı. 1.10.0-alpha01 sürümü bu commit'leri içerir.

Hata düzeltmeleri

Sürüm 1.9

Sürüm 1.9.5

19 Kasım 2025

androidx.compose.material:material-*:1.9.5 yayınlandı. 1.9.5 sürümü bu commit'leri içerir.

Sürüm 1.9.4

22 Ekim 2025

androidx.compose.material:material-*:1.9.4 yayınlandı. 1.9.4 sürümü bu commit'leri içerir.

Sürüm 1.9.3

8 Ekim 2025

androidx.compose.material:material-*:1.9.3 yayınlandı. 1.9.3 sürümü bu commit'leri içerir.

Sürüm 1.9.2

24 Eylül 2025

androidx.compose.material:material-*:1.9.2 yayınlandı. 1.9.2 sürümü bu commit'leri içerir.

Sürüm 1.9.1

10 Eylül 2025

androidx.compose.material:material-*:1.9.1 yayınlandı. 1.9.1 sürümü bu commit'leri içerir.

Sürüm 1.9.0

13 Ağustos 2025

androidx.compose.material:material-*:1.9.0 yayınlandı. 1.9.0 sürümü bu commit'leri içerir.

1.8.0 sürümünden beri yapılan önemli değişiklikler

Davranış Değişiklikleri

  • Compose ile birlikte gelen hata analizi kontrolleri artık minimum 8.8.2 AGP sürümü gerektiriyor. AGP'yi yükseltemiyorsanız gradle.properties dosyanızda android.experimental.lint.version=8.8.2 (veya daha yeni bir sürüm) kullanarak Lint'i tek başına yükseltebilirsiniz. IDE'de Compose lint kontrollerini çalıştırmak için Android Studio Ladybug veya daha yeni bir sürüm gerekir.

API değişiklikleri

  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
  • Metin alanı süsleme kutusu API'leri artık deneysel değildir. (I7480f)

Hata düzeltmeleri

  • ExposedDropdownMenu, eski sürümlerle ikili uyumludur. (I133f7)

Sürüm 1.9.0-rc01

30 Temmuz 2025

androidx.compose.material:material-*:1.9.0-rc01 yayınlandı. 1.9.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.9.0-beta03

16 Temmuz 2025

androidx.compose.material:material-*:1.9.0-beta03 yayınlandı. 1.9.0-beta03 sürümü bu commit'leri içerir.

Sürüm 1.9.0-beta02

2 Temmuz 2025

androidx.compose.material:material-*:1.9.0-beta02 yayınlandı. 1.9.0-beta02 sürümü bu commit'leri içerir.

Sürüm 1.9.0-beta01

18 Haziran 2025

androidx.compose.material:material-*:1.9.0-beta01 yayınlandı. 1.9.0-beta01 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • Text(AnnotatedString) içindeki köprüler artık varsayılan olarak Material stiline sahiptir. (I0e8ed, b/339843816)

Sürüm 1.9.0-alpha04

4 Haziran 2025

androidx.compose.material:material-*:1.9.0-alpha04 yayınlandı. 1.9.0-alpha04 sürümü bu commit'leri içerir.

Sürüm 1.9.0-alpha03

20 Mayıs 2025

androidx.compose.material:material-*:1.9.0-alpha03 yayınlandı. 1.9.0-alpha03 sürümü bu commit'leri içerir.

Sürüm 1.9.0-alpha02

7 Mayıs 2025

androidx.compose.material:material-*:1.9.0-alpha02 yayınlandı. 1.9.0-alpha02 sürümü bu commit'leri içerir.

Sürüm 1.9.0-alpha01

23 Nisan 2025

androidx.compose.material:material-*:1.9.0-alpha01 yayınlandı. 1.9.0-alpha01 sürümü bu commit'leri içerir.

Davranış Değişiklikleri

  • Compose ile birlikte gelen hata analizi kontrolleri artık minimum 8.8.2 AGP sürümü gerektiriyor. AGP'yi yükseltemiyorsanız bunun yerine gradle.properties dosyanızda android.experimental.lint.version=8.8.2 (veya daha yeni bir sürüm) kullanarak Lint'i tek başına yükseltebilirsiniz. IDE'de Compose lint kontrollerini çalıştırmak için Android Studio Ladybug veya daha yeni bir sürüm gerekir.

API değişiklikleri

  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
  • Metin alanı süsleme kutusu API'leri artık deneysel değildir (I7480f, b/269651160)
  • Davranışı daha net bir şekilde açıklayan runWithMeasurementDisabled lehine runWithTimingDisabled desteği sonlandırıldı. Tüm metrikler duraklatılır. Ayrıca, runWithMeasurementDisabled işlevi satır içi olduğundan erişimi açmak için yeniden tanımlamak mümkün olmadığından MicrobenchmarkScope üst sınıfını kullanıma sunun. (I9e23b, b/389149423, b/149979716)

Hata düzeltmeleri

  • ExposedDropdownMenu, eski sürümlerle ikili uyumludur. (I133f7)
  • İlerleme durumu olarak Float.NaN iletildiğinde ilerleme ve yükleme göstergelerinde yaşanan kilitlenme sorunu düzeltildi. (I4fa96, b/352364576)

Sürüm 1.8

Sürüm 1.8.3

18 Haziran 2025

androidx.compose.material:material-*:1.8.3 yayınlandı. 1.8.3 sürümü bu commit'leri içerir.

Sürüm 1.8.2

20 Mayıs 2025

androidx.compose.material:material-*:1.8.2 yayınlandı. 1.8.2 sürümü bu commit'leri içerir.

Sürüm 1.8.1

7 Mayıs 2025

androidx.compose.material:material-*:1.8.1 yayınlandı. 1.8.1 sürümü bu commit'leri içerir.

Sürüm 1.8.0

23 Nisan 2025

androidx.compose.material:material-*:1.8.0 yayınlandı. 1.8.0 sürümü bu commit'leri içerir.

Sürüm 1.8.0-rc03

9 Nisan 2025

androidx.compose.material:material-*:1.8.0-rc03 yayınlandı. 1.8.0-rc03 sürümü bu commit'leri içerir.

Sürüm 1.8.0-rc02

26 Mart 2025

androidx.compose.material:material-*:1.8.0-rc02 yayınlandı. 1.8.0-rc02 sürümü bu commit'leri içerir.

Sürüm 1.8.0-rc01

12 Mart 2025

androidx.compose.material:material-*:1.8.0-rc01 yayınlandı. 1.8.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.8.0-beta03

26 Şubat 2025

androidx.compose.material:material-*:1.8.0-beta03 yayınlandı. 1.8.0-beta03 sürümü bu commit'leri içerir.

Sürüm 1.8.0-beta02

12 Şubat 2025

androidx.compose.material:material-*:1.8.0-beta02 yayınlandı. 1.8.0-beta02 sürümü bu commit'leri içerir.

Sürüm 1.8.0-beta01

29 Ocak 2025

androidx.compose.material:material-*:1.8.0-beta01 yayınlandı. 1.8.0-beta01 sürümü bu commit'leri içerir.

Sürüm 1.8.0-alpha08

15 Ocak 2025

androidx.compose.material:material-*:1.8.0-alpha08 yayınlandı. 1.8.0-alpha08 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • İçeriğin ekran kesimiyle çakışmasını önlemek için Material bileşenlerinin varsayılan olarak dikkate aldığı iç kısımlar grubuna displayCutout ekler.
    • Bu davranış değişikliği, yerleştirme alanına duyarlı bileşenlerin ekran kesimi etrafındaki davranışını etkileyecektir. Buna, yerleştirme bilgisi içeren Material 3 bileşenleri için WindowInsets parametresinin varsayılan değeri ve bileşende sağlanan WindowInsets değerleri dahildir.
    • Hem Material 2 hem de Material 3 için varsayılan nesneler. Bu değişiklik istenmeyen davranışlara neden olursa WindowInsets parametresini bileşen bazında manuel olarak belirtin. (I43ee9, b/362508045)
  • ComposeContentTestRule.setContent kullanılırken test edilen composable için ana makine olarak kullanılan etkinlik, artık SDK 35'i hedeflerken ActionBar öğesinin test içeriğiyle çakışmasını önlemek için Theme.Material.Light.NoActionBar temasını kullanıyor. Bu davranışı devre dışı bırakmak için ui-test-manifest bağımlılığını kaldırabilir ve test uygulamanızın AndroidManifest.xml bölümüne, istediğiniz temayla birlikte ComponentActivity için bir etkinlik girişi ekleyebilirsiniz. (I7ae1b, b/383368165)

Harici Katkı

  • ModalBottomSheetLayout içinde sheetGesturesEnabled özelliğini kullanma (I3f032, b/329543529)

Sürüm 1.8.0-alpha07

11 Aralık 2024

androidx.compose.material:material-*:1.8.0-alpha07 yayınlandı. 1.8.0-alpha07 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • Metin alanı boyutu değiştiricilerinin bazen uygulanmaması sorunu düzeltildi. (I90d4c, b/356905963)

Sürüm 1.8.0-alpha06

13 Kasım 2024

androidx.compose.material:material-*:1.8.0-alpha06 yayınlandı. 1.8.0-alpha06 sürümü bu commit'leri içerir.

Sürüm 1.8.0-alpha05

30 Ekim 2024

androidx.compose.material:material-*:1.8.0-alpha05 yayınlandı. 1.8.0-alpha05 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • contentPadding değiştiğinde gövde içeriğinin her zaman yeniden oluşturulmasını önlemek için Scaffold contentPadding davranışını optimize edin. (I8c8e2, b/373904168)
  • Kontrol tuşlarına basıldığında malzeme kaydırıcının değerini değiştirmesini sağlayın. (I1c442)

Sürüm 1.8.0-alpha04

16 Ekim 2024

androidx.compose.material:material-*:1.8.0-alpha04 yayınlandı. 1.8.0-alpha04 sürümü bu commit'leri içerir.

API değişiklikleri

  • Kararlı temel sürümüne sabitlemek için readOnly'yı TextFields'den kaldırın. (I3aaba)

Hata düzeltmeleri

  • Android S+ sürümlerinde, tıklama üzerine genişleyen kart gibi genişleyen bileşenlerde dalgalanma desteği eklendi. Daha önce dalgalanma yeni boyutu doldurmuyordu ancak artık yeni sınırlara kadar genişleyecek. (If509a, b/183019123)

Sürüm 1.8.0-alpha02

18 Eylül 2024

androidx.compose.material:material-*:1.8.0-alpha02 yayınlandı. 1.8.0-alpha02 sürümü bu commit'leri içerir.

Sürüm 1.8.0-alpha01

4 Eylül 2024

androidx.compose.material:material-*:1.8.0-alpha01 yayınlandı. 1.8.0-alpha01 sürümü bu commit'leri içerir.

API değişiklikleri

  • Safe args ile bottomSheet oluşturmak için yeni NavGraphBuilder.bottomSheet oluşturucu eklendi ((I28589, I777db, b/351858980))
  • TextFieldState (I3b74c) alan yeni TextField ve OutlinedTextField aşırı yüklemeleri eklendi

Sürüm 1.7

Sürüm 1.7.8

12 Şubat 2025

androidx.compose.material:material-*:1.7.8 yayınlandı. 1.7.8 sürümü bu commit'leri içerir.

Sürüm 1.7.7

29 Ocak 2025

androidx.compose.material:material-*:1.7.7 yayınlandı. 1.7.6 sürümünde değişiklik yapılmadı.

Sürüm 1.7.6

11 Aralık 2024

androidx.compose.material:material-*:1.7.6 yayınlandı. 1.7.6 sürümü bu commit'leri içerir.

Sürüm 1.7.5

30 Ekim 2024

androidx.compose.material:material-*:1.7.5 yayınlandı. 1.7.5 sürümü bu commit'leri içerir.

Sürüm 1.7.4

16 Ekim 2024

androidx.compose.material:material-*:1.7.4 yayınlandı. 1.7.4 sürümü bu commit'leri içerir.

Sürüm 1.7.2

18 Eylül 2024

androidx.compose.material:material-*:1.7.2 yayınlandı. 1.7.2 sürümü bu commit'leri içerir.

Sürüm 1.7.1

10 Eylül 2024

  • Android yapıları değiştirilmez. -desktop eser kaldırıldı, -jvmStubs ve -linuxx64Stubs eserleri eklendi. Bu hedeflerden hiçbiri kullanılmak üzere tasarlanmamıştır. Jetbrains Compose çalışmalarına yardımcı olmak için yer tutucu olarak kullanılırlar.

Sürüm 1.7.0

4 Eylül 2024

androidx.compose.material:material-*:1.7.0 yayınlandı. 1.7.0 sürümü bu commit'leri içerir.

1.6.0 sürümünden beri yapılan önemli değişiklikler

  • Material bileşenleri, yeni dalgalanma API'lerini kullanacak şekilde taşındı ve artık RippleTheme sorgulamıyor.
  • Daha önce MutableInteractionSource kabul eden ve varsayılan olarak remember { MutableInteractionSource() } değerini kullanan Material bileşenleri artık null değer atanabilir MutableInteractionSource değerini kabul ediyor ve varsayılan olarak null değerini kullanıyor. MutableInteractionSource öğesini barındırmıyor ve kullanmıyorsanız null değerini iletmeniz gerekir. Bu sayede bazı bileşenler yalnızca gerektiğinde örnek oluşturarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.
  • BottomDrawer, ModalBottomSheet, BackdropScaffold ve standart Bottomsheet, kararlı API'ye yükseltildi.

Sürüm 1.7.0-rc01

21 Ağustos 2024

androidx.compose.material:material-*:1.7.0-rc01 yayınlandı. 1.7.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.7.0-beta07

7 Ağustos 2024

androidx.compose.material:material-*:1.7.0-beta07 yayınlandı. 1.7.0-beta07 sürümü bu commit'leri içerir.

Sürüm 1.7.0-beta06

24 Temmuz 2024

androidx.compose.material:material-*:1.7.0-beta06 yayınlandı. 1.7.0-beta06 sürümü bu commit'leri içerir.

Sürüm 1.7.0-beta05

10 Temmuz 2024

androidx.compose.material:material-*:1.7.0-beta05 yayınlandı. 1.7.0-beta05 sürümü bu commit'leri içerir.

Sürüm 1.7.0-beta04

26 Haziran 2024

androidx.compose.material:material-*:1.7.0-beta04 yayınlandı. 1.7.0-beta04 sürümü bu commit'leri içerir.

Sürüm 1.7.0-beta03

12 Haziran 2024

androidx.compose.material:material-*:1.7.0-beta03 yayınlandı. 1.7.0-beta03 sürümü bu commit'leri içerir.

Sürüm 1.7.0-beta02

29 Mayıs 2024

androidx.compose.material:material-*:1.7.0-beta02 yayınlandı. 1.7.0-beta02 sürümü bu commit'leri içerir.

API değişiklikleri

  • Bağlantıları stilize etmeye yönelik API güncellemesi: TextLinkStyles, TextStyle konumuna taşındı ve TextDefaults, materyalden kaldırıldı (I5477b).

Sürüm 1.7.0-beta01

14 Mayıs 2024

androidx.compose.material:material-*:1.7.0-beta01 yayınlandı. 1.7.0-beta01 sürümü bu commit'leri içerir.

API değişiklikleri

  • Metinde Material temalı bağlantıları alma API'si güncellendi. Özellikle, temalı TextDefaults oluşturmak ve temalı bağlantılarla HTML'yi ayrıştırmak için kullanılan yöntemler LinkAnnotations öğesinden kaldırıldı. Bunun yerine, bağlantıların Text composable'a parametre olarak stilize edilmesine olanak tanıyan bir TextLinkStyles sınıfı eklendi. (I31b93)

Sürüm 1.7.0-alpha08

1 Mayıs 2024

androidx.compose.material:material-*:1.7.0-alpha08 yayınlandı. 1.7.0-alpha08 sürümü bu commit'leri içerir.

API değişiklikleri

  • backgroundColor'nın TextFieldDecorationBox ve OutlinedTextFieldDecorationBox için geçerli olmaması sorunu düzeltildi. Dekorasyon kutuları artık shape parametresini kabul ediyor. (I371c2, b/307694651)
  • RippleConfiguration#isEnabled kaldırıldı ve LocalRippleConfiguration null yapılabilir hale getirildi. Bir dalgalanmayı devre dışı bırakmak için RippleConfiguration ile isEnabled = false sağlamak yerine LocalRippleConfiguration için null sağlayın. (I22725)
  • Metin bağlantılarında normal stilin yanı sıra fareyle üzerine gelindiğinde ve odaklanıldığında uygulanan stilin yanı sıra basılı durum stili seçeneği de bulunur. TextDefaults yöntemlerinin her birinde bunu desteklemek için bir pressedStyle bağımsız değişkeni bulunur. (Ic473f, b/139312671)

Hata düzeltmeleri

  • Etiket için OutlinedTextField üst dolgu artık sistem yazı tipi boyutunu dikkate alıyor. (Idc781)

Sürüm 1.7.0-alpha07

17 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha07 yayınlandı. 1.7.0-alpha07 sürümü bu commit'leri içerir.

API değişiklikleri

  • Metin bağlantıları, normal stilin yanı sıra fareyle üzerine gelindiğinde ve odaklanıldığında uygulanan stil seçeneğine de sahip oldu. (I5f864, b/139312671)
  • Bağlantılara MaterialTheme uygulayan bir LinkAnnotation oluşturma ve HTML etiketli dizeyi ayrıştırma yöntemlerini içeren bir TextDefaults nesnesi eklendi. (I98532, b/139312671)

Sürüm 1.7.0-alpha06

3 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha06 yayınlandı. 1.7.0-alpha06 sürümü bu commit'leri içerir.

Duyuru

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

API değişiklikleri

  • ModalDrawer ve BottomDrawer varsayılanları DrawerDefaults nesnesine taşındı. (Ib5b2e)

Sürüm 1.7.0-alpha05

20 Mart 2024

androidx.compose.material:material-*:1.7.0-alpha05 yayınlandı. 1.7.0-alpha05 sürümü bu commit'leri içerir.

API değişiklikleri

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

Sürüm 1.7.0-alpha04

6 Mart 2024

androidx.compose.material:material-*:1.7.0-alpha04 yayınlandı. 1.7.0-alpha04 sürümü bu commit'leri içerir.

Yeni Özellikler

Sürüm 1.7.0-alpha03

21 Şubat 2024

androidx.compose.material:material-*:1.7.0-alpha03 yayınlandı. 1.7.0-alpha03 sürümü şu commit'leri içerir.

API değişiklikleri

  • BottomDrawer, deneyselden kararlıya yükseltildi. BottomDrawerState artık ilerlemeyi bir işlev olarak sunuyor ve belirli hedefler arasındaki ilerlemeyi sorgulamaya olanak tanıyor. BottomDrawerState artık animasyon spesifikasyonunun özelleştirilmesine izin veriyor ve confirmStateChange artık sondaki lambda değil. (I9c029, b/261423850)
  • BackdropScaffold, deneyselden kararlıya yükseltildi. Animasyon spesifikasyonu artık kurallara uygun bir tween spesifikasyonudur. BackdropScaffold işlevinin snackbarHost parametresi, sondaki lambda'larla karışıklığı önlemek için artık son parametre değil. BackdropScaffoldState, bağlantılar arasındaki ilerlemeyi sorgulamak için progress(from, to) API'sini kullanıma sunar. (I73f48, b/261423218)
  • Standart alt sayfalar deneyselden kararlı sürüme yükseltildi. Desteği sonlandırılan oluşturucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir ara animasyon spesifikasyonudur. (I3c1a8, b/278692145, b/261409034)
  • Modal alt sayfalar deneyselden kararlı sürüme yükseltildi. Desteği sonlandırılan oluşturucular kaldırıldı. Animasyon spesifikasyonu artık kurallara uygun bir tween spesifikasyonudur. (Ic53f4, b/278692145, b/266780235, b/261409034)

Hata düzeltmeleri

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

Sürüm 1.7.0-alpha02

7 Şubat 2024

androidx.compose.material:material-*:1.7.0-alpha02 yayınlandı. 1.7.0-alpha02 sürümü şu commit'leri içerir.

Sürüm 1.7.0-alpha01

24 Ocak 2024

androidx.compose.material:material-*:1.7.0-alpha01 yayınlandı. 1.7.0-alpha01 sürümü şu commit'leri içerir.

Davranış Değişiklikleri

  • Material bileşenleri, yeni dalgalanma API'lerini kullanacak şekilde taşındı ve artık RippleTheme sorgulamıyor.

API değişiklikleri

  • rememberRipple ve RippleTheme, material-ripple'dan kaldırıldı. Bunun yerine, material ve diğer tasarım sistemi kitaplıklarına yeni ripple ve RippleConfiguration API'leri eklendi.

  • Daha önce MutableInteractionSource kabul eden ve varsayılan olarak { MutableInteractionSource() } hatırlayan malzeme bileşenleri artık null değer atanabilir MutableInteractionSource kabul ediyor ve varsayılan olarak null değer atanıyor. MutableInteractionSource öğesini barındırmıyor ve kullanmıyorsanız null değerini iletmeniz gerekir. Bu sayede bazı bileşenler yalnızca gerektiğinde örnek oluşturarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.

Sürüm 1.6

Sürüm 1.6.8

12 Haziran 2024

androidx.compose.material:material-*:1.6.8 yayınlandı. 1.6.8 sürümü bu commit'leri içerir.

Sürüm 1.6.7

1 Mayıs 2024

androidx.compose.material:material-*:1.6.7 yayınlandı. 1.6.7 sürümü bu commit'leri içerir.

Sürüm 1.6.6

17 Nisan 2024

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

Sürüm 1.6.5

3 Nisan 2024

androidx.compose.material:material-*:1.6.5 yayınlandı. 1.6.5 sürümü bu commit'leri içerir.

Sürüm 1.6.4

20 Mart 2024

androidx.compose.material:material-*:1.6.4 yayınlandı. 1.6.4 sürümü bu commit'leri içerir.

Sürüm 1.6.3

6 Mart 2024

androidx.compose.material:material-*:1.6.3 yayınlandı. 1.6.3 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • ExposedDropdownMenu öğesini tekrar odaklanılabilir hale getirmek için gerilemeyi düzeltin. (c0e0ed, b/323694447)

Sürüm 1.6.2

21 Şubat 2024

androidx.compose.material:material-*:1.6.2 yayınlandı. 1.6.2 sürümü şu commit'leri içerir.

Sürüm 1.6.1

7 Şubat 2024

androidx.compose.material:material-*:1.6.1 yayınlandı. 1.6.1 sürümü şu commit'leri içerir.

Sürüm 1.6.0

24 Ocak 2024

androidx.compose.material:material-*:1.6.0 yayınlandı. 1.6.0 sürümü şu commit'leri içerir.

Sürüm 1.6.0-rc01

10 Ocak 2024

androidx.compose.material:material-*:1.6.0-rc01 yayınlandı. 1.6.0-rc01 sürümü şu commit'leri içerir.

Sürüm 1.6.0-beta03

13 Aralık 2023

androidx.compose.material:material-*:1.6.0-beta03 yayınlandı. 1.6.0-beta03 sürümü şu commit'leri içerir.

Sürüm 1.6.0-beta02

29 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta02 yayınlandı. 1.6.0-beta02 sürümü şu commit'leri içerir.

Sürüm 1.6.0-beta01

15 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta01 yayınlandı. 1.6.0-beta01 sürümü şu commit'leri içerir.

Sürüm 1.6.0-alpha08

18 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha08 yayınlandı. 1.6.0-alpha08 sürümü şu commit'leri içerir.

API değişiklikleri

  • autoMirror parametresi alan aşırı yüklemesi yerine materialIcon işlevinin desteğini sonlandırın. (Ia338d)

Hata düzeltmeleri - Büyük içeriklerde gezinme öğesinin yüksekliği otomatik olarak artırılır. (0c4ecc, b/272336962)

Sürüm 1.6.0-alpha07

4 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha07 yayınlandı. 1.6.0-alpha07 sürümü şu commit'leri içerir.

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

Sürüm 1.6.0-alpha06

20 Eylül 2023

androidx.compose.material:material-*:1.6.0-alpha06 yayınlandı. 1.6.0-alpha06 sürümü şu commit'leri içerir.

Davranışta Önemli Değişiklik (Behavior Breaking Change)

  • BottomSheetScaffold uygulamasından çekmeceyle ilgili işlevler kaldırıldı. Önceki işlevselliği elde etmek için BottomSheetScaffold öğenizi Drawer composable ile sarmalayın. Örnek için bkz. BottomSheetScaffoldWithDrawerSample. (I1dcc8)

API değişiklikleri

  • İskele'nin ölçüm sırasında mı yoksa yerleştirme sırasında mı alt öğelerini ölçmesi gerektiğini kontrol etmek için geçici bir işaretçi kullanıma sunuldu. Bu, varsayılan olarak ölçüm birimiyle ölçülür. Yeni davranışla ilgili sorun yaşıyorsanız lütfen sorun kaydı oluşturun. (If6e3b)

Sürüm 1.6.0-alpha05

6 Eylül 2023

androidx.compose.material:material-*:1.6.0-alpha05 yayınlandı. 1.6.0-alpha05 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Sağdan sola düzenlerde oluşturulurken otomatik olarak yansıtılan simgeler için destek eklendi. material-icons-core ve material-icons-extended modüllerindeki simgeler artık simgenin izin vermesi durumunda otomatik yansıtmayı desteklemek için ek simge setleri sunuyor. Yeni kümelerin önüne Icons.AutoMirrored.Filled... gibi bir önek eklenir ve bu kümelerde, sağdan sola düzenlerde otomatik olarak yansıtılacak simgeler bulunur. Otomatik olarak yansıtılabilecek (ve yansıtılması gereken) simgelerin listesi için Material simgeleri listesine bakın.

API değişiklikleri

  • Sağdan sola düzenlerde oluşturulurken otomatik olarak yansıtılan simgeler için destek eklendi. material-icons-core ve material-icons-extended modüllerindeki simgeler artık simgenin izin vermesi durumunda otomatik yansıtmayı desteklemek için ek simge setleri sunuyor. Yeni kümelerin önüne Icons.AutoMirrored.Filled... gibi bir önek eklenir ve bu kümelerde, sağdan sola düzenlerde otomatik olarak yansıtılacak simgeler bulunur. Otomatik olarak yansıtılabilecek (ve yansıtılması gereken) simgelerin listesi için Material simgeleri listesine bakın. Bu simgeler için daha önce sağlanan simge özellikleri artık kullanımdan kaldırılmış olarak işaretleniyor ve taşıma işlemine yardımcı olmak için bir yedek blok önerisi sunuluyor. Sağdan sola dillerde yansıtma simgeleri için özel bir işlem yapmıyorsanız yeni simge grubuna 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ı. 1.6.0-alpha04 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • Subcomposition (ör. BottomSheetScaffold) kullanan bazı bileşenlerin, LookaheadScope içinde bir Scaffold'da boyutlarını çok erken okumaya çalışmasına neden olan sorun düzeltildi. (If2c5d)
  • DropdownMenu'nın offset hesaplaması düzeltildi. Böylece x uzaklıkları yalnızca yerel düzen yönüne bağlı olacak ve menü ekranın alt kısmına yakın olduğunda y uzaklıkları artık tersine çevrilmeyecek. (Iccc74, b/294103942)
  • BottomSheetScaffold'nın düzeniyle ilgili iç işleyişi optimize edildi ve LookaheadLayout içindeki 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ı. 1.6.0-alpha03 sürümü şu commit'leri içerir.

API değişiklikleri

  • Material2 bileşenleri artık Android'de uçtan uca işlevselliği desteklemek için windowInsets iletmek üzere ayrı bir API'ye sahip. Material3 bileşenlerinin aksine, Material2 bileşenleri varsayılan olarak iç kısımları desteklemez ve değerin manuel olarak iletilmesi gerekir. Yardım için ilgili örneklere bakın. (I655e8)

Sürüm 1.6.0-alpha02

26 Temmuz 2023

androidx.compose.material:material-*:1.6.0-alpha02 yayınlandı. 1.6.0-alpha02 sürümü şu commit'leri içerir.

API değişiklikleri

  • Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, aşağıdaki bileşenler için geçerlidir: SwipeToDismiss ve E-tablo tabanlı bileşenler. Lütfen yoğunluğun parametre olduğu yeni aşırı yüklemeyi kullanın. (I1846e)
  • Composable'lara izin verilen girişleri belirtmek için ek açıklamalar (I51109)
  • Uyumluluk bastırmayı açıklama eklemek için API dosyaları güncellendi (I8e87a, b/287516207).
  • FabPosition için yeni Başlangıç hizalama seçeneği eklendi (Ib7aea, b/170592777)
  • Materyal 2'deki TextFieldColorsWithIcons desteği, TextFieldColors lehine sonlandırıldı. leadingIconColor veya trailingIconColor'yi geçersiz kılarken interactionSource ile aşırı yüklemeyi de geçersiz kılın. (Id57ed, b/199377790)

Sürüm 1.6.0-alpha01

21 Haziran 2023

androidx.compose.material:material-*:1.6.0-alpha01 yayınlandı. 1.6.0-alpha01 sürümü şu commit'leri içerir.

Davranış Değişiklikleri

  • includeFontPadding, Materyal 2 tipografisinde varsayılan olarak false olarak ayarlanır. Varsayılan satır yüksekliği stili de Trim.None ve Alignment.Center olarak değiştirildi ve Typography öğelerinin TextStyle öğelerine açık lineHeight (sp cinsinden) eklendi. Bu değerleri özelleştirmek istiyorsanız API dokümanlarına bakın. Bu değişikliklerin ayrıntılı açıklaması için blog yayınını inceleyin. (Icabc3, I3f801, I04c03)

API değişiklikleri

  • Material'ın Swipeable API'lerinin desteği sonlandırıldı. Lütfen hem basit hem de karmaşık kullanım alanları için optimize edilmiş Foundation'ın AnchoredDraggable API'lerine bakın. (I732e0)

Hata düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık geçerli (yerleştirilmiş) sabitleme noktası ile kaydırma yönündeki en yakın sabitleme noktası arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (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ü şu commit'leri içerir.

Sürüm 1.5.3

4 Ekim 2023

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

Sürüm 1.5.2

27 Eylül 2023

androidx.compose.material:material-*:1.5.2 yayınlandı. 1.5.2 sürümü şu commit'leri içerir.

Sürüm 1.5.1

6 Eylül 2023

androidx.compose.material:material-*:1.5.1 değişiklik yapılmadan yayınlanır. 1.5.1 sürümü şu commit'leri 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ü şu commit'leri içerir.

1.4.0 sürümünden beri yapılan önemli değişiklikler

API değişiklikleri

  • BottomSheetScaffold sürümünde Swipeable1 API'lerindeki değişiklikler uygulandı. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık kayan noktalı değer olarak gösteriliyor. animateTo ve snapTo dahili. 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 durumu göstergeleri için parça rengi parametresi, hem dairesel hem de doğrusal ilerleme durumu göstergeleri için ise çizgi ucu parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState'nin confirmStateChange adlı öğesi confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçük ölçülse bile dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda yer ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout'daki Kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. ModalBottomSheetState'nın animateTo işlevi artık animationSpec parametresini almıyor ve gösterilen uzaklık artık null olabilir. Telafi gerektirmek için requireOffset kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility notu ekleniyor (I8f206)
  • ModalDrawer. DrawerState'daki kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. animateTo, açma ve kapatma yöntemleriyle değiştirildi ve artık ofset değeri boş olabilir. Telafi gerektirmek için requireOffset kullanın. (I3de9e)
  • Hareketlerin kaydırma etkinliği olabileceği durumlarda basma işlemlerinin doğru şekilde geciktirilmesi için çekmeceler ve sayfalar güncellendi.
  • Materyal ve Material3 Text, TextField ve OutlinedTextField bileşenlerine minLines parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d).

Hata düzeltmeleri

  • pullRefresh öğesinin hızı kullanmaması ve bu nedenle kaydırma sonunun gösterilmesine neden olan sorun düzeltildi. Ayrıca, tüketilen hız için Float döndürmek üzere Modifier.pullRefresh içindeki onRelease lambda'nın API imzası değiştirildi (I7db65, b/266874741).
  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık geçerli (yerleştirilmiş) sabitleme noktası ile kaydırma yönündeki en yakın sabitleme noktası arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • AlertDialog Kapatma işleminin, işlemler iletişim kutusunun genişliğine sığacak şekilde üst üste geldiğinde onaylama işleminin altında görünmesi düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)
  • gesturesEnabled false olarak ayarlandığında BottomSheetScaffold artık iç içe kaydırmaya katılmayacak. (I634f3, b/215403277)
  • BottomSheetScaffold'nın yuvalar için boş içerik sağlandığında kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • Tıklamaları/işaretçi etkinliklerini PullRefreshIndicator engelleme sorunu düzeltildi. (2494256, b/271777421)
  • ModalBottomSheetLayout uygulamasının, yön değişikliği sırasında nadir durumlarda kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)

Sürüm 1.5.0-rc01

26 Temmuz 2023

androidx.compose.material:material-*:1.5.0-rc01 yayınlandı. 1.5.0-rc01 sürümü şu commit'leri içerir.

Sürüm 1.5.0-beta03

28 Haziran 2023

androidx.compose.material:material-*:1.5.0-beta03 yayınlandı. 1.5.0-beta03 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık geçerli (yerleştirilmiş) sabitleme noktası ile kaydırma yönündeki en yakın sabitleme noktası arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Sürüm 1.5.0-beta02

7 Haziran 2023

androidx.compose.material:material-*:1.5.0-beta02 yayınlandı. 1.5.0-beta02 sürümü şu commit'leri içerir.

Sürüm 1.5.0-beta01

24 Mayıs 2023

androidx.compose.material:material-*:1.5.0-beta01 yayınlandı. 1.5.0-beta01 sürümü şu commit'leri içerir.

API değişiklikleri

  • DrawerState ve BottomDrawerState'nin ofseti artık boş değer atanamaz. Bunun yerine, ofsetin olmadığını belirtmek için Float.NaN döndürürler. (Ie9855)
  • Gösterilen menü öğelerinin dikey kaydırma durumunu kontrol etmek için DropdownMenu veya ExposedDropdownMenu oluştururken ScrollState iletme seçeneği eklendi. (Idb009, b/185304441)
  • Kullanıcının bu özelliği daha fazla öne çıkan alt sayfalar için yapılandırabilmesi amacıyla ModalBottomSheetLayout hareketini etkinleştirme/devre dışı bırakma desteği eklendi (I40af0).
  • Metin renginin verimli bir şekilde animasyonlandırılmasına veya ayarlanmasına olanak tanımak için BasicText öğesine bir renk parametresi eklendi. (Iffd88, b/246961787)
  • Anlamsal yapı özelliği isContainer, isTraversalGroup olarak yeniden adlandırılıyor (I121f6)

Hata düzeltmeleri

  • AlertDialog Kapatma işleminin, işlemler iletişim kutusunun genişliğine sığacak şekilde üst üste geldiğinde onaylama işleminin altında görünmesi düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)

Sürüm 1.5.0-alpha04

10 Mayıs 2023

androidx.compose.material:material-*:1.5.0-alpha04 yayınlandı. 1.5.0-alpha04 sürümü şu commit'leri içerir.

API değişiklikleri

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

Sürüm 1.5.0-alpha03

19 Nisan 2023

androidx.compose.material:material-*:1.5.0-alpha03 yayınlandı. 1.5.0-alpha03 sürümü şu commit'leri içerir.

API değişiklikleri

  • BottomDrawer iç kısımlarını yeni SwipeableV2 API'lerini kullanacak şekilde güncelleyin. Bu nedenle BottomDrawerState artık yalnızca sınıf düzeyinde tanımlanan API'lere sahip olacak ve SwipeableState'den yöntem/özellik devralmayacak. Dahili SwipeableV2State ile kompozisyon kullanıyoruz. Kaydırma artık boş değer atanabilir bir kayan nokta özelliği. Mevcut değere ve kaydırma hedef değerine currentValue ve targetValue özellikleri üzerinden erişilebilir. Açma/genişletme/kapatma gibi önceki sınıf düzeyi yöntemler ve isOpen/isClosed gibi özellikler desteklenmeye devam eder. (Iad40c, b/178529942, b/220676296)

Hata düzeltmeleri

  • Anahtar bileşeninin iç kısımları güncellendi. Artık anahtar sürüklenirken en yakın (hedef durum) önizlenir. (Id90d4)
  • BottomSheetScaffold içindeki animasyonlu sayfa içeriği (ör. sayfa içeriğinde Modifier.animateContentSize) optimize edildi ve artık sorunsuz çalışıyor. (Ia913c, b/270518202, b/254446195)
  • gesturesEnabled, false olarak ayarlandığında BottomSheetScaffold artık iç içe kaydırmaya katılmaz. (I634f3, b/215403277)

Sürüm 1.5.0-alpha02

5 Nisan 2023

androidx.compose.material:material-*:1.5.0-alpha02 yayınlandı. 1.5.0-alpha02 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • Yuvalar için boş içerik sağlandığında BottomSheetScaffold simgesinin kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • Tıklamaları / işaretçi etkinliklerini engelleyen PullRefreshIndicator düzeltildi (2494256, b/271777421).

Sürüm 1.5.0-alpha01

22 Mart 2023

androidx.compose.material:material-*:1.5.0-alpha01 yayınlandı. 1.5.0-alpha01 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • Bir ChipGroup yeniden akış örneği ekleyin. Tek satırlık çip grubu örneğindeki alt çip grupları arasındaki yatay dolguyu spesifikasyona uyacak şekilde güncelleyin. (I3b155)
  • ModalBottomSheetLayout uygulamasının, yön değişikliği sırasında nadir durumlarda kilitlenmesine neden olan sorun düzeltildi. E-tablo içeriğindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)

Sürüm 1.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.material:material-*:1.4.3, herhangi bir değişiklik yapılmadan (yalnızca sürüm yükseltme) yayınlanır.

Sürüm 1.4.2

19 Nisan 2023

androidx.compose.material:material-*:1.4.2 yayınlandı. 1.4.2 sürümü şu commit'leri içerir.

Sürüm 1.4.1

5 Nisan 2023

androidx.compose.material:material-*:1.4.1 yayınlandı. 1.4.1 sürümü şu commit'leri 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ü şu commit'leri içerir.

1.3.0 sürümünden beri yapılan önemli değişiklikler

API değişiklikleri

  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçük ölçülse bile dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalDrawer'daki Kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. DrawerState'nın animateTo, açma ve kapatma yöntemleriyle değiştirildi ve artık ofset değeri boş bırakılabilir. Telafi gerektirmek için requireOffset kullanın. (I3de9e)
  • Materyal ve Material3 Text, TextField ve OutlinedTextField bileşenlerine minLines parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d).
  • BasicText ve BasicTextField için minLines parametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı cinsinden ayarlamaya olanak tanır (I24294, b/122476634).

Sürüm 1.4.0-rc01

8 Mart 2023

androidx.compose.material:material-*:1.4.0-rc01 değişiklik yapılmadan yayınlanır. 1.4.0-rc01 sürümü şu commit'leri içerir.

Sürüm 1.4.0-beta02

22 Şubat 2023

androidx.compose.material:material-*:1.4.0-beta02 yayınlandı. 1.4.0-beta02 sürümü şu commit'leri içerir.

API değişiklikleri

  • BottomSheetScaffold'daki Kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık kayan noktalı değer olarak gösteriliyor. animateTo ve snapTo dahili. 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ı, bunları kullanan bileşenler modifier.semantics kullanarak rolleri ayarlayacak şekilde güncellendi (Ibb4ba).
  • Dolu desktop_mac, directions ve kitchen simgelerinde ince ayarlar yapan, genişletilmiş Material Icons'da küçük bir 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ı. 1.4.0-beta01 sürümü şu commit'leri içerir.

API değişiklikleri

  • pullRefresh öğesinin hızı kullanmaması ve bu nedenle kaydırma sonunun gösterilmesine neden olan sorun düzeltildi. Ayrıca, tüketilen hız için Float döndürmek üzere Modifier.pullRefresh içindeki onRelease lambda'nın API imzası değiştirildi (I7db65, b/266874741).
  • Geri yüklenen özellik alıcı LocalMinimuTouchTargetEnforcement, desteği sonlandırılmış olarak işaretlenir ve LocalMinimumInteractiveComponentEnforcement adresine yönlendirilir. (I60dd5)

Sürüm 1.4.0-alpha05

25 Ocak 2023

androidx.compose.material:material-*:1.4.0-alpha05 yayınlandı. 1.4.0-alpha05 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • ModalBottomSheetLayout's HalfExpanded durumunun yanlış hesaplanmasına ve sayfanın kayıyormuş gibi görünmesine neden olan sorun düzeltildi. (I8c615, b/265610459)
  • ModalBottomSheetLayout'da, bazı durumlarda gizli durumdan görünür duruma geçildiğinde sayfanın kilitlenmesine neden olan hata düzeltildi. (Ia9265, b/265444789)

Sürüm 1.4.0-alpha04

11 Ocak 2023

androidx.compose.material:material-*:1.4.0-alpha04 yayınlandı. 1.4.0-alpha04 sürümü şu commit'leri içerir.

API değişiklikleri

  • Yüzeylerde IsContainer anlamsal yapı özelliği eklendi. Bu özellik, yüzeyler gibi öğelerin semantik anlamına göre geçiş sırasını belirleyen sonraki bir değişiklikte kullanılacaktır. (I63379)
  • Çekmecedeki snapTo işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368)
  • Dairesel ilerleme durumu göstergeleri için parça rengi parametresi, hem dairesel hem de doğrusal ilerleme durumu göstergeleri için ise çizgi ucu parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState'nin confirmStateChange adlı öğesi confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Desteği sonlandırılan ve gizlenen işlevlerin daha fazla dönüş türü null değer alabilme özelliği (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçük ölçülse bile dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda yer ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout'daki Kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. ModalBottomSheetState'nın animateTo artık animationSpec parametresini almıyor ve offset artık boş değer atanabilir. offset'nin zorunlu olmasını sağlamak için requireOffset kullanın. (Ia2e79)

Hata düzeltmeleri

  • ModalBottomSheetLayout sayfalarının maksimum genişliği artık 640 dp. (I71a4f, b/234927577)
  • rememberPullRefreshState öğesinin zaman içinde refreshThreshold ve refreshingOffset öğelerini güncellememesine neden olan sorun düzeltildi. (Ifed10, b/263159832)
  • İlerleme durumu göstergelerindeki ilerleme durumu artık beklenen aralıkla düzgün şekilde sınırlandırılıyor. (I8a7eb, b/262262727)
  • ModalBottomSheetState henüz herhangi bir bağlantı almadığında, bir istisna oluşturmak yerine snapTo veya animateTo çağrıldığında currentValue öğesini animasyon olmadan günceller. (I2c91b)
  • Material 2 FilterChip uygulamasında etkin durum düzeltildi. (Id326a, b/261329817)
  • Dikeyden yataya döndürülürken ModalBottomSheetLayout öğesinin HalfExpanded olması durumunda kilitlenmesine neden olan hata düzeltildi. Lütfen yapılandırmayı kontrol ederek doğru initialValue değerini ilettiğinizden emin olun. (Ie8df7, b/182882364)
  • E-tablo içeriği boşsa ModalBottomSheetLayout uygulamasının kilitlenmesine neden olan sorun düzeltildi. ModalBottomSheetLayout artık boş sayfa içeriğine izin veriyor. Sayfa içeriği boşsa yalnızca Gizli durumu olur. (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. Sorun burada ilk olarak bildirildi. Düzeltme gönderildi ve bir sonraki Compose güncellemesinde kullanıma sunulacak. Geçici çözüm olarak androidx.compose.material ve androidx.compose.material3 kitaplıklarınızı en yeni sürüme(1.1.0-alpha04) güncelleyin veya androidx.compose.foundation kitaplığınızı 1.4.0-alpha03 sürümüne düşürün.

Sürüm 1.4.0-alpha03

7 Aralık 2022

androidx.compose.material:material-*:1.4.0-alpha03 yayınlandı. 1.4.0-alpha03 sürümü şu commit'leri içerir.

API değişiklikleri

  • @JvmDefaultWithCompatibility notu ekleniyor (I8f206)
  • Swipeable API'lerindeki değişiklikler ModalDrawer'e dahil edildi. DrawerState adlı kullanıcının animateTo, open ve close yöntemleriyle değiştirildi ve artık ofset değeri boş bırakılabilir. Telafi gerektirmek için requireOffset kullanın. (I3de9e)
  • Üst öğelerin kaydırma bilgilerini sorgulamak için bir Modifier API eklendi. (I2ba9d, b/203141462)
  • Hareketlerin kaydırma etkinliklerine dönüşebileceği durumlarda, basma etkileşimlerini doğru şekilde geciktirmek için Clickable içinde kullanılır.
  • Clickables öğesi, Scrollable ViewGroup içinde kullanıldığında dalgalanmaları doğru şekilde geciktirmiyordu. Bu sorun düzeltildi.
  • Hareketlerin kaydırma etkinliği olabileceği durumlarda basma işlemlerinin doğru şekilde geciktirilmesi için çekmeceler ve sayfalar güncellendi.

Hata düzeltmeleri

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

Bağımlılık Güncellemeleri

  • Compose UI ve Compose Material artık Lifecycle 2.5.1'e bağlı. (I05ab0, b/258038814)

Sürüm 1.4.0-alpha02

9 Kasım 2022

androidx.compose.material:material-*:1.4.0-alpha02 yayınlandı. 1.4.0-alpha02 sürümü şu commit'leri içerir.

API değişiklikleri

  • awaitFirstDown ve waitForUpOrCancellation artık daha fazla esneklik için PointerEventPass kabul ediyor. (I7579a, b/212091796)
  • Materyal ve Material3 Text, TextField ve OutlinedTextField bileşenlerine minLines parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d).
  • BasicTex ve BasicTextField için minLines parametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı (I24294, b/122476634) cinsinden ayarlamaya olanak tanır.

Sürüm 1.4.0-alpha01

24 Ekim 2022

androidx.compose.material:material-*:1.4.0-alpha01 yayınlandı. 1.4.0-alpha01 sürümü şu commit'leri 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 gerçekleştiğinden yinelemeler arasında etkinlik kaybolmaz.
  • forEachGesture(), hareketler arasında etkinliklerin kaybolmasına izin verdiği için awaitEachGesture() lehine kullanımdan kaldırıldı. (Iffc3f, b/251260206)

Sürüm 1.3

Sürüm 1.3.1

9 Kasım 2022

androidx.compose.material:material-*:1.3.1 yayınlandı. 1.3.1 sürümü şu commit'leri 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ü şu commit'leri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

Davranış değişikliği (Behavior breaking change)

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

API değişiklikleri

  • Compose'a yenilemek için çekme bileşeni ekleyin (I29168).
  • RangeSlider'da (I3b79a) parametre adını değerlerden değere değiştirin.

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.material:material-*:1.3.0-rc01 yayınlandı. 1.3.0-rc01 sürümü şu commit'leri 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ü şu commit'leri içerir.

API değişiklikleri

  • Compose'a yenilemek için çekme bileşeni ekleme (I29168)

Sürüm 1.3.0-beta02

7 Eylül 2022

androidx.compose.material:material-*:1.3.0-beta02 yayınlandı. 1.3.0-beta02 sürümü şu commit'leri içerir.

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

Sürüm 1.3.0-beta01

24 Ağustos 2022

androidx.compose.material:material-*:1.3.0-beta01 yayınlandı. 1.3.0-beta01 sürümü şu commit'leri içerir.

Davranış değişikliği (Behavior breaking change)

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

Oluşturma 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ı etkiler. Bu değişiklik, Android'in S sürümünden önceki sürümlerinde erişilebilirlikle ilgili bir hatayı azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up içindeki içerikle etkileşime geçebilmesini sağlamak için yapılmıştır.

Bu değişiklikten yalnızca, yüksekliği 8 dp'den daha yüksek seviyelere ayarlanmış özel bir iletişim kutusu veya pop-up uygulaması oluşturuyorsanız etkilenirsiniz. İletişim kutunuzun veya pop-up'ınızın yüksekliğini azaltmayı deneyin. Bu yeni davranışı devre dışı bırakmanız gerekiyorsa istediğiniz yükseltme ayarıyla kendi iletişim kutunuzu veya pop-up'ınızı oluşturmayı düşünebilirsiniz. Erişilebilirlik olumsuz etkilenebileceğinden ve iletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından okunabilir ve etkileşim kurulabilir olmasını sağlamak geliştiricinin sorumluluğunda olduğundan bu yöntem önerilmez.

Sürüm 1.3.0-alpha03

10 Ağustos 2022

androidx.compose.material:material-*:1.3.0-alpha03 yayınlandı. 1.3.0-alpha03 sürümü şu commit'leri 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ü şu commit'leri içerir.

Harici Katkı

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

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.compose.material:material-*:1.3.0-alpha01 yayınlandı. 1.3.0-alpha01 sürümü şu commit'leri içerir.

API değişiklikleri

  • RangeSlider içinde parametre adını değerlerden değere değiştirme (I3b79a)

Hata düzeltmeleri

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

Sürüm 1.2

Sürüm 1.2.1

10 Ağustos 2022

androidx.compose.material:material-*:1.2.1 yayınlandı. 1.2.1 sürümü şu commit'leri 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ü şu commit'leri içerir.

Sürüm 1.2.0-rc03

29 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc03 yayınlandı. 1.2.0-rc03 sürümü şu commit'leri içerir.

  • 1.2.0-rc02 sürümünden bu yana değişiklik yapılmadı.

Sürüm 1.2.0-rc02

22 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc02 yayınlandı. 1.2.0-rc02 sürümü şu commit'leri içerir.

Sürüm 1.2.0-rc01

15 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc01 yayınlandı. 1.2.0-rc01 sürümü şu commit'leri içerir.

API değişiklikleri

  • Compose kitaplıklarındaki arayüzler artık JDK8 varsayılan arayüz yöntemleri kullanılarak oluşturuluyor (I5bcf1).

Hata düzeltmeleri

  • Rozeti simge yerine etikete eklemek için rozeti, önde gelen simge sekmesiyle günceller. (I90993)

Sürüm 1.2.0-beta03

1 Haziran 2022

androidx.compose.material:material-*:1.2.0-beta03 yayınlandı. 1.2.0-beta03 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • BottomSheetScaffold simgesinin üst uygulama çubuğunun gölgesinin üzerine çizilmesine neden olan hata düzeltildi. BottomSheetScaffold artık Snackbar'ları yerleştirirken sayfanın durumunu da dikkate alıyor: Daraltılmış durumda Snackbar'lar sayfanın ve FAB'ın üzerine yerleştiriliyor. Genişletilmiş durumda ise Snackbar'lar sayfanın altına sabitleniyor. (Ia80b5, b/187771422)

Sürüm 1.2.0-beta02

18 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta02 yayınlandı. 1.2.0-beta02 sürümü şu commit'leri içerir.

Sürüm 1.2.0-beta01

11 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta01 yayınlandı. 1.2.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

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

API değişiklikleri

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

Sürüm 1.2.0-alpha08

20 Nisan 2022

androidx.compose.material:material-*:1.2.0-alpha08 yayınlandı. 1.2.0-alpha08 sürümü şu commit'leri içerir.

API değişiklikleri

  • Kısmi tüketim (aşağı veya konum) PointerInputChange'da kullanımdan kaldırıldı. Değişikliği tamamen kullanmak için consume() kullanabilirsiniz. Başka bir kullanıcının değişikliği daha önce kullanıp kullanmadığını belirlemek için isConsumed simgesini kullanabilirsiniz.
  • PointerInputChange::copy() artık her zaman yüzeysel bir kopya oluşturur. Bu, kopyalardan biri kullanıldığında PointerInputChange kopyalarının da kullanılacağı anlamına gelir. Sınırsız 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ı. 1.2.0-alpha07 sürümü şu commit'leri içerir.

Sürüm 1.2.0-alpha06

23 Mart 2022

androidx.compose.material:material-*:1.2.0-alpha06 yayınlandı. 1.2.0-alpha06 sürümü şu commit'leri içerir.

API değişiklikleri

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

Sürüm 1.2.0-alpha05

9 Mart 2022

androidx.compose.material:material-*:1.2.0-alpha05 yayınlandı. 1.2.0-alpha05 sürümü şu commit'leri içerir.

API değişiklikleri

  • LazyVerticalGrid ve LazyHorizontalGrid artık kararlı sürümde. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen androidx.compose.foundation.lazy.grid'e aktarımlarınızı androidx.compose.foundation.lazy olarak güncelleyin. (I2d446, b/219942574)
  • Yalnızca bir Görünüm'e güvenmeye yönelik WindowInsetsControllerCompat önceki değişiklik geri alındı ve bazı pencere işaretlerini yönetmek için gerekli olan bir Pencere tekrar istendi. Doğru pencerenin kullanıldığından emin olmak için (ör. Görünüm bir iletişim kutusundaysa) ViewCompat.getWindowInsetsController yerine WindowCompat.getInsetsController kullanımdan kaldırıldı. (I660ae, b/219572936)
  • Metin:includeFontPadding özelliği artık varsayılan olarak devre dışıdır. includeFontPadding=false nedeniyle oluşan kırpma sorunları giderildi ve uzun komut dosyalarında kırpma olmaması sağlandı. (I31c84, b/171394808)
  • Çapraz eksen boyutlarını tanımlamak için yeni bir LazyVerticalGrid API eklendi (I17723).

Sürüm 1.2.0-alpha04

23 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha04 yayınlandı. 1.2.0-alpha04 sürümü şu commit'leri içerir.

API değişiklikleri

  • Add support for filter chips (I39a6e, b/192585545)
  • TextFieldDecorationBox ve OutlinedTextFieldDecorationBox eklendi. Bu bileşenleri BasicTextField ile birlikte kullanmak, Materyal Tasarım metin alanlarına dayalı ancak daha fazla özelleştirme seçeneği sunan özel metin alanları oluşturmanıza yardımcı olur.
  • Metin alanlarındaki yatay ve dikey dolguları ayarlama olanağı eklendi. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168003617)
  • ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget işlevleri eklendi. Bu işlevler, bir composable işlevin, kullanılması için tasarlanmadığı bir uygulayıcıyı hedefleyerek çağrıldığı zaman derleme zamanı raporlamasına olanak tanır.

    Çoğu durumda, ek açıklamalar derleme derleyici eklentisi tarafından çıkarılabilir. Bu nedenle, bu ek açıklamaların doğrudan kullanılması nadir olmalıdır. Çıkarılamayan durumlar arasında özel uygulayıcı oluşturma ve kullanma, soyut composable işlevler (arayüz yöntemleri gibi), composable lambda'lar olan alanlar veya genel değişkenler (yerel değişkenler ve parametreler çıkarılır) ya da ComposeNode veya ilgili composable işlevleri kullanma yer alır.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode çağıran composable işlevlerin, işlev ve composable lambda parametre türleri için CompoableTarget ek açıklaması eklemesi gerekir. Ancak, ComposableTargetMarker ile açıklama eklenmiş bir açıklama oluşturmanız ve ardından doğrudan ComposableTarget yerine işaretlenmiş açıklamanın kullanılması önerilir. ComposableTargetMarker ile işaretlenmiş bir composable ek açıklama, uygulayıcı parametresi olarak özelliğin sınıfının tam nitelikli adını içeren bir ComposbleTarget ile eşdeğerdir. ComposableTargetMarker kullanımına ilişkin örnek için anroidx.compose.ui.UiComposable bölümüne bakın. (I38f11)

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha03 yayınlandı. 1.2.0-alpha03 sürümü şu commit'leri içerir.

Hata düzeltmeleri

Sürüm 1.2.0-alpha02

26 Ocak 2022

androidx.compose.material:material-*:1.2.0-alpha02 yayınlandı. 1.2.0-alpha02 sürümü şu commit'leri içerir.

API değişiklikleri

  • Karmaşık mantık içermeyen mevcut yöntemlerin aşırı yüklenmesi olan yöntemlere NonRestartableComposable eklendi. Bu, çağrılan iç işlevde tekrarlanan tüm parametreler için derleyici tarafından oluşturulan ezberleme kontrollerini (eşittir) azaltır. (I90490)
  • İşlem çipi desteği eklendi (I07100, b/192585545)

Sürüm 1.2.0-alpha01

12 Ocak 2022

androidx.compose.material:material-*:1.2.0-alpha01 yayınlandı. 1.2.0-alpha01 sürümü şu commit'leri içerir.

Bağımlılık Güncellemeleri

  • Artık Kotlin 1.6.10 sürümüne bağlıdır.

Harici Katkı

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

Sürüm 1.1

Sürüm 1.1.1

23 Şubat 2022

androidx.compose.material:material-*:1.1.1 yayınlandı. 1.1.1 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList'da NullPointerException ile ilgili sorun düzeltildi (aosp/1947059, b/206677462)
  • Android'de panodan okuma sırasında panodaki içerikten kaynaklanan kilitlenme sorunu düzeltildi. (I06020, b/197769306)
  • LazyVerticalGrid'da sağdan sola dil desteğiyle ilgili sorun düzeltildi (aosp/1931080, b/207510535)

Sürüm 1.1.0

9 Şubat 2022

androidx.compose.material:material-*:1.1.0 yayınlandı. 1.1.0 sürümü şu commit'leri içerir.

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

  • Android 12'deki Aşırı kaydırma efekti için kararlı destek
  • Dokunma hedefi boyutlandırmayla ilgili iyileştirmeler
  • Compose 1.0 ile ilgili olarak, Material bileşenlerinin dokunma hedefi boyutu için Material erişilebilirlik yönergelerine uyacak şekilde düzen alanını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişletilir. Bu, Compose Material'ı Materyal Tasarım Bileşenleri'nin davranışıyla aynı hale getirerek Görünümler ve Compose'u karıştırdığınızda tutarlı bir davranış sağlar. Bu değişiklik, Compose Material bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda dokunma hedefi erişilebilirliği için minimum şartların karşılanmasını da sağlar.
  • Gezinme sütunu için kararlı destek
  • Daha önce deneysel olan bazı API'leri kararlı sürüme geçirir.
  • Kotlin'in yeni sürümleri için destek

Sürüm 1.1.0-rc03

26 Ocak 2022

androidx.compose.material:material-*:1.1.0-rc03 yayınlandı. 1.1.0-rc03 sürümü şu commit'leri içerir.

Davranış Değişiklikleri

Compose 1.0 ile ilgili olarak, Material bileşenlerinin, Material erişilebilirlik yönergelerindeki dokunma hedefi boyutuna uyacak şekilde düzen alanını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişletilir. Bu, Compose Material'ı Materyal Tasarım Bileşenleri'nin davranışıyla aynı hale getirerek Görünümler ve Compose'u karıştırdığınızda tutarlı bir davranış sağlar. Bu değişiklik, Compose Material bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda dokunma hedefi erişilebilirliği için minimum şartların karşılanmasını da sağlar.

Hata düzeltmeleri

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

Sürüm 1.1.0-rc01

15 Aralık 2021

androidx.compose.material:material-*:1.1.0-rc01 yayınlandı. 1.1.0-rc01 sürümü şu commit'leri 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ü şu commit'leri 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ü şu commit'leri 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ü şu commit'leri içerir.

Hata düzeltmeleri

  • Dalgalanmalar ve diğer göstergeler artık her zaman aşağı yönlü bir etkinlik için gecikmek yerine yalnızca Modifier.scrollable() kapsayıcısının içindeyse gecikecek. (Ibefe0, b/203141462)

Sürüm 1.1.0-beta01

27 Ekim 2021

androidx.compose.material:material-*:1.1.0-beta01 yayınlandı. 1.1.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Dalgalanma efektleri artık üzerine gelme ve odaklanma durumlarını destekliyor. Bu nedenle, düğme gibi bir bileşenin üzerine gelindiğinde veya odaklanıldığında artık doğru durum yer paylaşımı gösterilecek.

Sürüm 1.1.0-alpha06

13 Ekim 2021

androidx.compose.material:material-*:1.1.0-alpha06 yayınlandı. 1.1.0-alpha06 sürümü şu commit'leri içerir.

API değişiklikleri

  • Daha iyi verimlilik için Layout'a çocuksuz bir aşırı yükleme eklendi (Ib0d9a).
  • ExposedDropdownMenu, ExposedDropdownMenuBox temel alınarak TextField ve DropdownMenu ile birlikte uygulanır (If60b2).
  • dismissOnOutsideClick, PopupProperties'ye eklendi ve desteği sonlandırılan dismissOnClickOutside'ın yerini aldı. Yeni özellik, tıklama konumunu ve sabitleme sınırlarını alır. Böylece, onDismissRequest'in çağrılıp çağrılmaması üzerinde daha hassas bir kontrol sağlanır. Örneğin, bu ayar, dokunulduğunda sabitleme işleminin kapatılmasını önlemek için yararlı olabilir.
    • updateAndroidWindowManagerFlags, PopupProperties'a eklenerek pop-up tarafından Android WindowManager'a iletilen işaretler üzerinde düşük düzeyde kontrol olanağı sunuldu. Lambda'nın parametresi, PopupProperties değerlerinden hesaplanan ve WindowManager işaretleriyle sonuçlanan işaretler olur (ör. odaklanılabilir). Lambda'nın sonucu, Android WindowManager'a iletilecek nihai işaretler olur. Varsayılan olarak, updateAndroidWindowManagerFlags, parametrelerden hesaplanan işaretleri değiştirmeden bırakır. Bu API dikkatli bir şekilde ve yalnızca pop-up'ın çok özel davranış koşullarına sahip olduğu durumlarda kullanılmalıdır. (I6e9f9)

Sürüm 1.1.0-alpha05

29 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha05 yayınlandı. 1.1.0-alpha05 sürümü şu commit'leri içerir.

API değişiklikleri

  • Erişilebilir dokunma hedefi olmayan Material bileşenleri için minimum dokunma hedefi boyutlandırması ekler. Bu, bileşenlerin yeterince büyük bir dokunma hedefi olmasını sağlamak için etraflarına ek boşluk eklediğinden, bu bileşenlerin boyutunun görsel boyutu olduğunu varsayan ve dokunma hedefi boyutunu hesaba katmayan mevcut kullanıcı arayüzlerini değiştirebilir. Bu davranışı bir hiyerarşide devre dışı bırakmak için deneysel LocalMinimumTouchTargetEnforcement composition local'i kullanabilirsiniz. Ancak bu, yalnızca mevcut kullanıcı arayüzlerini yeni minimum boyutu hesaba katacak şekilde güncellerken geçici bir çözüm olarak tasarlanmıştır. (I9b966, b/149691127, b/171509422)
  • TextFieldColors'ı genişleterek leadingColor ve trailingColor için InteractionSource sağlayan deneysel TextFieldColorsWithIcons arayüzü eklendi. Bu, TextField'ın görünümünün odaklanma durumuna göre değiştirilmesini sağlar. (I66923, b/198402662)

Sürüm 1.1.0-alpha04

15 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha04 yayınlandı. 1.1.0-alpha04 sürümü şu commit'leri içerir.

API değişiklikleri

  • performTouchInput ve TouchInjectionScope ile değiştirilen performGesture ve GestureScope kullanımdan kaldırıldı. (Ia5f3f, b/190493367)
  • Geliştiricilerin dokunma hedeflerinin erişilebilirlik minimumlarını karşıladığından emin olabilmesi için touchBoundsInRoot'ya minimum dokunma hedefi boyutunu içeren SemanticsNode eklendi. (I2e14b, b/197751214)

Hata düzeltmeleri

  • Minimum dokunma hedefi amacıyla, kırpmanın dokunma hedefi sınırlarını kırpma bölgesinin ötesine genişletmesine izin verin. (I43e10, b/171509422)
  • Ekran yoğunluğundan bağımsız olarak tek piksellik ayırıcıların çizilmesini desteklemek için kalınlık parametresinde Divider composable'ı Dp.Hairline ile güncelledik. (I16ffb, b/196840810)

Sürüm 1.1.0-alpha03

1 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha03 yayınlandı. 1.1.0-alpha03 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Compose 1.1.0-alpha03, Kotlin 1.5.30'e bağlı olacak şekilde güncellendi. (I74545)

API değişiklikleri

  • Kırpılmış sınırları almak için test yöntemi eklendi. (I6b28e)
  • Erişilebilirliği sağlamak için anlamsal yapıda 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ı. 1.1.0-alpha02 sürümü şu commit'leri içerir.

Harici Katkı

  • Kaydırma uzaklığının bir sabitleme noktasının yuvarlama hatası içinde olduğu durumlarda SwipeableState'in davranışını düzeltin. (I03d39, b/191993377)

Sürüm 1.1.0-alpha01

4 Ağustos 2021

androidx.compose.material:material-*:1.1.0-alpha01 yayınlandı. 1.1.0-alpha01 sürümü şu commit'leri içerir.

API değişiklikleri

  • Kaynak ve hedef dikdörtgenleri kullanan, isteğe bağlı bir FilterQuality parametresini kullanan güncellenmiş DrawScope#drawImage yöntemi. Bu, piksel tabanlı sanat için büyütüldüğünde pikselli olması amaçlanan piksel sanat için kullanışlıdır. BitmapPainter + Image composable, isteğe bağlı bir FilterQuality parametresini de kullanacak şekilde güncellendi (Ie4fb0, b/180311607)
  • BadgeBox'ın adı BadgedBox olarak değiştirildi ve Badge composable'ı kabul edecek şekilde parametreler değiştirildi. BadgedBox için tipik rozet içeriği olan Badge bileşeni eklendi. (I639c6)
  • NavigationRail bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I8de77).

Hata düzeltmeleri

  • Alt kısımla hizalanmış bir NavigationRail örneği ve Katalog uygulaması demosu eklendi. (I3cffc)
  • İletişim kutuları artık platformun boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth'i false olarak ayarlayın. (Iffaed, b/192682388)
  • Katalog uygulamasına gezinme çubuğu 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ü şu commit'leri içerir.

Hata düzeltmeleri

  • Türetilmiş durum örneklerinin izlenmesi sırasında yaşanan kilitlenme sorunu düzeltildi. (aosp/1792247)

Sürüm 1.0.4

13 Ekim 2021

androidx.compose.material:material-*:1.0.4 yayınlandı. 1.0.4 sürümü şu commit'leri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.31 sürümüne bağımlı 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ü şu commit'leri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.30 sürümüne bağımlı 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ü şu commit'leri içerir.

Compose 1.0.2 sürümünü destekleyecek şekilde güncellendi. Compose 1.0.2, Kotlin 1.5.21 ile uyumluluğunu sürdürüyor.

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ü şu commit'leri 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ü şu commit'leri içerir.

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

Bu, Compose'un ilk kararlı sürümüdür. Daha fazla bilgi için lütfen resmi Compose Release blogunu inceleyin.

Bilinen Sorunlar

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

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

    Bu sorunu düzeltmek için build.gradle dosyanızda minSdkVersion'ı geçici olarak 24 veya daha yüksek bir sürüme yükseltin. Bu sorun, Android Studio Bumblebee ve AGP'nin 7.1 bir sonraki sürümünde düzeltilecektir. (b/194289155)

Sürüm 1.0.0-rc02

14 Temmuz 2021

androidx.compose.material:material-*:1.0.0-rc02 yayınlandı. 1.0.0-rc02 sürümü şu commit'leri içerir.

Hata düzeltmeleri

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

Sürüm 1.0.0-rc01

1 Temmuz 2021

androidx.compose.material:material-*:1.0.0-rc01 yayınlandı. 1.0.0-rc01 sürümü şu commit'leri içerir.

API değişiklikleri

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

Hata düzeltmeleri

  • Materyal Tasarım spesifikasyonlarına uygun olarak, geçersiz giriş içeren OutlinedTextField, etiket yer tutucu olarak kullanıldığında etiket için hata rengini kullanmayı bıraktı. İkincisi, metin alanında giriş metni olmadığında ve metin alanı ön planda olmadığında 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ürecek. (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ü şu commit'leri içerir.

API değişiklikleri

  • Kenarlığın şeklini özelleştirebilmek için OutlinedTextField'a Shape parametresi eklendi (I8f39e, b/181322957).
  • TextOverflow, satır içi sınıfa dönüştürüldü. (I433af)

Hata düzeltmeleri

  • BottomDrawer, BackdropScaffold ve ModalBottomSheetLayout'taki scrim, Color.Unspecified iletilince kayboluyor (I2d899, b/182063309)

Eklenen profil kuralları

Bu sürüm, aşağıdaki Compose 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.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Profil kuralları nedir?

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

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

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

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

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

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

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

Kurallar ne işe yarar?

  • H işaretine sahip bir yöntem, bu yöntemin "sık kullanılan" bir yöntem olduğunu ve önceden derlenmesi gerektiğini gösterir.

  • S işaretine sahip bir yöntem, başlangıçta çağrılan bir yöntem olduğunu gösterir. Başlangıçta yöntemin derlenmesi ve yorumlanması maliyetini önlemek için önceden derlenmelidir.

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

Nasıl çalışır?

  • Kitaplıklar, AAR yapıtlarında paketlenecek bu kuralları tanımlayabilir. Bu yapıtları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleştirilen kurallar, APK'ya özel kompakt bir ikili ART profili oluşturmak için kullanılır. ART, APK cihazlara yüklendiğinde bu profilden yararlanarak uygulamanın belirli bir alt kümesini önceden derleyebilir. Böylece, uygulamanın performansını (özellikle ilk çalıştırma) iyileştirebilir. Bunun, hata ayıklanabilir uygulamaları etkilemeyeceğini 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ü şu commit'leri içerir.

Yeni Özellikler

Davranışı Bozan API Değişikliği

  • DAVRANIŞI BOZAN DEĞİŞİKLİK: Kart artık tıklamaları tüketiyor. Bu nedenle, Card(Modifier.clickable) aracılığıyla eklenen tıklamalar işlem yapmıyor. Lütfen onClick'i kabul eden yeni deneysel kart aşırı yüklemesini kullanın. (Ia8744, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri (ör. belirtme, interactionSource, etkin/devre dışı) işleyen yeni bir Card overload eklendi. Kart, bu durumlarda dalgalanma göstergesini kırpmayacağından Modifier.clickable ile normal, tıklanamayan bir kart kullanılamadı.
  • DAVRANIŞI BOZAN DEĞİŞİKLİK: Surface artık tıklamaları kullanıyor. Bu nedenle, Surface(Modifier.clickable) aracılığıyla eklenen tıklamalar işlem yapmaz. Lütfen onClick'i kabul eden yeni deneysel Surface aşırı yüklemesini kullanın. (I73e6c, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri (ör. belirtme, interactionSource, etkin/devre dışı) işleyen yeni bir Surface aşırı yüklemesi eklendi. Surface, bu durumlarda dalgalanma göstergesini kırpmayacağından Modifier.clickable ile normal tıklanamayan bir Surface kullanılamadı.

API değişiklikleri

  • FabPosition Gelecekteki olası genişlemeyi desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb).
  • Yeni enum değerleri eklendiğinde kapsamlı when ifadeleriyle ilgili sorunları önlemek için enum kullanımları satır içi sınıflara yeniden düzenlendi. (I2b5eb)
  • Kaydırma veya sürükleme sırasında dalgalanma gösterilmesini önlemek için tıklanabilir/açılıp kapatılabilir öğelere dokunma zaman aşımı ekler (Ia2704, b/168524931).
  • ContentDescription ve Text anlamsal yapı özellikleri artık tek değer değil, liste olarak kullanılıyor. Bu, birleştirme yerine olduğu gibi birleştirilmelerini sağlar. 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ıldı ve Modifier.focusTarget() (I6c860) ile değiştirildi.
  • FocusState numaralandırması, FocusState arayüzüyle (Iccc1a, b/187055290) değiştirildi.
  • View destekli dalga uygulaması kararlı hale geldiğinden LocalRippleNativeRendering kaldırıldı (I7fab3, b/188569367)

Hata düzeltmeleri

  • Modifier.onGloballyPositioned(), tüm değiştiriciler uygulandıktan sonraki düzen koordinatlarını değil, değiştirici zincirindeki bu değiştiricinin koordinatlarını raporlayacak şekilde değiştirildi. Bu nedenle, artık değiştiricilerin sırası hangi koordinatların raporlanacağını etkiliyor. (Ieb67d, b/177926591)
  • Mevcut Compose Material kataloğu için bir README dosyası 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ü şu commit'leri içerir.

API değişiklikleri

  • Artık Navigation Compose'da rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor. (I22beb, b/172823546)

Sürüm 1.0.0-beta06

5 Mayıs 2021

androidx.compose.material:material-*:1.0.0-beta06 yayınlandı. 1.0.0-beta06 sürümü şu commit'leri içerir.

API değişiklikleri

  • Ripple, Android cihazlarda dahili olarak RippleDrawable kullanacak şekilde taşındı. Bu, dalgalanma animasyonlarının RenderThread'de gerçekleşeceği ve bu nedenle kullanıcı arayüzü iş parçacığı yük altındayken (ör. ekranlar arasında gezinirken) bile sorunsuz olacağı anlamına gelir. Bu değişiklik, ripple'ın API yüzeyini değiştirmez ancak bu değişiklik sonucunda davranış değişiklikleri olabilir. Taşıma işlemine yardımcı olmak için LocalRippleNativeRendering eklendi. CompositionLocalProvider içindeki önceki dalgalanma uygulamasına geri dönmek için bu CompositionLocal'e false değeri sağlayın. Bu API geçicidir ve gelecekte kaldırılacaktır. Bu nedenle, bu API'yi kullanmanıza neden olan sorunlarla karşılaşırsanız lütfen hata kaydı oluşturun. (I902f8, b/168777351, b/183019123)
  • Koleksiyonu ve öğelerini erişilebilirlik hizmetleri için işaretlemeye olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017).
  • Geçersiz giriş içeren bir düğümü işaretlemeye olanak tanıyan erişilebilirlik API'si error eklendi (I12997, b/180584804, b/182142737).

Hata düzeltmeleri

  • https://github.com/google/accompanist/pull/365 adresinden güncellenen Compose Material katalog yerleştirme uygulaması. (I25dc3)
  • Ağırlığı(fill = false) olan satır ve sütun alt öğeleri artık üst öğenin kullanılabilir ana eksen alanının tamamını doldurmasına neden olmuyor. (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ü şu commit'leri içerir.

Hata düzeltmeleri

  • Mevcut Compose Material kataloğuna bileşen kutusu 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ü şu commit'leri içerir.

API değişiklikleri

  • API DEĞİŞİKLİĞİ: DrawerState durumu artık deneysel SwipeableState'i genişletmiyor.
    • API DEĞİŞİKLİĞİ: BottomDrawerState, deneysel BottomDrawer bileşeniyle (I81114, b/181656094) eşleşmesi için artık deneysel olarak işaretleniyor.
  • hideSoftwareKeyboard ve showSoftwareKeyboard öğelerini SoftwareKeyboardController üzerinde sırasıyla hide() ve show() olarak yeniden adlandırın.
    • LocalSoftwareKeyboardController için tam CompositionLocal arayüzünü sağlayarak ayarlanmasına olanak tanır (özellikle testlerde kullanışlıdır) (I579a6)
  • LiveRegion erişilebilirlik API'si eklendi. Düğüm canlı bölge olarak işaretlenirse erişilebilirlik hizmetleri, değişiklikler hakkında kullanıcıyı otomatik olarak bilgilendirir (Idcf6f, b/172590946).

Hata düzeltmeleri

  • Compose Material kataloğunun mevcut modüle uygulanması eklendi. Şu anda eksik olanlar: bileşen kutucuğu resimleri, tema seçici (sonraki değişikliklerde 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ü şu commit'leri içerir.

API değişiklikleri

  • DefaultMonotonicFrameClock kullanımdan kaldırıldı. withFrameNanos veya Recomposer.runRecomposeAndApplyChanges ile MonotonicFrameClock olmadan yapılan aramalar artık IllegalStateException hatası verecek. (I4eb0d)
  • Sekmede simge ve satır içi metin görüntülemeyi desteklemek için yeni bir API LeadingIconTab eklendi. (I23267)

Harici Katkı

  • [Jossi Wolf tarafından] BottomDrawer artık çekmece yuvasının içeriğini sarmalıyor. BottomDrawer, üst öğenin yüksekliği sonsuz olduğunda IllegalStateException oluşturmuyor. Alt çekmece, üst öğesinin% 50'sinden küçükse artık genişletilmiş durumda açılacak. BottomDrawerState ve ModalBottomSheetLayoutState ile ilgili dokümanlar güncellendi. BottomDrawerState#isOpen, açık veya genişletilmiş durumdaysa artık true değerini döndürüyor. (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ü şu commit'leri içerir.

API değişiklikleri

  • TextField'deki önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController composition local API'si eklendi. (I5951e, b/168778053)

Hata düzeltmeleri

  • Deneysel API'lerin herkese açık kullanımına kısıtlamalar getirme (I6aa29, b/174531520)
  • TopAppBar ve BottomAppBar için varsayılan yatay hizalama, Row ile tutarlı olacak şekilde Başlangıç olarak değiştirildi (Ib2dc7).
  • Şu anda mevcut entegrasyon testi demolarına yerleştirilmiş olan bir Compose Material kataloğu için yeni bir modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
  • androidx.compose.ui:ui artık AppCompat veya Fragment'e bağlı değil. Uygulamanızda ComposeView kullanıyorsanız ve Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3+ / Fragment 1.3+ sürümlerini kullandığınızdan emin olun. Bu sürümler, ComposeView için gereken yaşam döngüsü 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ü şu commit'leri içerir.

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

API değişiklikleri

  • Boyut değiştiricilerin adı değiştirildi. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)
  • imageResource ve vectorResource artık sırasıyla ImageBitmap ve ImageVector yardımcı sınıflarında uzantı işlevleridir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
  • Boyutlandırma için doğal boyut değiştiriciler artık deneysel değildir. (I15744)
  • Kaldırılan dp onayları (I798d2)
  • Yakında yeni bir API ile değiştirilecek olan SoftwareKeyboardController geri çağırma işlevi tüm metin alanlarından kaldırıldı. (Iae869, b/168778053)
  • Switch, Checkbox ve RadioButton işlem lambdaları artık null değer atanabilir. Tıklanabilir satırdaki onay kutusu örnekleri, bu özelliği kullanacak şekilde güncellendi. (If601b, b/171819073)
  • InteractionState, [Mutable]InteractionSource ile değiştirildi.
    • Arayüzler, etkileşim etkinliklerini yayınlamaktan / toplamaktan sorumludur.
    • interactionState = remember { InteractionState() } değerini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } kullanın.
    • Interaction.Pressed in interactionState yerine InteractionSource.collectIsPressedAsState() gibi InteractionSource'taki uzantı işlevlerini kullanmanız gerekir.
    • Karmaşık kullanım alanlarında, Etkileşimler akışını gözlemlemek için InteractionSource.interactions'ı kullanabilirsiniz. Daha fazla bilgi için InteractionSource dokümanlarına ve örneklerine bakın.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • CompositionLocals'a AccessibilityMananger arayüzü ve LocalAccessibilityMananger ekleyin (I53520).
  • Kullanımdan kaldırılan LayoutCoordinates yöntemleri kaldırıldı. positionInParent 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 düşük seviyeli metin bileşenlerinden gelen giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
  • AnimationEndReason.Interrupted kaldırıldı. Animasyon kesintiye uğrarsa CancellationException oluşturulur. (I2cbbc, b/179695417)
  • @ExperimentalRippleApi kaldırıldı ve RippleAlpha, arayüz yerine özelliklere sahip bir sınıf olacak şekilde değiştirildi. (I6df7c)
  • TextField ve OutlinedTextField'da farklı durumlarda kullanılan farklı renkleri temsil etmek için TextFieldColors arayüzü eklendi. Varsayılan uygulama için TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors'a bakın.
    • TextField ve OutlinedTextField içindeki isErrorValue parametresi isError olarak yeniden adlandırıldı. (I831f9, b/171305338, b/168004067)
  • Sekme veya radyo düğmesi koleksiyonunun erişilebilirlik amacıyla işaretlenmesine olanak tanıyan selectionGroup değiştiricisini ekleyin (Ie5c29).
  • LazyListState.animateScrollToItem işlevini ekleyin

    Bu yöntem, listedeki belirli bir öğeye sorunsuz bir şekilde kaydırma işlemi yapar. (I4bfd7)

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

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

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

  • Modifier.verticalScroll()/horizontalScroll() içindeki kaydırma konumu artık Ints ile temsil ediliyor (I81298).

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

  • FlingConfig'in adı FlingBehavior olarak değiştirildi. Artık önceden tanımlanmış Decay'ler yerine askıya alma animasyonunun özelleştirilmesine olanak tanıyor. (I02b86, b/175294473)

  • Boyut değiştiricilerin adı değiştirildi. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)

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

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

  • drawerState.open() ve drawerState.close() artık işlevleri askıya alıyor. Bunları çağırmak için kompozisyonun kapsamını almak üzere rememberCoroutineScope() işlevini kullanın (I16f60, b/175294473).

  • Providers, CompositionLocalProvider olarak yeniden adlandırıldı.

    • Composition oluşturucusu artık anahtar parametresini kabul etmiyor ve kullanımdan kaldırıldı.
    • currentCompositeKeyHash, composable üst düzey işlev yerine composable üst düzey özelliğe dönüştürüldü.
    • CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı.
    • ComposableLambda, somut bir sınıf yerine arayüz haline getirildi ve artık tür parametreleri yok.
    • ComposableLambdaN, somut bir sınıf yerine arayüz haline getirildi ve artık tür parametreleri yok.
    • snapshotFlow işlevi, androidx.compose.runtime ad alanına taşındı
    • SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değildir.
    • @TestOnly üst düzey clearRoots işlevi kaldırıldı. Artık gerekli değildir.
    • keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Artık gerekli değildir.
    • Composer.collectKeySourceInformation kaldırıldı. Artık gerekli değildir.
    • isJoinedKey, joinedKeyLeft ve joinedKeyRight yöntemleri kaldırıldı. Artık gerekli değildir.
    • Çeşitli üst düzey API'ler farklı dosyalara taşındı ve yeniden düzenlendi. Kotlin'in dosya sınıfı semantiği nedeniyle bu değişiklik, ikili uyumluluğu bozacak ancak kaynak uyumluluğunu bozmayacak. Bu nedenle, çoğu kullanıcı için sorun teşkil etmeyecek.
    • (I99b7d, b/177245490)
  • Modifier.scrollable yeniden düzenlendi. Artık ScrollableController sınıfı yerine Scrollable arayüzü kullanılıyor (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable artık basit bir lambda yerine DraggableState'i kabul ediyor. rememberDraggableState { delta -> } ile durum oluşturarak öncekiyle aynı davranışı elde edebilirsiniz (Ica70f, b/175294473).

  • ZoomableController.smoothScaleBy ve ZoomableController.stopAnimation artık askıya alma işlevleridir. (I7f970, b/177457083)

  • Daha önce desteği sonlandırılan bazı API'ler silindi (Ice5da, b/178633932).

  • Material API'de aşağıdaki değişiklikler yapıldı:

    • Varsayılan dolguyu özelleştirmeye olanak tanımak için Top/BottomAppBar'a contentPadding parametresi eklendi.
    • Gerekli parametrelerin isteğe bağlı parametrelerden önce gelmesiyle ilgili API yönergelerine uymak için BackdropScaffold'daki parametreler yeniden sıralandı.
    • BottomNavigationItem'daki icon parametresi, selected ve onClick sonrasına taşındı.
    • BottomNavigationItem'daki alwaysShowLabels parametresi alwaysShowLabel olarak yeniden adlandırıldı.
    • Birkaç bileşendeki bodyContent parametreleri content olarak yeniden adlandırıldı.
    • ButtonDefaults.buttonColors() içindeki parametreler yeniden sıralandı. Parametrelerin türü değişmediğinden bu durumun kodunuzda hataya neden olmayacağını lütfen unutmayın. Kodunuzun daha önce olduğu gibi çalışmaya devam etmesi için lütfen adlandırılmış parametreler kullandığınızdan veya sıralamayı manuel olarak güncellediğinizden emin olun.
    • secondaryVariant parametresi darkColors() öğesine eklendi. Bu renk genellikle koyu temadaki secondary ile aynıdır ancak tutarlılık ve daha fazla özelleştirme için eklenmiştir.
    • Yaygın olarak kullanılmadıkları / faydalı olmadıkları için ElevationDefaults ve animateElevation() işlevleri herkese açık API yüzeyinden kaldırıldı.
    • Slider içindeki onValueChangeEnd, onValueChangeFinished olarak yeniden adlandırıldı ve boş değer atanabilir hale getirildi.
    • Tutarlılık için Snackbar içindeki text parametresinin adı content olarak değiştirildi.
    • Varsayılan dolguyu özelleştirmeye olanak tanımak için DropdownMenuItem öğesine contentPadding parametresi eklendi ve content, RowScope öğesinin uzantısı haline getirildi.
    • ModalDrawerLayout, ModalDrawer olarak yeniden adlandırıldı.
    • BottomDrawerLayout, BottomDrawer olarak yeniden adlandırıldı.
    • (I1cc66)
  • BasicTextField artık daha iyi özelleştirme için Color yerine Brush'ı kabul ediyor (I83a36)

  • imageResource ve vectorResource artık sırasıyla ImageBitmap ve ImageVector yardımcı sınıflarında uzantı işlevleridir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)

  • Indication#createIndication() işlevi Indication#rememberUpdatedIndication(InteractionState) olarak değiştirildi ve IndicationInstance#drawIndication() işlevinden InteractionState parametresi kaldırıldı. IndicationInstance yalnızca görsel efektleri çizmekten sorumludur ve InteractionState değişikliklerine yanıt olarak animasyon başlatmaktan / durum yazmaktan sorumlu değildir. Bu animasyonlar ve durum yazma işlemleri bunun yerine rememberUpdatedIndication() içinde gerçekleşmelidir. Modifier.indication içindeki indication parametresi de zorunlu parametre olarak değiştirildi. (Ic1764, b/152525426)

Hata düzeltmeleri

  • TextField'deki önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController kompozisyon yereli 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ü şu commit'leri içerir.

API değişiklikleri

  • Modifier.pointerInput artık işaretçi girişi algılama eş yordamının yeni bağımlılıklar için ne zaman yeniden başlatılması gerektiğini belirtmek üzere remember anahtarları gerektiriyor. (I849cd)
  • BottomDrawerLayout ve ListItem, @ExperimentalMaterialApi olarak işaretlendi (Id766e).
  • PaddingValues.Absolute eklendi ve PaddingValues'u kabul eden API'lerde kullanılabilir. (Ia5f30)
  • onImeActionPerformed kullanımdan kaldırıldı. Bunun yerine KeyboardActions'ı kullanın (If0bbd, b/179071523)
  • Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek için ImagePainter, VectorPainter ile paralel olacak şekilde BitmapPainter olarak yeniden adlandırıldı. (Iba381, b/174565889)
  • Animatable.snapTo ve Animatable.stop artık askıya alma işlevleridir (If4288).
  • ComponentActivity.setContent, androidx.activity:activity-compose modülünde androidx.activity.compose.setContent'e taşındı. (Icf416)
  • Nadiren kullanıldıkları için bazı sınıflardan yapı bozma ve copy() yöntemleri kaldırıldı. (I26702, b/178659281)
  • ModalBottomSheetState'teki halfExpand() ve expand() işlevlerini dahili hale getirin (Ic914e).
  • Changed Indication#createInstance to be @Composable, and changed LocalIndication to contain an Indication, not () -> Indication. (I5eeea, b/157150564)
  • AlertDialog ve DropdownMenu, şu an için yalnızca Android'de kullanılabilir. Temel alınan pop-up'ın daha fazla yapılandırılması için DropdownMenu'ye PopupProperties parametresi eklendi. (I9c443)
  • loadFontResource desteği sonlandırıldı. Bunun yerine fontResource'u kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource işlevlerinin desteği sonlandırıldı. Bunun yerine painterResource kullanın. (I6b809)
  • Açılır menüden toggle ve toggleModifier parametreleri kaldırıldı. dropdownModifier, dropdownOffset ve dropdownContent parametrelerinin adları sırasıyla modifier, offset ve content olarak değiştirildi. DropdownMenu artık Popup ile tutarlı bir şekilde çalışıyor. Menünün konumu için üst yerleşim kullanılıyor. Çoğu durumda toggle öğesini DropdownMenu öğesinin kardeşi olacak şekilde taşıyabilir ve her ikisini de Box öğesine sarabilirsiniz. Bu API'nin kullanımı hakkında daha fazla bilgi için dokümanlardaki güncellenmiş örneğe bakın. (I884fb)
  • toIntPx() işlevinin adı roundToPx() olarak değiştirildi. (I9b7e4, b/173502290)
  • IntBounds, IntRect olarak yeniden adlandırıldı ve API geliştirildi. (I1f6ff)
  • Genişletme ve daraltma semantik işlemleri eklendi. ModalBottomSheetState'e expand ve halfExpand eklendi (Ib5064)
  • Modifier.dragGestureFilter desteği sonlandırıldı. Bunun yerine Modifier.pointerInput { detectDragGestures (...)} kullanın. Alternatif olarak, tek eksenli sürüklemeler için Modifier.draggable'ı kullanın (I0ba93, b/175294473)
  • Ambients, Ambient -> CompositionLocal yeniden adlandırmasıyla eşleşecek şekilde yeniden adlandırıldı. Ambients, AmbientFoo olarak adlandırılırdı. Artık CompositionLocals, LocalFoo olarak adlandırılıyor. (I2d55d)
  • Seçim, temel katmana taşındı. (I7892b)
  • Daha önce state { 0 } composable'ı kaldırıp remember { mutableStateOf(0) } gibi kullanımları teşvik ettiğimiz gibi, savedInstanceState { 0 } composable'ı da kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmalısınız. MutableState içinde kullanılan tür Bundle'da depolanabiliyorsa bu tür otomatik olarak kaydedilir ve geri yüklenir. Daha önce özel bir kaydedici nesne iletiyorsanız artık stateSaver parametresine sahip yeni bir rememberSaveable aşırı yüklemesi kullanmanız gerekir. Kullanım şu şekilde 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, üç daha spesifik ek açıklama lehine kullanımdan kaldırıldı.

    • @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ının artık olumlu bir performans etkisi veya değeri olmadığından desteği sonlandırıldı (I0484d).

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

  • Saver, listSaver(), mapSaver(), autoSaver, androidx.compose.runtime.savedinstancestate'ten androidx.compose.runtime.saveable'a taşındı (I77fe6).

  • RounderCornerShape, CutCornerShape ve CornerBasedShape üzerindeki parametreler, şeklin sağdan sola yönünde otomatik olarak yansıtılmasını desteklemek için soldan/sağdan başlayarak/biterek olarak yeniden adlandırıldı. Otomatik yansıtmanın istenmediği durumlarda AbsoluteRounderCornerShape ve AbsoluteCutCornerShape kullanıma sunuldu. (I61040, b/152756983)

  • Bileşenin boyutunu ve düzenini etkilediğinden, bu parametreler sağlandığında / sağlanmadığında bileşenin davranışını daha iyi aktarmak için Tab'in text ve icon parametreleri ile BottomNavigationItem'ın label parametresi null değer atanabilir olacak şekilde değiştirildi. Şu anda metin / simge / etiket olmadığını belirtmek için emptyContent() değerini iletiyorsanız bunun yerine null değerini kullanmanız gerekir. (I57ed4)

  • Renamed contentColorFor color parameter to backgroundColor (I5bb67)

  • TabDefaults desteği sonlandı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. ColorFilter API, arayüz olacak ve PathEffect'in uygulanmasıyla eşleşecek şekilde yeniden düzenlendi. (Ica1e8)

  • AnimatedValue/Float desteği sonlandırıldı. Lütfen bunun yerine Animatable'ı kullanın. (I71345, b/177457083)

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

  • Sekme ve BottomNavigationItem'a, tıklanabilir olmalarını önlemek için etkin parametreler eklendi. API'sindeki düzen şartlarını daha iyi ifade etmek için BottomNavigationItem, RowScope.BottomNavigationItem olarak değiştirildi. (Id683d)

  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter ve pressIndicaitonGestureFilter desteği sonlandırıldı. Bunun yerine Modifier.clickable veya Modifier.pointerInput ile detectTapGestures işlevini kullanın. (I6baf9, b/175294473)

  • Şeklin createOutline işlevine layoutDirection parametresini ekleyin. Bu sayede, düzen yönüne duyarlı şekiller oluşturabilirsiniz. (I57c20, b/152756983)

  • Recomposer.current() kaldırıldı. [Özet]ComposeView artık varsayılan olarak pencere için ViewTreeLifecycleOwner tarafından yönlendirilen, pencere kapsamlı ve geç oluşturulan Recomposer'ları kullanıyor. Ana makine yaşam döngüsü durdurulduğunda yeniden oluşturma ve withFrameNanos tabanlı animasyon işaretleri duraklatılır. (I38e11)

Hata düzeltmeleri

  • Simge artık kendisine uygulanan boyut değiştiricilere uyarak boyutuna göre ölçeklendirilecek. Örneğin, Icon(.., modifier = Modifier.size(50.dp) artık 50x50 dp alanında çizilecek. (Ib2ba9, b/178796190)

Sürüm 1.0.0-alpha11

28 Ocak 2021

androidx.compose.material:material-*:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü şu commit'leri içerir.

API değişiklikleri

  • Bazı Material API'lerinin artık @Experimental olmaması sağlanır (I5d20e).
  • Resim ve simgeye içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine açıklama sağlamak için kullanılır (I2ac4c).
  • Material'ın durum bilgisi olan parametre arayüzlerini, State<T> döndüren @Composable işlevlere dönüştürür. Animatable'ı State'e dönüştürmeyi kolaylaştırmak için Animatable.asState() ekler. Ayrıca, animateElevation'ı Animatable üzerinde askıya alma uzantısı olarak değiştirir. (If613c)
  • Snackbar, SnackbarHost ve SnackbarHostState artık @ExperimentalMaterialAPI değil (Id1fb5)
  • Typography, Shapes ve TabPosition'ın artık veri sınıfları olmaması için değişiklikler yapıldı. Oluşturulanları değiştirmek için Tipografi ve Şekiller'e kopyalama işlevi ekler. (I40037)
  • Daha önce desteği sonlandırılan bazı Material API'leri silindi (Ifaa25).

Hata düzeltmeleri

  • onCommit, onDispose ve onActive, SideEffect ve DisposableEffect API'leri lehine desteği sonlandırıldı (If760e).
  • TransitionDefinition tabanlı geçiş kullanımdan kaldırıldı (I0ac57)
  • updateTransition'daki Initial State artık destekleniyor (Ifd51d)
  • WithConstraints, BoxWithConstraints olarak yeniden düzenlendi ve foundation.layout'a taşındı. (I9420b, b/173387208)
  • Askıya alınmayan scrollBy işlevinin desteğini sonlandırma, askıya alınmayan scrollTo işlevini kaldırma

    Artık kaydırmayı kontrol etmek ve kaydırmanın tamamlanmasını beklemek için askıya alma işlevlerini kullanmanızı öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alma dışı sürümlerinin desteğini sonlandırıyoruz ve/veya bu sürümleri kaldırıyoruz. (Ie9ced)

  • Askıya alınmayan smoothScrollBy işlevinin desteği sonlandırıldı Artık kaydırmayı kontrol etmek ve kaydırmanın tamamlanmasını beklemek için askıya alma işlevlerinin kullanılmasını öneriyoruz. Bu geçiş kapsamında, bu işlevlerin askıya alma içermeyen sürümlerinin desteğini sonlandırıyoruz. (I12880)

  • ComposeContentTestRule eklendi. Bu parametre, ComposeTestRule öğesini genişletir ve ComposeTestRule öğesinden kaldırılan setContent öğesini tanımlar. createEmptyComposeRule() döndüren ve sizin için bir Etkinlik başlatmayan bir fabrika yöntemi ComposeTestRule eklendi. Testiniz sırasında etkinliğinizi başlatmak istediğinizde bu yöntemi kullanın. Örneğin, ActivityScenario.launch (I9d782, b/174472899) kullanma

  • Button ve FloatingActionButton'da kullanılan dalgalanma artık AmbientIndication üzerinden yeni bir Indication sağlanarak özelleştirilemez. Bu, hiçbir zaman bu bileşenleri özelleştirmenin bir yolu olarak tasarlanmamıştı ve artık bu bileşenler diğer Material bileşenleriyle tutarlı hale geliyor. Bir uygulamada dalgalanmaları özelleştirmek için RippleTheme'e bakın. (I546c5)

  • animateAsState artık animateFooAsState olarak adlandırılıyor. Burada Foo, animasyon uygulanan değişkenin türünü (ör. Float, Dp, Offset vb.) ifade ediyor (Ie7e25).

  • BasicTextField, decorationBox adlı yeni bir parametre aldı. Simgeler, yer tutucular, etiketler gibi süslemelerin metin alanına eklenmesine ve hedef alanının genişletilmesine olanak tanır. (I16996)

  • Materyal metin alanının genişliğinin 280 dp'den daha az olarak ayarlanamamasına neden olan hata düzeltildi (I78373).

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

  • displaySize, kaçınılması gereken bir parametre olduğundan kaldırın. Genellikle en azından onRoot() veya pencere boyutunu kullanmak daha iyidir. (I62db4)

  • Surface artık birden fazla düzen alt öğesine sahip olabilir. (I66a92, b/144488459)

  • invalidate ve compositionReference() işlevlerinin desteği, sırasıyla currentRecomposeScope ve rememberCompositionReference işlevleri lehine sonlandırıldı. (I583a8)

  • PopupPositionProvider, genel koordinatlar yerine pencereye göre koordinatlar kullanacak şekilde değiştirildi. parentGlobalBounds'u anchorBounds olarak yeniden adlandırır ve windowGlobalBounds'u windowSize: IntSize olarak değiştirir (I2994a).

  • Süre ve Çalışma Süresi, uzun milisaniye ile değiştirilecek ve bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını kaldıracak. (Ia33b2, b/175142755, b/177420019)

  • FlingConfig'i kabul eden AnimatedFloat.fling kaldırıldı. Lütfen bunun yerine suspend Animatable.animateDecay kullanın. (I4659b, b/177457083)

  • Tıklanabilir, açılıp kapatılabilir ve seçilebilir öğeler artık kompozisyon dışında oluşturulabilir (I0a130, b/172938345, b/175294473).

  • Yumuşak geçiş, işlevsel bir arayüzle (Ib14e5) değiştirildi.

  • ScrollableColumn/Row desteği sonlandırıldı. Kaydırılabilir içeriklerin çok olduğu durumlarda ScrollableColumn kullanmak LazyColumn'a kıyasla daha az verimlidir. Çünkü LazyColumn ile yalnızca görünür öğeleri oluşturabilir/ölçebilir/çizebiliriz. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunun yerine LazyColumn ve LazyRow'un kullanımını teşvik etmeye karar verdik. Kullanıcılar, yine de lazy davranışına 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 manuel olarak içe aktarılmaları gerekir. Diziler için yeni uzantı aşırı yüklemeleri: items(items: Array) ve itemsIndexed(Array) (I803fc, b/175562574)

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

  • Genel koordinat yöntemlerinin desteği sonlandırıldı ve yeni pencere tabanlı koordinat yöntemleri oluşturuldu. (Iee284)

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

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

  • SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı. stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. AccessibilityScrollState, ScrollAxisRange olarak yeniden adlandırıldı. horizontalAccessibilityScrollState, horizontalScrollAxisRange olarak yeniden adlandırıldı. verticalAccessibilityScrollState, verticalScrollAxisRange olarak yeniden adlandırıldı. (Id3148)

  • Testlerde TestCoroutineDispatcher'dan yararlanma (I532b6)

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

Sürüm 1.0.0-alpha10

13 Ocak 2021

androidx.compose.material:material-*:1.0.0-alpha10 yayınlandı. 1.0.0-alpha10 sürümü şu commit'leri içerir.

API değişiklikleri

  • Bileşen parçaları ve matematiksel işlemler içerecek şekilde Velocity değiştirildi. (Ib0447)
  • Benzer deneysel API ek açıklamalarıyla (Ia4502, b/171464963) tutarlı olması için @ExperimentalTesting, @ExperimentalTestApi olarak yeniden adlandırıldı.
  • Konum, DpOffset olarak yeniden adlandırıldı ve getDistance() kaldırıldı (Ib2dfd)
  • Color.useOrElse() işlevinin adı Color.takeOrElse() olarak değiştirildi (Ifdcf5)
  • Toggle'ı foundation Strings.kt dosyasına ekleyin (I4a5b7, b/172366489).
  • FlowRow ve FlowColumn'un desteği sonlandı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() kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
  • nativeClass, ui modülüne taşındı ve dahili hale getirildi. equals uygulamalarındaki nativeClass kullanımları, bunun yerine "is MyClass" kullanacak şekilde güncellendi. (I4f734)

Hata düzeltmeleri

  • Devre dışı bırakılmış ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
  • animate() artık animateAsState() ile değiştirildi. Bu işlev, T yerine State<T> döndürür. Bu sayede, geçersiz kılma kapsamı State değerinin okunduğu yerle sınırlandırılabildiğinden daha iyi performans elde edilir. (Ib179e)
  • Semantics role API'yi ekleyin ve Role'ü tıklanabilir, seçilebilir ve açılıp kapatılabilir SemanticsModifier'a parametre olarak ekleyin. Slider'ın da kullanabilmesi için Modifier.progressSemantics değiştirildi. (I216cd)

Sürüm 1.0.0-alpha09

16 Aralık 2020

androidx.compose.material:material-*:1.0.0-alpha09 yayınlandı. 1.0.0-alpha09 sürümü şu commit'leri içerir.

API değişiklikleri

  • Settle animasyonunu manuel olarak tetiklemek ve Modifier.swipeable'da sürüklemek için API eklendi (Iaa17a, b/162408885).
  • ButtonConstants gibi *Constants nesnelerinin adları, ButtonDefaults gibi Defaults ile bitecek şekilde değiştirildi. Ayrıca, bu yeni nesnelerdeki özelliklerden gereksiz default öneklerini de kaldırır. (Ibb915, b/159982740)
  • Compose, composable çağrıları yapabilen mülk getter'larını destekler. Bu destek kaldırılmayacak ancak bir mülk alıcısının @Composable olarak bildirilmesiyle ilgili söz dizimi değişecek.

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

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

    Bunu yapmak için artık doğru olan söz dizimi, özelliğin alıcısını açıklama olarak eklemektir:

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

    Her iki söz dizimi de bir süre çalışmaya devam edecek ancak desteği sonlandırılan eski söz dizimi sonunda derleme hatasına neden olacak. (Id9197)

  • Material kitaplığının geri kalanına ihtiyaç duymadan etkileşimli bileşenler oluşturmaya olanak tanıyan ripple API'lerini içeren androidx.compose.material:material-ripple kitaplığı eklendi. rememberRippleIndication kullanımdan kaldırıldı ve rememberRipple ile değiştirildi. (Ibdf11)

Hata düzeltmeleri

  • Ofset değiştiricilerdeki lambda'lar artık Float yerine IntOffset döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • Çizim ortamının boyutlandırma bilgileri kullanılabilir olduğunda gölgelendirici örneğini geç oluşturmak için ShaderBrush yeniden düzenlendi. Bu, özel DrawModifier uygulamaları kullanmak zorunda kalmadan, kompozisyon sırasında bir composable'ın tam çizim sınırlarını kaplayan gradyanlar tanımlamak için kullanışlıdır.

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

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

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed kullanımdan kaldırıldı. Bunun yerine LazyColumn ve LazyRow kullanın (I5b48c)

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

  • Otomatik Doldurma API'si artık deneysel bir API ve etkinleştirme gerektiriyor (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 oluşturmak için yeni infiniteRepeatable işlevi (I668e5)

  • Açılır menülerin konumlandırma davranışı, Materyal spesifikasyonuna göre biraz değiştirildi. (I34c72, b/168594123)

  • TextField'lar için InteractionState desteği eklendi. (I61d91)

  • Alt öğelerin semantiğini temizlemek ve yeni semantikler ayarlamak için Modifier.clearAndSetSemantics eklendi. (I277ca)

  • ContentDrawScope, DrawScope ile birlikte olması için ui-graphics modülüne taşındı. (Iee043, b/173832789)

Sürüm 1.0.0-alpha08

2 Aralık 2020

androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ve androidx.compose.material:material-icons-extended:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü şu commit'leri içerir.

API değişiklikleri

  • MaterialTheme artık seçim tutma yerleri ve seçim arka planı için doğru renkleri ayarlıyor. Materyal olmayan uygulamalar, seçim için kullanılan renkleri özelleştirmek üzere AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
  • Compose yönergeleriyle tutarlılığı kontrol etmek için composable lambda parametre adlandırma ve konumuna yönelik lint kontrolü eklendi. Ayrıca, lint kontrolü ve yönergelere göre, sondaki lambda'ları için ad olarak children kullanan bazı API'leri content olarak değiştirdik. (Iec48e)
  • VectorAsset, ImageVector olarak yeniden adlandırıldı. VectorAsset, API Konseyi yönergelerine uygun olarak ImageVector'ın iç sınıfı olacak şekilde Builder olarak taşındı ve yeniden adlandırıldı. Uyumluluk için VectorAssetBuilder'ın ImageVector.Builder'a bağlantı oluşturacak typealias'ı eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
  • Temel anlamsal yapı özellikleri kullanıcı arayüzüne taşındı (I6f05c).
  • fun RippleIndication() desteği sonlandırıldı ve diğer API'lerle tutarlılık sağlamak için rememberRippleIndication() ile değiştirildi. (Id8e2c)
  • BasicTextField, TextField ve OutlinedTextField'a singleLine parametresi eklendi. Metin alanının yatay olarak kaydırılabilen tek bir satır olması için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)

Hata düzeltmeleri

  • Anlamsal yapı eylemi olan Kapat'ı ekleme (I2b706)
  • DrawModifier API'leri androidx.compose.ui paketinden androidx.compose.ui.draw paketine taşındı. Desteği sonlandırılmış API'lerden mevcut API'lere geçişe yardımcı olmak için tür takma adları/yardımcı yöntemleri içeren DrawModifierDeprecated.kt dosyasını oluşturdu. (Id6044, b/173834241)
  • Modifier.drawLayer, Modifier.graphicsLayer olarak yeniden adlandırıldı. Ayrıca, API geri bildirimine göre ilgili sınıflar GraphicsLayer olarak güncellendi. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout bildiriminden kaldırıldı. Artık tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • drawLayer için kolaylık olarak Modifier.scale/rotate API'leri eklendi.
    • Modifier.drawOpacity, Modifier.alpha olarak yeniden adlandırıldı
    • Modifier.drawShadow, Modifier.shadow olarak yeniden adlandırıldı (I264ca, b/173208140)
  • Kutu'nun hizalama parametresi contentAlignment olarak yeniden adlandırıldı. (I2c957)
  • offsetPx değiştiricilerinin adı offset olarak değiştirildi. Artık State yerine lambda parametreleri alıyorlar. (Ic3021, b/173594846)
  • SweepGradientShader ve SweepGradientBrush API'leri kullanıma sunuldu. (Ia22c1)
  • Composable işlevlerindeki Modifier parametreleri için lint denetimi eklendi. Bu lint kontrolü, Compose yönergeleriyle tutarlılık için parametrenin adlandırmasını, dönüş türünü, varsayılan değerini 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 oluşturuldu (I4a675, b/172239032)
  • Yeni bir Modifier.drawLayer() aşırı yüklemesi eklendi. Durum değişikliği gerçekleştiğinde yeniden oluşturma ve yeniden düzenleme işlemlerinin atlanmasına olanak tanıyan bir şekilde katman parametrelerini tanımladığınız yeni bir GraphicsLayerScope üzerinde lambda bloğu alır. DrawLayerModifier, mantığını LayoutModifier'ın placeable.placeWithLayer() yöntemine taşımaya hazırlanmak için artık dahili olarak kullanılıyor (I15e9f, b/173030831).
  • Son eklerinde Ambient bulunan, desteği sonlandırılmış Ambients'ları diğer Ambients ve Compose API yönergelerine uygun şekilde Ambient önekiyle başlayan yeni özelliklerle değiştirdik. (I33440)
  • Değiştirici fabrikalarının @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullandığını kontrol etmek için lint kontrolü eklendi. (I3c4bc)
  • Semantics bağımsız değişkeni mergeAllDescendants, mergeDescendants olarak yeniden adlandırıldı. (Ib6250)
  • Testlerdeki zaman kontrolü (TestAnimationClock ve kullanımları) artık deneyseldir (I6ef86, b/171378521).
  • Eski ui-test modülünü ve saplarını kaldırma (I3a7cb)
  • TextUnit.Inherit, diğer birimlerle tutarlılık sağlamak için TextUnit.Unspecified olarak yeniden adlandırıldı. (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ü şu commit'leri içerir.

API değişiklikleri

  • Emphasis'in desteği sonlandırıldı ve yerine AmbientContentAlpha getirildi. AmbientContentAlpha, hiyerarşinin bir bölümü için tercih edilen içerik alfa değerini temsil eden daha basit bir soyutlamadır. AmbientContentColor, tercih edilen içerik rengini temsil etmeye benzer. Metin ve simge artık varsayılan olarak AmbientContentAlpha'dan geçerli değeri kullanıyor. Bileşenlerinizde aynı efekti elde etmek için color.copy(alpha = AmbientContentAlpha.current) işlemini manuel olarak yapabilirsiniz. ProvideEmphasis'i kullanmak yerine AmbientContentAlpha üzerinden 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 yerine androidx.compose.material.AmbientContentColor ekleniyor (I84f7b, b/172067770)
  • Yüksek düzeyde, temalandırılabilir bir Text bileşeni olarak androidx.compose.foundation.Text yerine androidx.compose.material.Text eklenir. Temadan renk / metin stili kullanmayan temel bir metin bileşeni için BasicText'i kullanın. (Ie6ae0)
  • TextField'lara maxLines özelliği eklendi (Ib2a5b)
  • TextField'ları KeyboardOptions'ı kabul edecek şekilde güncelleme (Ida7f3)
  • Surface artık yükseklik katmanlarını hesaplarken mutlak (toplam) yüksekliği kullanıyor. Bu nedenle, başka bir Surface'e yerleştirilmiş bir Surface, katmanı çizmek için birleşik yüksekliği kullanır. (I7bd2b, b/171031040)

Hata düzeltmeleri

  • captureToBitmap, captureToImage adresine taşındı. (I86385)
  • Temel AmbientTextStyle, ProvideTextStyle ve AmbientContentColor işlevlerinin desteği sonlandırıldı. Bunun yerine, Material kitaplığında bulunan yeni sürümleri kullanın. Material olmayan uygulamalar için bunun yerine kendi bileşenlerinizde kullanılabilen, temalandırmaya özel kendi tasarım sisteminizi oluşturmanız gerekir. (I74acc, b/172067770)
  • foundation.Text desteği sonlandırıldı ve yerine material.Text kullanıma sunuldu. Bir temadan değer kullanmayan temel ve tarafsız bir metin API'si için androidx.compose.foundation.BasicText'e bakın. (If64cb)
  • KeyboardOptions'ı ImeOptions olarak yeniden adlandırın (I82f36)
  • KeyboardType ve ImeAction, KeyboardOptions'a taşındı (I910ce)
  • BaseTextField kullanımdan kaldırıldı. Bunun yerine BasicTextField kullanın. (I896eb)
  • ExperimentalSubcomposeLayoutApi notu kaldırıldı. SubcomposeLayout artık @OptIn eklenmeden kullanılabilir (I708ad).
  • FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine taşındı (Ied2e7).
  • Icon API, ColorFilter olmadan sağlanan öğeyi veya boyayı çizecek olası bir renk tonu rengi olarak Color.Unspecified'ı alacak şekilde güncellendi. Daha önce, Color.Unspecified ile renklendirmeyi yoksayma girişimleri, şeffaf bir renkle renklendirmeye ve hiçbir şeyin oluşturulmamasına neden oluyordu. (I049e2, b/171624632)
  • relativePaddingFrom, paddingFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin taban çizgilerine olan mesafeleri belirtme kolaylığı için paddingFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
  • LaunchedTask, SideEffect ve DisposableEffect API'leriyle tutarlılık sağlamak için LaunchedEffect olarak yeniden adlandırıldı. En iyi uygulamaları teşvik etmek için LaunchedEffect'in konu parametreleri olmadan kullanılmasına izin verilmez. (Ifd3d4)
  • MeasureResult, MeasureScope'un dışına taşındı. (Ibf96d, b/171184002)
  • Düzenle ilgili çeşitli semboller androidx.compose.ui'den androidx.compose.layout.ui'ye taşındı. (I0fa98, b/170475424)

Sürüm 1.0.0-alpha06

28 Ekim 2020

androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 ve androidx.compose.material:material-icons-extended:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.

API değişiklikleri

  • androidx.compose.foundation.Icon, androidx.compose.material.Icon'a taşındı. Material kitaplığını kullanmak istemiyorsanız Painter ile birlikte Image bileşenini / Modifier.paint() işlevini 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).
  • Farklı durumlarda bir Switch tarafından kullanılan renkleri temsil etmek için SwitchColors arayüzünü ekler. Bu renkleri özelleştirmek için SwitchConstants.defaultColors'a bakın. (I93805)
  • Farklı durumlardaki düğmeler tarafından kullanılan yüksekliği ve renkleri temsil etmek için ButtonElevation ve ButtonColors arayüzlerini ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevlere bakın. (Ic5b7b)
  • RadioButtonColors arayüzünü, bir RadioButton tarafından farklı durumlarda kullanılan renkleri temsil etmek için ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() yöntemine bakın. (I74130)
  • Farklı durumlarda bir onay kutusu tarafından kullanılan renkleri temsil etmek için CheckboxColors arayüzünü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için CheckboxConstants.defaultColors() yöntemine bakın. (I7dbdb)

Hata düzeltmeleri

  • Material bileşenleri artık yüksekliği zIndex olarak ayarlamıyor. Bu nedenle, aynı üst öğe içinde daha büyük gölge boyutuna sahip alt öğe, daha küçük gölge boyutuna sahip alt öğenin üzerine otomatik olarak çizilmez. Bu davranışa hâlâ ihtiyacınız varsa lütfen gerektiğinde Modifier.zIndex() işlevini manuel olarak ayarlayın (I70417, b/170623932).
  • VectorPainter'ı, composable API'nin kompozisyonlar arasında verileri kalıcı hale getirmek için dahili olarak "remember"dan yararlandığını daha iyi belirtmek amacıyla rememberVectorPainter lehine kullanımdan kaldırın. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştirin; yanıp sönen imleci etkinleştirme seçeneğini ComposeTestRule'dan kaldırın. (If0de3)
  • CoreTextField'e tek satırlık klavye seçeneği eklendi (I72e6d)
  • Radius API'nin adı, Compose'da nasıl kullanıldığını daha iyi ifade etmek için CornerRadius olarak değiştirildi. Negatif köşe yarıçaplarının sıfıra sabitlendiğini belirten doküman güncellendi. (I130c7, b/168762961)
  • DrawScope ve ContentDrawScope, soyut sınıflar yerine arayüzler olacak şekilde yeniden düzenlendi.
    • DrawScope'un CanvasDrawScope uygulamasını oluşturdu
    • DrawScope'un uygulamaları, CanvasScope kullanacak şekilde yeniden düzenlendi.
    • DrawScope için bağımlılıkları sarmalamak üzere DrawContext oluşturuldu.
    • DrawScope'ta desteği sonlandırılan yöntemler kaldırıldı (I56f5e)
  • Box, satır içi işlev haline getirildi. (Ibce0c, b/155056091)

Sürüm 1.0.0-alpha05

14 Ekim 2020

androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 ve androidx.compose.material:material-icons-extended:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü şu commit'leri içerir.

API değişiklikleri

  • Pop-up'lar ve iletişim kutuları artık üst pencereden FLAG_SECURE'u devralıyor. Bunu açıkça yapılandırma seçeneği de eklendi (I64966, b/143778148, b/143778149).
  • Modifier.swipeable artık varsayılan olarak durumlar için 56 dp eşiğine sahip (Iab825, b/168610267)
  • Tüm iskele durumları @Stable olarak işaretlendi. ScaffoldState'teki drawerGesturesEnabled, Scaffold'a taşındı. (I36645, b/168297016)
  • İzin verilebilir türü Scaffold lambda parametrelerinden kaldırır. Belirli bir parametre için içerik olmadığını belirtmek üzere emptyContent() işlevini kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
  • contentColor() ve currentTextStyle() API'lerinin desteği sonlandırıldı ve bunların yerine sırasıyla AmbientContentColor ve AmbientTextStyle ortamları kullanıma sunuldu. Diğer tüm ortamlar gibi, ortam mülkünde .current kullanarak geçerli değere erişebilirsiniz. Bu değişiklik, tutarlılık sağlamak ve aynı şeyi yapmanın birden fazla yolunu önlemek için yapılmıştır. Ayrıca, bazı ortam özelliklerinin adını, amaçlarını daha iyi açıklayacak şekilde aşağıdaki gibi değiştirir:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
  • AmbientElevationOverlay'i ekler. Bu sayede, koyu temada yüzeylere uygulanan varsayılan yükseklik katmanı özelleştirilebilir veya devre dışı bırakılabilir. (I5b74d)

Hata düzeltmeleri

  • Satır içi sınıflar için sentinel değerlerinin standartlaştırılması kapsamında, diğer satır içi sınıflarla tutarlılık sağlamak amacıyla Color.Unset'in adını Color.Unspecified olarak değiştirin (I97611, b/169797763).
  • TextOverflow.None kullanıma sunuldu. Taşma None olduğunda Text, taşmayı artık işlemeyecek ve gerçek boyutunu LayoutNode'a bildirecek. (I175c9, b/158830170)
  • launchInComposition, Compose API yönergeleriyle eşleşmesi için LaunchedTask olarak yeniden adlandırıldı (I99a8e).
  • OnPositionedModifier, OnGloballyPositionedModifier olarak, onPositioned() ise onGloballyPositioned() olarak yeniden adlandırıldı. (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ü şu commit'leri içerir.

API değişiklikleri

  • Durumlu Material bileşenlerinde InteractionState parametrelerini kullanıma sunarak durumun yükseltilmesine ve okunup kontrol edilmesine olanak tanır. (Iaca5f, b/168025711, b/167164434)
  • RadioButton ve TriStateCheckbox'taki *color parametrelerini değiştirerek her durumda kullanılan renklerin tamamen özelleştirilmesine ve istenirse renklerin durumlar arasında nasıl animasyon oluşturacağının değiştirilmesine olanak tanır. Daha fazla bilgi için CheckboxConstants ve RadioButtonConstants'taki yeni animateDefault* renk işlevlerine bakın. (I1c532)
  • rememberBackdropState işlevinin adını rememberBackdropScaffoldState olarak değiştirdik ve animasyon saati için ek bir parametre ekledik. BackdropScaffold'un param backdropScaffoldState'i yalnızca 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 işlevini defaultElevation olarak yeniden adlandırır ve artık AnimatedValue yerine Dp değeri döndürür. (I5f3ed)

Hata düzeltmeleri

  • Birçok grafik API'si güncellendi
    • Çizim Kapsamı ve Çizim Dönüşümü'ndeki x/y koordinatları için ayrı kayan nokta parametreleri yerine, ölçek ve döndürme dönüştürme API'leri, pivot koordinatını temsil etmek üzere tek bir Ofset parametresini kullanacak şekilde güncellendi.
    • Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı.
    • Yarıçap belgeleri, elipsin yanı sıra oval olarak da belirtilecek şekilde güncellendi.
    • Satır içi Radius sınıfının herkese açık oluşturucusunun doğrudan çağrılmaması, bunun yerine Radius nesnelerinin işlev oluşturucuları aracılığıyla oluşturulması gerektiğini belirten dokümanlar eklendi.
    • RoundRect API'leri kaldırıldı. Bu API'ler, topRight, bottomRight, bottomCenter vb. sorgulamak için kullanılıyordu.
    • Rect.shift, Rect.translate lehine kullanımdan kaldırıldı
    • RoundRect.grow ve Rect.shrink API'leri kaldırıldı
    • RoundRect.outerRect, Rect.boundingRect olarak yeniden adlandırıldı.
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect ve Rect.isStadium yöntemleri kaldırıldı
    • RoundRect.longestSide, RoundRect.maxDimension olarak yeniden adlandırıldı
    • RoundRect.shortestSide, RoundRect.minDimension olarak yeniden adlandırıldı.
    • RoundRect.center işlevi, özellik olarak değiştirildi.
    • RoundRect oluşturucusu, x/y yarıçap değerleri için ayrı parametreler yerine Yarıçap özelliklerini kullanacak şekilde güncellendi.
    • Kaynak noktası 0,0 olan bir dikdörtgen olduğu varsayılan boyut API'leri kaldırıldı.
    • Radius'a bir yıkıcı API eklendi.
    • Çeşitli RoundRect uzantısı işlevleri, özellikler olarak taşındı.
    • (I8f5c7, b/168762961)
  • foundation.Box desteği sonlandırıldı. Lütfen bunun yerine foundation.layout.Box kullanın. (Ie5950, b/167680279)
  • Stack'in adı Box olarak değiştirildi. Daha önce mevcut olan Box, compose.foundation.layout içindeki yeni Box lehine kullanımdan kaldırılacak. Yeni kutunun davranışı, birden fazla alt öğe içerdiğinde alt öğeleri üst üste yığmaktır. Bu, sütuna benzer şekilde davranan önceki kutudan farklıdır. (I94893, b/167680279)
  • Kutu dekorasyonu parametrelerinin desteği sonlandırıldı. Kutunuzda süslemeler/dolgu olmasını istiyorsanız bunun yerine Değiştiriciler'i (Modifier.background, Modifier.border, Modifier.padding) kullanın (Ibae92, b/167680279).
  • Birçok grafik API'si güncellendi
    • Dönüşümün yalnızca geri çağırma işlevi içinde uygulandığını ve geri çağırma işlevi çağrıldıktan sonra kaldırıldığını belirtmek için kapsamlı dönüştürme yöntemleriyle DrawScope API'leri güncellendi.
    • clipPath belgeleri, yuvarlak dikdörtgen yerine Path'e referans verecek şekilde güncellendi.
    • clipPath'teki sağ parametre için dokümanlardaki boşluk sorunu düzeltildi.
    • DrawScope.drawCanvas, drawIntoCanvas olarak yeniden adlandırıldı ve boyut parametresi kaldırıldı.
    • İç kısım yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı.
    • 4 sınıra da aynı içe yerleştirme değerini sağlayan içe yerleştirme aşırı yüklemesi eklendi.
    • İç kısma yerleştirme yönteminin tüm 4 tarafa uygulanacağını belirten belgeler kaldırıldı.
    • Rect sınıfıyla ilgili dokümanlar güncellendi
    • Rect parametreleriyle ilgili yorumlar, kdoc stiline uygun şekilde güncellendi.
    • Rect.join ve Rect.expandToInclude kaldırıldı
    • Rect.translate(offset) için aşırı yükleme oluşturuldu ve Rect.shift kullanımdan kaldırıldı
    • (If086a, b/167737376)
  • Düzen kapsamlarının içeriklerinin (ör. RowScope'taki alignWithSiblings) statik olarak içe aktarılması engellendi. Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Sürüm 1.0.0-alpha03

16 Eylül 2020

androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 ve androidx.compose.material:material-icons-extended:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü şu commit'leri içerir.

API değişiklikleri

  • BottomNavigationItem'nın onSelect parametresini onClick olarak yeniden adlandırır (I91925, b/161809324).
  • BottomNavigationItem ve Tab'e InteractionState parametresini ekleyerek bu durumun yükseltilmesine ve bileşenin farklı durumlarda nasıl görüneceğinin ayarlanmasına 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'ı zaten açıkça ayarlıyorsanız etkin/devre dışı durumların renginin üzerine yazılmasını önlemek için bu varsayılan işlevleri kullanmalı ve parametrelerin bir kısmını veya tamamını özelleştirmelisiniz. (If9b52)
  • Metin alanının arka plan rengi artık şeffaflık alfa değerini örtülü olarak uygulamıyor. Bunun yerine, backgroundColor parametresi aracılığıyla sağlanan tüm renkler doğrudan uygulanır. (Iecee9, b/167951441)
  • InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
  • Modifier.swipeable içindeki resistanceFactorAtMin ve resistanceFactorAtMax parametrelerinin yerini tek bir direnç parametresi aldı. SwipeableConstants sürümüne yeni bir defaultResistanceConfig yöntemi eklendi. (I54238)
  • Button ve FloatingActionButton için animasyonlu durum bilgisi içeren yükseklik desteği eklendi. Yükseklik artık varsayılan ve basılı durumlar arasında animasyonlu olarak geçiş yapıyor. Durumlar arasındaki yüksekliği özelleştirmek için lütfen her durumda düz bir Dp değeri ayarlamak yerine ButtonConstants.defaultAnimatedElevation() ve FloatingActionButtonConstants.defaultAnimatedElevation() değerlerini kullanın. (I37925)
  • Etiket, TextField ve OutlinedTextField içinde isteğe bağlı bir parametre haline geldi (I267f6, b/162234081).

Hata düzeltmeleri

  • onNode veya waitForIdle gibi genel test işlevlerinin desteği sonlandırıldı. Lütfen ComposeTestRule'da (I7f45a) tanımlanan yeni karşılıklarına geçin.
  • DpConstraints ve bunu kullanan API'lerin desteği sonlandırıldı. (I90cdb, b/167389835)
  • widthIn parametresinin minWidth ve maxWidth parametrelerinin adları min ve max olarak değiştirildi. preferredWidthIn, heightIn, preferredHeightIn parametreleri için de benzer değişiklikler yapıldı. (I0e5e1, b/167389544)
  • İleri/geri kaydırma semantik işlemlerini kaldırın. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
  • Düzen API'lerinde yer çekimi kullanımları, hizalama veya hizalama ile eşleşecek şekilde tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • Mevcut global yöntemler kullanımdan kaldırılacağından ComposeTestRule'a onNode ve diğer global yöntemler eklendi. (Ieae36)
  • createAndroidComposeRule ve AndroidInputDispatcher, androidx.ui.test.android konumundan androidx.ui.test konumuna taşındı (Idef08, b/164060572)

Sürüm 1.0.0-alpha02

2 Eylül 2020

androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 ve androidx.compose.material:material-icons-extended:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.

API değişiklikleri

  • Deneysel BackdropScaffold bileşeni eklendi. (Iad908)

Hata düzeltmeleri

  • Matrix4, Matrix ile değiştirildi. Vectormath paketinin diğer tüm bölümleri kaldırıldı. (Ibd665, b/160140398)

Sürüm 1.0.0-alpha01

26 Ağustos 2020

androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ve androidx.compose.material:material-icons-extended:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.

Bilinen Sorun

= Bir materyaldeki ilk karakter TextField geri silme tuşuyla kaldırılamıyor (b/165956313)

Sürüm 0.1.0-dev

Sürüm 0.1.0-dev17

19 Ağustos 2020

androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ve androidx.compose.material:material-icons-extended:0.1.0-dev17 yayınlandı. 0.1.0-dev17 sürümü şu commit'leri içerir.

API değişiklikleri

  • Daha önce desteği sonlandırılan RadioGroup ve RadioGroupItems kaldırıldı. Bunun yerine Row ve RadioButton'ı 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 desteği sonlandırıldı. Bunun yerine Modifier.border kullanın. Border veri sınıfının yerini BorderStroke aldı (I4257d, b/158160576)
  • SwipeableState'teki bazı özelliklerin adı değiştirildi: swipeTarget -> targetValue, swipeProgress -> progress, swipeDirection -> direction. Kaydırılabilir durumlar oluşturmak için rememberSwipeableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
  • Konumlandırma ve uygun sıralama ile snackbar desteği eklendi. SnackbarHostState.showSnackbar askıya alma işlevini kullanarak erişebilirsiniz. Ayrıca:
    • SnackbarHost bileşenleri eklendi. Duruma göre Snackbars'ı barındırır ve Snackbars arasında geçiş yapmaktan sorumludur.
    • SnackbarHostState, snackbar'lar ve snackbar ana makineleri üzerinde kontrol sağlamak ve bunları ScaffoldState'ten ayırmak için eklendi. Bu duruma scaffoldState.snackbarHostState üzerinden de erişebilirsiniz.
    • SnackbarHostState ve snackbar'lar arasında ortak arayüzü desteklemek için snackbar aşırı yüklemesi eklendi. (I79aaa)
  • IconButton'a etkin parametresi eklenir ve IconToggleButton'daki parametreler yeniden sıralanır (I0a941, b/161809385, b/161807956).
  • Dize tabanlı API'ye sahip ListItem sürümü kaldırıldı. Bunun yerine yuva sürümünü kullanın. (Ib8f57, b/161804681)
  • Desteği sonlandırılan FilledTextField bileşeni kaldırıldı. Dolu metin alanının Material Design uygulamasını almak için lütfen bunun yerine TextField kullanın. (I5e889)
  • AlertDialog artık düğmeler için FlowRow kullanıyor (I00ec1, b/161809319, �b/143682374)
  • Sınırların ötesine kaydırıldığında direnç miktarını değiştirmek için Modifier.swipeable'a parametreler eklendi. [min/max]Value parametreleri kaldırıldı. (I93d98)
  • LinearProgressIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'dan dahili dolgu kaldırıldı. Değerler arasında ilerleme animasyonu yaparken varsayılan AnimationSpec olarak kullanılabilecek yeni ProgressIndicatorConstants.DefaultProgressAnimationSpec eklendi (If38b5, b/161809914, b/161804677).
  • Modifier.swipeable'a isteğe bağlı param velocityThreshold eklendi. (I698ba)
  • bottomBarSize, fabSize ve diğerleri artık ScaffoldState'te kullanılamaz. Boyutunu öğrenmek istediğiniz bileşende Modifier.onPosition yerine Modifier.onPosition'ı kullanın. contentColor ve Modifier parametreleri Scaffold'a eklendi (Ic6f7b, b/161811485, b/157174382).
  • Diğer API'lerle tutarlılık sağlamak için Tab'deki bazı parametreleri yeniden adlandırır ve yeniden sıralar (Ia2d12, b/161807532).
  • TabRow'u TabRow ve ScrollableTabRow olarak böler, isScrollable'ı TabRow'dan kaldırır. Ayrıca, sekmelerin öncesindeki / sonrasındaki boş alanı kontrol etmeye olanak tanıyan ScrollableTabRow'da edgePadding'i kullanıma sunar. (I583e8, b/161809544)
  • TabRow nesnesi kaldırıldı ve yerine TabConstants eklendi. TabRow.TabPosition üst düzeye (TabPosition) taşındı ve indicatorContainer, 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 dokümanlara bakın. (I54d45, b/161809544)
  • Modifier.swipeable'daki eşikler parametresi değiştirildi. Artık T türünde bir durum çifti alıyor ve aralarındaki eşiği ThresholdConfig biçiminde döndürüyor. SwipeToDismiss'e bir param dismissThresholds eklendi. Bu, lambda (DismissDirection) -> ThresholdConfig'dir. (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'ın arka planı ve içerik renkleri artık özelleştirilebilir (I238f2, b/161804381)
  • modifier, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri Drawers'a eklendi (I23655, b/161804378)
  • state { ... } composable'ı artık netlik için remember { mutableStateOf(...) }'e yapılan açık çağrılar yerine kullanımdan kaldırıldı. Bu, durum yönetimi için genel API yüzeyini ve kavram sayısını azaltır ve sınıf özelliği temsilcisi için by mutableStateOf() kalıbıyla eşleşir. (Ia5727)
  • Button'ın dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
  • Deneysel bir materyal bileşeni olan SwipeToDismiss'i ekleyin. (I129e5)

Hata düzeltmeleri

  • onChildPositioned ve OnChildPositionedModifier kaldırıldı. Geliştiriciler bunun yerine çocuk düzeninde onPositioned ve OnPositionedModifier kullanmalıdır. (I4522e, b/162109766)
  • SemanticsPropertyKey'e mergePolicy lambda'sı eklendi. Bu, mergeAllDescendants anlamsal yapısı birleştirme için özel bir politika tanımlamak üzere kullanılabilir. Varsayılan politika, üst değer zaten mevcutsa onu, aksi takdirde alt değeri kullanmaktır. (Iaf6c4, b/161979921)
  • IntSize artık satır içi bir sınıf (I2bf42)
  • PlacementScope.placeAbsolute(), PlacementScope.place() olarak yeniden adlandırıldı ve önceki PlacementScope.place(), PlacementScope.placeRelative() olarak yeniden adlandırıldı. Bu nedenle, PlacementScope.place() yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmayacak. Bu isteniyorsa bunun yerine PlacementScope.placeRelative() politikasını kullanın. (I873ac, b/162916675)
  • Rect lehine PxBounds desteği sonlandırıldı. PxBounds'un tüm kullanımları rect ile güncellendi ve geçişe yardımcı olmak için uygun kullanımdan kaldırma/değiştirme notları eklendi. (I37038, b/162627058)
  • Compose adlandırma kalıplarına daha iyi uyması için RRect, RoundRect olarak yeniden adlandırıldı. RRect'e benzer işlev oluşturucular oluşturuldu ve RRect işlev oluşturucularının desteği sonlandırıldı (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ı. 0.1.0-dev16 sürümü şu commit'leri içerir.

API değişiklikleri

  • Renkler artık arayüz yerine nihai sınıf olarak kullanılıyor. Genişletip özel bir uygulama sağlamak yerine, özel tema nesneniz için yeni bir ortam oluşturmalı ve bileşenlerinizde tema nesnesine yeni ortam üzerinden erişmelisiniz. Bu, MaterialTheme'in dahili olarak çalışma şekline benzer. (Ibae84)
  • Renk paletinin, Materyal renk sisteminin belirli bir uygulaması olmaktan ziyade "genel" bir tema oluşturma nesnesi olduğu yönündeki kafa karışıklığını gidermek ve Materyal renk sistemiyle daha iyi eşleşmesini sağlamak için ColorPalette, Colors olarak yeniden adlandırıldı. Ayrıca, lightColorPalette ve darkColorPalette'i sırasıyla lightColors ve darkColors olarak yeniden adlandırır. (I9e976, b/161812111)
  • BottomNavigationItem'ın text parametresini label, onSelected parametresini onSelect, activeColor parametresini selectedContentColor, inactiveColor parametresini unselectedContentColor olarak yeniden adlandırır ve parametre sıralamasını yönergelerle eşleşecek şekilde günceller. (Icb605, b/161809324)
  • Modifier.stateDraggable tamamen yeniden işlendi ve Modifier.swipeable olarak yeniden adlandırıldı. Yeni bir SwipeableState sınıfı kullanıma sunuldu ve DrawerState ile BottomDrawerState, bu sınıftan devralacak şekilde yeniden düzenlendi. [Modal/Bottom]DrawerLayout artık onStateChange parametresini almıyor. (I72332, b/148023068)
  • foundation.shape.corner paketi, foundation.share olarak düzleştirildi (I46491, b/161887429).
  • ExperimentalMaterialApi ek açıklaması eklendi. RippleTheme deneysel olarak işaretlendi (Ic5fa0, b/161784800)
  • İstenen en basit API'nin kolayca bulunup kullanılabilmesi için Material FilledTextField, TextField olarak, temel TextField ise BaseTextField olarak yeniden adlandırıldı (Ia6242, b/155482676).

Hata düzeltmeleri

  • OnChildPositioned desteği sonlandırıldı. Bunun yerine alt öğede OnPositioned kullanın. (I87f95, b/162109766)
  • Geniş kapsamlı API düzeltmeleri (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 hizalama
    3. Offset API ile tutarlı olması için IntOffset.Origin'i IntOffset.Zero olarak yeniden adlandırın.
    4. Tüketicilerin kendi Canvas örneklerini oluşturabilmesi için nativeCanvas yöntemi Canvas arayüzünden kaldırıldı.
    5. DrawScope'u lateinit yerine boş olmayan bir parametre olacak şekilde yeniden düzenlemek ve alanın boş olmamasını sağlamak için boş EmptyCanvas sınıfı oluşturuldu.
    6. ClipOp numaralandırmaları Pascal Case olarak yeniden adlandırıldı.
    7. FilterQuality enum'ları Pascal Case olarak yeniden adlandırıldı.
    8. StrokeJoin numaralandırmaları Pascal Case olarak yeniden adlandırıldı.
    9. PointMode enum'ları Pascal Case olarak yeniden adlandırıldı.
    10. Renamed PaintingStyle enums to be Pascal Case
    11. PathFillType enum'ları Pascal Case olarak yeniden adlandırıldı.
    12. StrokeCap enum'ları Pascal Case olacak şekilde yeniden adlandırıldı.
    13. DrawCache uygulaması, geç başlatılan parametreleri kullanmayacak şekilde güncellendi.
    14. DrawScope, fillPaint ve strokePaint dahili parametreleri için artık geç temsilci kullanmayacak şekilde güncellendi.
    15. Daha az ek yük için Box kullanımını önlemek üzere Image composable'ı güncelledi.
    16. Outline sınıfı, @Immutable ek açıklamaları içerecek şekilde güncellendi.
    17. Her yol talimatı için @Immutable ek açıklamaları içerecek şekilde PathNode güncellendi.
    18. Compose bu kontrolleri zaten işlediğinden, eşitlik için gereksiz koşullu kontrolleri kaldırmak üzere Vector alt bileşimi güncellendi.
    19. İşlev oluşturucular lehine, desteği sonlandırılan Rect yardımcı oluşturucu yöntemleri
    20. @Immutable ve @Stable API'leri ile güncellenen Brush sınıfları ve işlev oluşturucuları
    21. VertexMode enum'ı PascalCase olacak şekilde güncellendi
    22. DrawScope'un selectPaint yöntemi, değişmişse boyadaki kontur parametrelerini koşullu olarak üzerine yazacak şekilde güncellendi.
    23. Yapı bozma API'si eklemek, UnspecifiedSize'ı Unspecified olarak yeniden adlandırmak ve kullanılmayan yöntemleri kaldırmak için boyut güncellendi
  • İletişim kutusunu kullanıcı arayüzüne taşıma (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture kaldırıldı. Bunun yerine SemanticsNodeInteraction.performGesture kullanın. (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot(), SemanticsNodeInteraction.getUnclippedBoundsInRoot() olarak yeniden adlandırıldı (Icafdf, b/161336532)
  • Sağdan sola dil desteği için API'ler güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilecek LayoutDirectionAmbient eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • Modifier.deternimateProgress, Modifier.progressSemantics olarak yeniden adlandırıldı (I9c0b4).
  • Material.io/icons'a eklenen en son simgelerle material-icons-extended'ı günceller (I4b1d3).
  • transitionDefinition 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 kullanın. "Sonra" kelimesi, sıralama konusunda daha güçlü bir sinyal verirken Modifier.padding().background() + anotherModifier yazılmasını da engeller. Bu, zinciri kırar ve okunmasını zorlaştırır (Iedd58, b/161529964).
  • AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
  • isFocused() ve isNotFocused() SemanticsMatcher'ı ekleyin. (I0b760)
  • Testlerde kullanılmaması gereken BaseGestureScope.globalBounds kaldırıldı. Bunun yerine, etkileşimde bulunduğunuz düğüme yerel koordinatları kullanın. (Ie9b08)
  • Kesik ekranlarda pop-up konumunun sabitlenmesi (Idd7dd)
  • Modifier.drawBackground, Modifier.background olarak yeniden adlandırıldı (I13677)

Sürüm 0.1.0-dev15

22 Temmuz 2020

androidx.compose.material:material:0.1.0-dev15, androidx.compose.material:material-icons-core:0.1.0-dev15 ve androidx.compose.material:material-icons-extended:0.1.0-dev15 yayınlandı. 0.1.0-dev15 sürümü şu commit'leri 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ı Bağımlılıkları bildirme bölümünde yukarıda gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.

API değişiklikleri

  • @Model ek açıklamasının desteği sonlandırıldı. Alternatif olarak state ve mutableStateOf'u kullanın. Bu desteği sonlandırma kararı, dikkatli bir şekilde yapılan görüşmelerin ardından 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 karşılaştırılabilir araç setleriyle (Swift UI, React, Flutter) daha uyumlu
    • Geri alınabilir karar. @Model özelliğini daha sonra istediğimiz zaman geri getirebiliriz.
    • @Model yapılandırmasıyla ilgili, nadir görülen kullanım durumlarını ve yanıtlanması zor soruları ele alınması gereken konular olarak kaldırır.
    • @Model veri sınıfları, equals, hashcode vb.
    • Bazı mülklerimin "gözlemlenmesini" nasıl sağlarım?
    • Gözlemde kullanılacak yapısal ve referans eşitliğini nasıl belirtirim?
    • Sistemdeki "sihri" azaltır. Kullanıcıların sistemin olduğundan daha akıllı olduğunu (ör. bir listeyi nasıl karşılaştıracağını bildiğini) düşünme olasılığını azaltır.
    • Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
    • Sınıftaki değişken -> özellikten yeniden düzenlenebilirliği iyileştirir.
    • Eyalete özel, el yapımı optimizasyonlar yapma olasılığını artırır.
    • Ekosistemin geri kalanıyla daha uyumlu hale gelir ve değişmezlik veya "değişebilir durumu benimseme" konusundaki belirsizliği azaltır.

    Taşıma notları

    @Model simgesinin mevcut kullanımlarının neredeyse tamamı iki şekilde kolayca dönüştürülebilir. Aşağıdaki örnekte, yalnızca örnek olması için iki özelliği olan bir @Model sınıfı ve bu sınıfın bir composable'da kullanıldığı gösterilmektedir.

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

    Bu yaklaşım, Kotlin'in veri sınıflarıyla daha kolay hale gelir. Temel olarak, daha önce var olan tüm mülkleri bir veri sınıfının val mülklerine dönüştürün, ardından remember yerine state kullanın ve veri sınıfı copy(...) kolaylık yöntemini kullanarak orijinalin klonlanmış kopyalarına durum değerini atayın.

    Bu yaklaşımın yalnızca söz konusu sınıfta yapılan değişikliklerin State örneğinin oluşturulduğu kapsamda yapılması durumunda işe yaradığını unutmayın. Sınıf, kullanım kapsamı dışında kendi içinde değişiyorsa ve bunu gözlemlemeye güveniyorsanız kullanmak isteyeceğiniz yaklaşım bir sonraki 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 özellik temsilcilerini kullanma

    Bu yaklaşım, Kotlin'in özellik temsilcileri ve mutableStateOf API ile kolaylaştırılır. Bu API, kompozisyon dışında MutableState örnekleri oluşturmanıza olanak tanır. Temel olarak, orijinal sınıfın tüm var özelliklerini, özellik temsilcisi olarak mutableStateOf olan var özellikleriyle değiştirin. Bu, sınıfın kullanımının hiç değişmeyeceği, yalnızca dahili uygulamasının değişeceği avantajını sunar. Ancak her özellik artık ayrı ayrı gözlemlendiği/abone olunduğu için davranış, orijinal örnekle tamamen aynı değildir. Bu nedenle, bu yeniden düzenlemeden sonra gördüğünüz yeniden oluşturmalar daha dar olabilir (bu iyi bir şeydir).

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

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/143263925, b/139653744)

  • Metin alanlarındaki onFocusChange geri çağırma işlevi onFocusChanged olarak yeniden adlandırıldı (Ida4a1).

  • Çapalardaki eşikleri belirtmek için stateDraggable'a eşik parametresi eklendi. Bu, alt çekmecede 56 dp eşiği ayarlamak için kullanıldı. Ayrıca BottomDrawerLayout artık ayrı bir BottomDrawerState enum'ı kullanıyor. (I533fa)

  • Daha önce desteği sonlandırılan Modifier.ripple kaldırıldı. Clickable, artık varsayılan gösterge olarak dalgalanma efektini kullanıyor (uygulamanızda MaterialTheme {} ayarlanmışsa). Bu nedenle, çoğu durumda yalnızca clickable'ı kullanabilir ve dalgalanma efektini ücretsiz olarak alabilirsiniz. Dalgalanmanın rengini, boyutunu veya sınırlı parametresini özelleştirmeniz gerekiyorsa RippleIndication'ı manuel olarak oluşturabilir ve bunu tıklanabilir öğeye belirtme parametresi olarak iletebilirsiniz. (I663b2, b/155375067)

  • Desteği sonlandırılan FilledTextField composable'ın geçersiz kılınması kaldırıldı (I7f8f8).

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

  • Düğme'nin içerik alanı artık Satır olarak davranıyor (metinle birlikte bir simgeye ihtiyacınız olduğunda kullanışlıdır. Düğme'ye nasıl yazılacağıyla ilgili örnekleri inceleyin) (I0ff10, b/158677863)

  • RadioGroup ve RadioGroupItem kullanımdan kaldırıldı. Tasarımınıza göre uygun bir radyo düğmesi seçimi grubu oluşturmak için Modifier.selectable, Row ve Column ile birlikte Box'ı kullanın (I7f5cf, b/149528535).

  • Added Material Outlined Textfield (I1a518)

  • androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Bu türü kullanan TextField, FilledTextField ve CoreTextField composable'larının desteği de sonlandırıldı. Lütfen bunun yerine androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005).

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

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

  • Boyutlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxSize yerine Boyut sınıfının kullanımını standartlaştırın. Bu, genişliği ve yüksekliği kayan sayılar olarak temsil etmek için 2 kayan sayı değerini paketlemek üzere uzun bir satır içi sınıfın avantajlarını sağlar. (Ic0191)

  • Modifier.ripple desteği sonlandırıldı. Clickable, artık varsayılan gösterge olarak dalgalanma efektini kullanıyor (uygulamanızda MaterialTheme {} ayarlanmışsa). Bu nedenle, çoğu durumda yalnızca clickable'ı kullanabilir ve dalgalanma efektini ücretsiz olarak alabilirsiniz. Dalgalanmanın rengini, boyutunu veya sınırlı parametresini özelleştirmeniz gerekiyorsa RippleIndication'ı manuel olarak oluşturabilir ve bunu tıklanabilir öğeye belirtme parametresi olarak iletebilirsiniz. (I101cd, b/155375067)

  • Scaffold API yeniden düzenlendi: Bazı parametrelerin adı değiştirildi ve daha iyi özelleştirme için yeni parametreler eklendi. Fab, TopBar ve BottomBar boyutlarını sorgulamak için getter eklendi (I0e7ce)

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

  • SoftwareKeyboardController'ı kullanarak yazılım klavyesinin manuel olarak gösterilmesine/gizlenmesine izin verin (Ifb9d6, b/155427736)

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

  • CanvasScope uygulamaları birleştirildi. Artık yalnızca DrawScope ve ContentDrawScope var. CanvasScope, DrawScope olarak yeniden adlandırıldı. DrawScope, Density arayüzünü uygulayacak ve LayoutDirection sağlayacak şekilde güncellendi. ContentDrawScope'taki silinen DrawScope alt sınıfı Painter ve PainterModifier, DrawScope bunu zaten sağladığı için artık RTL özelliğini kendileri korumayacak şekilde güncellendi (I1798e).

  • Emphasis.emphasize() işlevini Emphasis.applyEmphasis() olarak yeniden adlandırır (Iceebe)

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

  • FilledTextField, IME işlemi, 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 strokeWidth parametresini ekler. LinearProgressIndicator'ın kontur boyutunu (yüksekliğini) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştirici kullanabilirsiniz. (Icea16, b/154919081)

  • Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a strokeWidth parametresini ekler. LinearProgressIndicator'ın kontur boyutunu (yüksekliğini) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştirici kullanabilirsiniz. (Icea16, b/154919081)

  • FilledTextField'deki sondaki ve baştaki simgeler için yuva API'si ve hata durumunun işlenmesi (Ic12e0) eklendi.

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

  • API'deki tüm boş değer atanabilir Color kullanımları, boş değer atanabilir olmayanlarla değiştirildi ve null yerine Color.Unset kullanıldı (Iabaa7).

  • EdgeInsets, InnerPadding olarak yeniden adlandırıldı. Materyal düğmelerinin innerPadding parametresi padding olarak yeniden adlandırıldı. (I66165)

  • Kaydırma çubuğu artık durum bilgisi içermiyor. Kullanıcıların, diğer kontrollerde olduğu gibi durumu kendilerinin iletmesi ve güncellemesi gerekir. (Ia00aa)

  • StaticDrawer kaldırıldı. Gerekirse bunun yerine malzeme spesifikasyonlu genişliğe sahip Box'ı kullanın (I244a7).

  • Dolu metin alanı için Material Design uygulaması eklendi (Ic75cd)

  • ListItem'a değiştirici parametresi eklendi ve parametreler, sondaki lambda gövdesini destekleyecek şekilde yeniden sıralandı (I66e21).

  • Typography'ye defaultFontFamily oluşturucu parametresini ekler. Bu parametre, ailesi ayarlanmamış tüm TextStyles için kullanılacak varsayılan yazı tipi ailesinin belirtilmesine olanak tanır. (I89d07)

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

  • Divider composable'daki parametreler yeniden adlandırıldı (Ic4373)

  • çocuklar (Ia6d19)

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

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

  • MaterialTheme.colors() ve MaterialTheme.typography() gibi MaterialTheme API'leri işlev yerine özellik olacak şekilde değiştirildi. Mevcut çağrılardan parantezleri kaldırın. Davranışta herhangi bir değişiklik beklenmez. (I3565a)

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

  • Checkbox, Switch ve Toggleable'a enabled parametresi eklendi (I41c16)

  • Dalgalanma artık bir değiştirici. Clickable henüz dönüştürülmediğinden önerilen kullanım Clickable(onClick = { ... }, modifier = ripple())'dır (Ie5200, b/151331852, b/150060763).

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

  • Button, FloatingActionButton ve Clickable artık ayrı bir enabled parametresine sahip. Düğmedeki bazı parametreler yeniden adlandırıldı veya yeniden sıralandı. (I54b5a)

  • Resim verileri ile düzene katılmak ve içerik çizmek için kullanılan, yakında kullanıma sunulacak Image composable arasındaki farkı daha iyi ayırt etmek için Image, ImageAsset olarak yeniden adlandırıldı. _Body:android.graphics.Bitmap üzerinde, geleneksel Android uygulama geliştirme ile Compose çerçevesini birleştirmek için yararlı bir ImageAsset örneği oluşturmak üzere Bitmap.asImageAsset() adlı bir uzantı yöntemi oluşturuldu (Id5bbd).

  • Composable lambda'ları kabul eden aşırı yüklemenin kullanılması için String parametreleri içeren Snackbar API kaldırıldı. Kullanım bilgileriyle ilgili güncellenmiş örnekleri inceleyin (I55f80)

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

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

  • AppBarIcon kaldırıldı, Icon, IconButton ve IconToggleButton eklendi. AppBarIcon'un mevcut kullanımlarını doğrudan IconButton ile değiştirebilirsiniz. Bu durumda, doğru dokunma hedefi kullanılır. Kullanım bilgileri için örneklere, bu bileşenlerle doğrudan kullanabileceğiniz Material Icons için de Simgeler bölümüne bakın. (I96849)

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

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

  • LayoutCoordinates artık bir konum özelliğine sahip değil. LayoutModifiers, döndürme veya ölçekleme göz önünde bulundurulduğunda konum özelliği anlamlı değildir. Bunun yerine geliştiriciler, bir LayoutCoordinate'den diğerine dönüşümü hesaplamak için parentCoordinates ve childToLocal() kullanmalıdır.

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

  • ambients API'de zarar veren değişiklikler yapıldı. Ayrıntılar için günlük ve Ambient<T> belgelerine bakın (I4c7ee, b/143769776)

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

  • Border Modifier (Id335a) lehine DrawBorder değiştirildi.

Hata düzeltmeleri

  • FocusModifier, Modifier.focus, Modifier.focusRequester ve Modifier.focusObserver lehine kullanımdan kaldırıldı. FocusState ve FocusDetailedState, FocusState2 lehine kullanımdan kaldırıldı (I46919, b/160822875, b/160922136)
  • VerticalScroller ve HoriziontalScroller desteği sonlandırıldı. Column/Row davranışı ve parametreleriyle yerleşik deneyim için ScrollableColumn ve ScrollableRow'u veya kendi öğenizde Modifier.verticalScroll ve Modifier.horizontalScroll'u kullanın. Benzer şekilde, ScrollerPosition, ScrollState' (I400ce, b/157225838, b/149460415, b/154105299) lehine kullanımdan kaldırıldı.
  • Modifier.draggable ve Modifier.scrollable API'leri yeniden düzenlendi. Orientation lehine DragDirection kaldırıldı. Kaydırılabilir için gerekli durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
  • runOnIdleCompose, runOnIdle olarak yeniden adlandırıldı (I83607)
  • Tek değerli anlamsal yapı özellikleri artık bir çağırma stili kullanıyor. Örneğin, "semantics { hidden = true }" artık şu şekilde yazılıyor: "semantics { hidden() }". (Ic1afd, b/145951226, b/145955412)
  • Birkaç test API'si daha sezgisel olacak şekilde yeniden adlandırıldı. Tüm findXYZ API'leri onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri performXYZ olarak yeniden adlandırıldı. (I7f164)
  • Transition API, TransitionState'i alt öğelere iletmek yerine TransitionState döndürecek şekilde değiştirildi. Bu değişiklik, API'nin animate() API'leriyle daha tutarlı olmasını sağlar. (I24e38)
  • Düzenin tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider'ın API'si, bu işlevi kullanacak şekilde güncellendi. (I0d8d0, b/159596546)
  • Test bulucularına isteğe bağlı yeni bir işaret olan useUnmergedTree eklendi. (I2ce48)
  • Eski boyut testi API'leri kaldırıldı. (Iba0a0)
  • NativeShader sınıfını sarmalayan Shader inline sınıfı kaldırıldı. NativeShader, Shader olarak yeniden adlandırıldı. Sarmalanmış Shader satır içi sınıfı, API yüzeyine değerli bir şey eklemedi ve satır içi bir sınıftı. Bu nedenle, NativeShader sınıfını doğrudan kullanın. (I25e4d)
  • Pop-up'lar, iletişim kutuları ve menüler artık bağlamsal MaterialTheme'i devralıyor (Ia3665, b/156527485)
  • Material DropdownMenu artık kaydırılabilir. (Ide699)
  • Layout() işlevinin ölçü bloğundan düzen yönü parametresi kaldırıldı. Ancak düzen yönü, geri çağırma işlevi içinde ölçü kapsamı nesnesi (Ic7d9d) aracılığıyla kullanılabilir.
  • Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın. -Tween ve spring gibi AnimationSpec'ler oluşturmak için lambda şartını kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, oluşturucu parametrelerini doğrudan alır. -Oluşturuculara güvenmek yerine oluşturucuları açarak AnimationSpec'in genel kullanım kolaylığını iyileştirin. -KeyFrame'lerin ve Tween'in süresini ve gecikmesini Int olarak değiştirin. Bu, gereksiz tür yayınlarını ve yöntem aşırı yüklemesini (hem Long hem de Int'i desteklemek için) ortadan kaldırır. (Ica0b4)
  • Şimdi geçiş yap seçeneği, enabled false olarak ayarlandığında devre dışı durumda gösteriliyor (If4624, b/155941869, b/159331694)
  • Modifier.tag, Modifier.testTag ile karışıklığı önlemek için Modifier.layoutId olarak yeniden adlandırıldı. (I995f0)
  • Placeable#get(AlignmentLine) işlevinden döndürülen hizalama çizgisi Int konumları artık boş değer içermiyor. Sorgulanan hizalama çizgisi eksikse AlignmentLine.Unspecified döndürülür. (I896c5, b/158134875)
  • Radius sınıfı, satır içi sınıf olarak yeniden düzenlendi. Yarıçapın y ekseni boyunca zorunlu x ekseni yarıçap parametresine uyması için, varsayılan parametreye sahip işlev oluşturucu lehine tamamlayıcı oluşturma yöntemleri kaldırıldı.

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

  • Konumlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, x ve y kaymalarını temsil eden iki kayan nokta 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ürlerin kullanılmasını sağlamak amacıyla büyük bir yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi. Px sınıfı tamamen silindi (I3ff33)

  • Açılıp kapatılabilen bileşen kullanımdan kaldırıldı. Bunun yerine Modifier.toggleable kullanın (I35220, b/157642842)

  • Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (I086f4).

  • Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (Id3434).

  • Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (I97a5a).

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

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

  • TestTag desteği sonlandırıldı. Bunun yerine Modifier.testTag kullanın. (If5110, b/157173105)

  • TextField'ın imleci yanıp sönme animasyonuna sahip (Id10a7)

  • Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (I19d02).

  • VerticalScroller artık varsayılan olarak Column'u sunuyor. HorizontalScroller artık kutudan çıkar çıkmaz Row'u sağlar. (Ieca5d, b/157020670)

  • Piksel parametreleri için yalnızca Dp ve temel türlerin kullanıldığı büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (Iede0b).

  • Yüksek düzeyli bileşenlerin kullanımına izin vermek için Modifier.semantics'in desteği yeniden etkinleştirildi. (I4cfdc)

  • DrawLayer değiştiricileri API'si değiştirildi: outlineShape, shape olarak yeniden adlandırıldı ve RectangleShape varsayılan değerine sahip olup artık null değer içermiyor; clipToOutline, clip olarak yeniden adlandırıldı; clipToBounds, RectangleShape ile clip == true ile aynı olduğundan kaldırıldı (I7ef11, b/155075735)

  • Tuval yerine CanvasScope'u kullanıma sunan, daha üst düzeydeki Compose API'leri güncellendi. Bu sayede tüketicilerin kendi Paint nesnelerini korumasına gerek kalmaz. Hâlâ bir Canvas'a erişmesi gereken tüketiciler, temel Canvas ile çizim komutları vermek için geri çağırma sağlayan drawCanvas uzantı yöntemini kullanabilir. (I80afd)

  • AlignmentLineOffset composable kullanımdan kaldırıldı. Lütfen bunun yerine relativePaddingFrom() değiştiricisini kullanın. CenterAlignmentLine composable'ı kaldırıldı. (I60107)

  • WithConstraints sondaki lambda API değiştirildi. Artık iki parametre yerine, kısıtlamalara ve layoutDirection'a ek olarak Dp cinsinden minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlayan bir alıcı kapsamı var (I91b9a, b/149979702).

  • Varsayılan minimum boyut kısıtlamaları düzen değiştiricisi eklendi. Bu değiştirici, gelen ilgili kısıtlamalar belirtilmediğinde (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuz) boyut kısıtlamalarını yalnızca sarmalanmış düzene ayarlar. (I311ea, b/150460257)

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

  • Durum bilgisi içermeyen, bildirim temelli bir çizim API yüzeyi sunmak için Canvas nesnesini sarmalayan CanvasScope API'si oluşturuldu. Dönüşümler kendi alıcı kapsamlarında yer alır ve boyutlandırma bilgileri de ilgili iç sınırlarla sınırlandırılır. Çizim işlemlerini yapılandırmak için tüketicinin kendi Paint durumu nesnesini korumasını gerektirmez.

    CanvasScopeSample eklendi ve demo uygulaması, bildirim temelli grafikler demosunu (Ifd86d) içerecek şekilde güncellendi.

  • TextField'a imleç rengi özelleştirme özelliği ekleyin (I6e33f)

  • TextField ile kullanılan TextFieldValue artık şu şekilde kullanıldığında etkinlik yeniden oluşturulurken korunabilir: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

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

  • Desteği sonlandırılan LayoutModifier arayüzü kaldırıldı. (I2a9d6)

  • Odak alt sistemiyle entegrasyon için CoreTextField/TextField odak tanımlayıcısı <0x0A> parametresi FocusNode ile değiştirildi. (I7ea48)

  • Layout ve LayoutModifier2'deki doğal ölçüm işlevleri artık doğal ölçüm sorgu API'sini örtülü olarak yayılmış düzen yönüyle sağlayan bir IntrinsicMeasureScope alıcısına sahip. (Id9945)

  • Aynı üst düzen içindeki alt öğelerin çizim sırasını kontrol etmek için yeni Modifier.zIndex() işlevi eklendi. DrawLayerModifier üzerindeki elevation özelliği, shadowElevation olarak yeniden adlandırıldı ve artık çizim sırasını kontrol etmiyor. DrawShadow için parametre sırası değiştirildi: Yükseklik artık ilk parametre, şekil ise RectangleShape varsayılanıyla ikinci parametre. (I20150, b/152417501)

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

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

  • Satır ve Sütun'a sırasıyla verticalGravity ve horizontalGravity parametreleri eklendi. (I7dc5a)

  • wrapContentWidth ve wrapContentHeight, herhangi bir hizalama yerine dikey veya yatay hizalama bekleyecek şekilde güncellendi. Yer çekimi değiştiricisi, dikey veya yatay hizalamayı kabul edecek şekilde güncellendi. Satır, sütun ve yığın, özel sürekli hizalamaları destekleyecek şekilde güncellendi. (Ib0728)

  • ImageAsset'ten piksel bilgisi sorgulamayı desteklemek için PixelMap API'si oluşturuldu. (I69ad6)

  • ProvideContentColor kaldırıldı. Bunun yerine doğrudan Providers ile ContentColorAmbient kullanılacak (Iee942).

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

  • ui-text modülünün adı ui-text-core olarak değiştirildi (I57dec).

  • ui-framework/CoreText ve CoreTextField composable'ları ui-text-compose altına taşındı. Projenize ui-text-compose'u eklemek isteyebilirsiniz. (I32042)

  • DrawModifier API'yi iyileştirme:

    • draw() ContentDrawScope için alıcı kapsamı oluşturuldu.
    • draw() işlevindeki tüm parametreler kaldırıldı
    • DrawScope, eski CanvasScope ile aynı arayüze sahiptir.
    • ContentDrawScope'un drawContent() yöntemi var (Ibaced, b/152919067)
  • runOnIdleCompose ve runOnUiThread artık ComposeTestRule'daki yöntemler yerine genel işlevler olarak kullanılıyor. (Icbe8f)

  • [Değiştirilebilir]Kotlin 1.4 özellik temsilcisi optimizasyonlarını desteklemek için State özellik temsilcisi operatörleri uzantılara taşındı. Arayanların by state { ... } veya by mutableStateOf(...) kullanmaya devam etmek için içe aktarma işlemleri eklemesi gerekir. (I5312c)

  • LayoutCoordinates için positionInParent ve boundsInParent eklendi. (Icacdd, b/152735784)

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

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

  • Düzen değiştiricileri tanımlamak için yeni bir API olan LayoutModifier2 eklendi. LayoutModifier (If32ac) desteği sonlandırıldı.

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

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

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

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

  • Vektör grafikler için mevcut alt bileşim API'sinin yerini alacak VectorPainter API eklendi. Alt kompozisyonun sonucu, DrawModifier yerine VectorPainter nesnesidir. VectorPainter lehine önceki DrawVector composables'ın desteği sonlandırıldı.

    Image(Painter) API'sinin adı PaintBox(Painter) olarak değiştirildi. ImageAsset yerine VectorAsset ile Image composable gibi davranan Vector composable oluşturuldu (I9af9a, b/149030271).

  • LayoutFlexible, LayoutWeight olarak yeniden adlandırıldı. Sıkı parametresi, doldurma olarak yeniden adlandırıldı. (If4738)

  • DrawLayerModifier lehine RepaintBoundary kaldırıldı (I00aa4)

  • DrawVector, normal bir composable işlevden, vektörü bir düzenin arka planı olarak çizecek bir Modifier drawVector() döndürecek şekilde değiştirildi. (I7b8e0)

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

  • Clip composable işlevini modifier drawClip() ile değiştirin. DrawClipToBounds, yalnızca dikdörtgen şekliyle katman sınırlarını kırpmanız gerektiğinde kullanabileceğiniz kullanışlı bir değiştiricidir. (If28eb)

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

  • Düzen için RenderNode eklemeye olanak tanıyan bir değiştirici olan LayerModifier eklendi. Kırpma, opaklık, döndürme, ölçekleme ve gölge ayarlarına izin verir. Bu, RepaintBoundary'nin yerini alacak. (I7100d, b/150774014)

  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer'a taşındı. androidx.compose.Emittable kaldırıldı. ComponentNode ile gereksizdi. androidx.compose.ViewAdapters kaldırıldı. Bu özellikler artık desteklenen bir kullanım alanı değildir. Compose.composeInto desteği sonlandırıldı. Bunun yerine setContent veya setViewContent kullanın. Compose.disposeComposition desteği sonlandı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 konumuna taşındı. ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı. ComponentNode#emitRemoveAt, ComponentNode#removeAt olarak yeniden adlandırıldı. ComponentNode#emitMode, ComponentNode#move olarak yeniden adlandırıldı (Idef00).

  • Belirli bir ImageAsset'i ekrana çizmenin yanı sıra boyutlandırma/düzenlemeyi de işlemek için CreatedImage composable'ı. Bu composable, kendi boyutuna uygun şekilde herhangi bir Painter örneğinin çizilmesini desteklemenin yanı sıra belirli bir sabit boyutu veya minimum boyutu da destekler (Ibcc8f).

  • Desteği sonlandırılan Wrap composable'ı. LayoutAlign değiştiricisi veya Stack composable (Ib237f) ile değiştirilebilir.

  • WithConstraints, LayoutDirection parametresini aldı (I6d6f7)

  • Yerleşim yönünün üst yerleşim düğümünden alt öğelere yayılması sağlandı. Düzen yönü değiştiricisi eklendi. (I3d955)

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

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

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

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

  • ComposeFlags.COMPOSER_PARAM işaretini true olarak güncelledik. Bu değişiklik, Compose eklentisinin kod oluşturma stratejisini etkileyecek. Bu durum, üst düzeyde, @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 iletilir. Bu, önemli bir ikili uyumluluğu bozan değişikliktir ancak Compose'un izin verilen tüm kullanımlarında kaynak düzeyinde uyumluluğu korur. (I7971c)

  • Canvas bileşeni eklendi. Bu composable, belirli bir boyutu (kullanıcı tarafından sağlanır) kaplar ve CanvasScope (I0d622) kullanarak çizim yapmanıza olanak tanır.

  • Yoğunluk ve DensityScope tek bir arayüzde birleştirildi. Artık ambientDensity() yerine DensityAmbient.current kullanabilirsiniz. withDensity(density) yerine yalnızca with(density) kullanılmalıdır (I11cb1).

  • LayoutCoordinates, sağlananAlignmentLines'ı Map yerine Set olarak kullanacak ve değer almak için get() operatörünü uygulayacak şekilde değiştirildi. Bu sayede, her değiştirici için yeni bir koleksiyon oluşturmaya gerek kalmadan değiştiricilerin, kümenin bir veya daha fazla değerini değiştirmesi kolaylaşır. (I0245a)

  • Kaydırma çubukları artık doğal Android hızlı kaydırma hareketi davranışını sergiliyor. (I922af, b/147493715)

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