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ü
9 Eylül 2026 1.12.1 - - 1.13.0-alpha03

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üyle 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 deposunu 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. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Sürüm 1.13

Sürüm 1.13.0-alpha03

9 Eylül 2026

androidx.compose.material:material-*:1.13.0-alpha03 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 koşulu 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 sahip. (I0e8ed, b/339843816)

Sürüm 1.9.0-alpha04

4 Haziran 2025

androidx.compose.material:material-*:1.9.0-alpha04 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 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)
  • runWithTimingDisabled yerine, davranışı daha net bir şekilde açıklayan runWithMeasurementDisabled'yi kullanın. Bu durumda 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 duyarlı 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'ın ana öğesi 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ı (External Contribution)

  • 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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ısı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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 1.7.6 sürümünde değişiklik yok.

Sürüm 1.7.6

11 Aralık 2024

androidx.compose.material:material-*:1.7.6 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 yapı kaldırıldı, -jvmStubs ve -linuxx64Stubs yapıları 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 iptal edilir. 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 değerini kabul eden ve varsayılan olarak remember { MutableInteractionSource() } değerini kullanan materyal bileşenleri artık boş 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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ı LinkAnnotations oluşturmak ve temalı bağlantılarla HTML ayrıştırmak için TextDefaults yöntemleri kaldırıldı. Bunun yerine, bağlantıları Text composable'a parametre olarak stilize etmeye 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 iptal edilir. 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'e null sağlayın. (I22725)
  • Metin bağlantılarında normal stilin yanı sıra fareyle üzerine gelindiğinde ve odaklanıldığında kullanılan stilin yanı sıra basıldığında kullanılan stil seçeneği de vardır. 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 iptal edilir. 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 iptal edilir. 1.7.0-alpha06 sürümü bu commit'leri içerir.

Duyuru

  • androidx.compose.material Bu Maven grubundaki her yapının aynı sürümünün kullanılması artık gerekmiyor. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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ı sürüme 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, çapalar arasındaki ilerlemeyi sorgulamak için progress(from, to) API'sini kullanıma sunar. (I73f48, b/261423218)
  • Standart alt sayfalar, deneysel sürümden 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 spesifikasyondur. (I3c1a8, b/278692145, b/261409034)
  • Modal alt sayfalar, deneysel özellikten kararlı özelliğe 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 iptal edilir. 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 iptal edilir. 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ı. Material ve diğer tasarım sistemi kitaplıklarına yeni dalgalanma 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 1.6.0-alpha06 sürümü şu commit'leri içerir.

Davranışla İlgili Önemli Değişiklik (Behavior Breaking Change)

  • BottomSheetScaffold uygulamasından çekmeceyle ilgili işlev 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 iptal edilir. 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şaretlenir ve geçişe yardımcı olmak için bir yedek blok önerisi sunulur. 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 iptal edilir. 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 öğesinin düzeniyle ilgili iç kısımlar optimize edildi ve LookaheadLayout içinde BottomSheetScaffold ile ilgili olası bir sorun düzeltildi. (Ic0afa)

Sürüm 1.6.0-alpha03

9 Ağustos 2023

androidx.compose.material:material-*:1.6.0-alpha03 iptal edilir. 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. Rehberlik 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 iptal edilir. 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)
  • Material 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 iptal edilir. 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 ayarlanmıştır. Varsayılan satır yüksekliği stili de Trim.None ve Alignment.Center olarak değiştirildi. Ayrıca, Typography'nin TextStyle'lerine 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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'daki Swipeable1 API'lerinde değişiklikler yapıldı. BottomSheetState'nın confirmStateChange parametresinin adı confirmValueChange olarak değiştirildi. progress artık kayan nokta değeri 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ı şarkı listesi 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 alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout'daki Kaydırılabilir API'lerde değişiklikler yapıldı. ModalBottomSheetState'nın animateTo işlevi artık animationSpec parametresini almıyor ve gösterilen uzaklık artık null olabilir. Ofset gerektirmek için requireOffset öğesini kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility ek açıklama ekleme (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. Ofset gerektirmek için requireOffset öğesini kullanın. (I3de9e)
  • Hareketlerin kaydırma etkinliğine dönüşebileceği durumlarda basma işlemlerini doğru şekilde geciktirmek 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)
  • İşlemler, iletişim kutusunun genişliğine sığmak için üst üste geldiğinde AlertDialog kapatma işleminin onay 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ılmaz. (I634f3, b/215403277)
  • BottomSheetScaffold öğesinin, yuvalar için boş içerik sağlandığında kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • Tıklamaların/işaretçi etkinliklerinin PullRefreshIndicator engellenmesi düzeltildi. (2494256, b/271777421)
  • Yön değişikliği sırasında ModalBottomSheetLayout uygulamasının 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 değerini 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 sayfa 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

  • İşlemler, iletişim kutusunun genişliğine sığmak için üst üste geldiğinde AlertDialog kapatma işleminin onay 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 iptal edilir. 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 iptal edilir. 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ğidir. Mevcut değer ve kaydırma hedef değeri, currentValue ve targetValue özellikleri aracılığıyla erişilebilir. Aç/genişlet/kapat 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ılmayacak. (I634f3, b/215403277)

Sürüm 1.5.0-alpha02

5 Nisan 2023

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

Hata Düzeltmeleri

  • BottomSheetScaffold öğesinin, yuvalar için boş içerik sağlandığında 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 iptal edilir. 1.5.0-alpha01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Bir ChipGroup yeniden akıtma örneği ekleyin. Tek satırlık ChipGroup örneğindeki alt çip arasındaki yatay dolguyu spesifikasyona uyacak şekilde güncelleyin. (I3b155)
  • Yön değişikliği sırasında ModalBottomSheetLayout uygulamasının 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.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.material:material-*:1.4.3, 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 değişiklikler yapıldı. DrawerState adlı kullanıcının animateTo özelliği, açma ve kapatma yöntemleriyle değiştirildi. Ofset artık boş değer atanabilir. Ofset gerektirmek için requireOffset öğesini 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ı olarak 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 iptal edilir. 1.4.0-beta02 sürümü şu commit'leri içerir.

API Değişiklikleri

  • BottomSheetScaffold'daki Kaydırılabilir API'lerde değişiklikler yapıldı. BottomSheetState adlı kullanıcının confirmStateChange parametresi, confirmValueChange olarak yeniden adlandırıldı. progress artık kayan nokta değeri olarak gösteriliyor. animateTo ve snapTo dahili olmalıdır. 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 simgelerini düzenleyen, genişletilmiş Material Icons'da yapılan küçük güncelleme. (I65f5e)

Sürüm 1.4.0-beta01

8 Şubat 2023

androidx.compose.material:material-*:1.4.0-beta01 iptal edilir. 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 iptal edilir. 1.4.0-alpha05 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

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

Sürüm 1.4.0-alpha04

11 Ocak 2023

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

API Değişiklikleri

  • Yüzeyler'de 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)
  • Kullanımdan kaldırılan ve gizlenen işlevlerin daha fazla dönüş türü boş değer atanabilirliği (Ibf7b0)
  • 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)
  • ModalBottomSheetLayout'daki Kaydırılabilir API'lerde değişiklikler yapıldı. ModalBottomSheetState işlevinin 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 simgesinin HalfExpanded olması durumunda kilitlenmeye 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 iptal edilir. 1.4.0-alpha03 sürümü şu commit'leri içerir.

API Değişiklikleri

  • @JvmDefaultWithCompatibility ek açıklama ekleme (I8f206)
  • Swipeable içindeki ModalDrawer API'lerinde değişiklikler yapıldı. DrawerState adlı kullanıcının animateTo, open ve close yöntemleriyle değiştirildi ve artık telafi edilebilir. Telafi gerektirmek için requireOffset öğesini 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.
  • Scrollable ViewGroup içinde kullanıldığında Clickables öğesinin dalgalanmaları doğru şekilde geciktirmemesi sorunu düzeltildi.
  • Hareketlerin kaydırma etkinliğine dönüşebileceği durumlarda basma işlemlerini doğru şekilde geciktirmek 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 (Dependency Updates)

  • 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 iptal edilir. 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 iptal edilir. 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 kaybı yaşanmaz.
  • 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 iptal edilir. 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 iptal edilir. 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

  • İ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) değerler olan parametre adını değer olarak değiştirin.

Sürüm 1.3.0-rc01

5 Ekim 2022

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

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

Sürüm 1.3.0-beta01

24 Ağustos 2022

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

Davranış değişikliği

İ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, S sürümünden önceki Android sürümlerinde erişilebilirlik hatasını azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up içindeki içerikle etkileşime girebilmesini 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 bu durum önerilmez. İletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından etkileşime girilebilir ve okunabilir olmasını sağlamak geliştiricinin sorumluluğundadır.

Sürüm 1.3.0-alpha03

10 Ağustos 2022

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

Harici Katkı (External Contribution)

  • Scaffold'da FloatingActionButton ile ilgili AnimatedVisibility sorununu düzeltme (I3a0ae, b/224005027)

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.compose.material:material-*:1.3.0-alpha01 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 yapıştırmak 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 iptal edilir. 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 üstüne 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 1.2.0-alpha06 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Surface API'deki değişiklikleri (I56bcb) takip etmek için tıklanabilir Card API'de güncellemeler yapıldı.
  • 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 iptal edilir. 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'den androidx.compose.foundation.lazy'ye yaptığınız içe aktarma işlemlerini 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 iptal edilir. 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, tasarlanmadığı bir uygulayıcıyı hedefleyerek çağrıldığı zaman derleme zamanı raporlamasına olanak tanır.

    Çoğu durumda, ek açıklamalar compose 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 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 iptal edilir. 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 iptal edilir. 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 memoization 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 iptal edilir. 1.2.0-alpha01 sürümü şu commit'leri içerir.

Bağımlılık Güncellemeleri (Dependency Updates)

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

Harici Katkı (External Contribution)

  • 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 iptal edilir. 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 iptal edilir. 1.1.0 sürümü şu commit'leri içerir.

1.0.0 sürümünden beri 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, Materyal bileşenlerinin dokunma hedefi boyutu için Materyal erişilebilirlik yönergelerine uyacak şekilde düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğmenin 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 iptal edilir. 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önergeleri 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üğmenin 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 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 iptal edilir. 1.1.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Dalgalar 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 iptal edilir. Version 1.1.0-alpha06 contains these commits.

API Değişiklikleri

  • Daha verimli bir şekilde çalışmak için Layout'a alt öğesi olmayan 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ı alarak onDismissRequest'in çağrılıp çağrılmaması üzerinde daha hassas kontrol sağlar. Örneğin, bu ayar, dokunulduğunda sabitleme işleminin kapatılmasını önlemek için yararlı olabilir.
    • updateAndroidWindowManagerFlags, PopupProperties'ye 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 iptal edilir. 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 boyutu 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 kullanılmalıdı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 iptal edilir. 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 minimum dokunma hedefi boyutunu içeren touchBoundsInRoot, SemanticsNode'a 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 Dp.Hairline değerine uymak üzere Divider composable'ı güncelledik. (I16ffb, b/196840810)

Sürüm 1.1.0-alpha03

1 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha03 iptal edilir. 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 iptal edilir. 1.1.0-alpha02 sürümü şu commit'leri içerir.

Harici Katkı (External Contribution)

  • 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 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Kaynak ve hedef dikdörtgenleri kullanan DrawScope#drawImage yöntemi, isteğe bağlı bir FilterQuality parametresini kullanacak şekilde güncellendi. Bu, piksel tabanlı sanat için ölçeklendirildiğinde 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 iptal edilir. 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 iptal edilir. 1.0.4 sürümü şu commit'leri içerir.

Bağımlılık Güncellemeleri (Dependency Updates)

  • 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 iptal edilir. 1.0.3 sürümü şu commit'leri içerir.

Bağımlılık Güncellemeleri (Dependency Updates)

  • 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 iptal edilir. 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 iptal edilir. 1.0.1 sürümü şu commit'leri içerir.

Bağımlılık Güncellemeleri (Dependency Updates)

  • 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 iptal edilir. 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 bloguna göz atın.

Bilinen Sorunlar

  • Android Studio Bumblebee Canary 4 veya AGP 7.1.0-alpha04/7.1.0-alpha05 kullanıyorsanız 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 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 iptal edilir. 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 iptal edilir. 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 klasöründeki 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 iptal edilir. 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şecek 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 "popüler" 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 ve 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şlatma 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ılarında paketlenecek bu kuralları tanımlayabilir. Bu yapıtları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleştirilmiş kurallar, APK'ya özel kompakt bir ikili ART profili oluşturmak için kullanılır. 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 de ilk çalıştırma performansını artırabilir. 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 iptal edilir. 1.0.0-beta08 sürümü şu commit'leri içerir.

Yeni Özellikler

Davranışı Bozan API Değişikliği (Behavior Breaking API Change)

  • 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 etkisiz hale geliyor. 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 (gösterge, 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 / 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 sayede, birleştirme işlemi yerine olduğu gibi birleştirme yapılabilir. 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 enum'ı FocusState arayüzüyle (Iccc1a, b/187055290) değiştirildi.
  • View destekli dalgalanma 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 iptal edilir. 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 iptal edilir. 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

  • Updated Compose Material catalog insets implementation from: https://github.com/google/accompanist/pull/365. (I25dc3)
  • Ağırlık(fill = false) özelliğine sahip 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 iptal edilir. 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 iptal edilir. 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 olan BottomDrawer bileşeniyle (I81114, b/181656094) eşleşmesi için artık Deneysel olarak işaretleniyor.
  • SoftwareKeyboardController üzerindeki hideSoftwareKeyboard ve showSoftwareKeyboard öğelerini sırasıyla hide() ve show() olarak yeniden adlandırın.
    • LocalSoftwareKeyboardController için tam CompositionLocal arayüzünü sağlayarak ayarlanmasına izin verin (özellikle testlerde kullanışlıdır) (I579a6)
  • LiveRegion erişilebilirlik API'si eklendi. Düğüm canlı bölge olarak işaretlenirse erişilebilirlik hizmetleri, kullanıcılara değişiklikler hakkında otomatik olarak bildirim gönderir (Idcf6f, b/172590946).

Hata Düzeltmeleri

  • Mevcut modüle Compose Material kataloğu uygulaması eklendi. Şu anda eksik olanlar: bileşen kutusu 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 iptal edilir. 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ı (External Contribution)

  • [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 iptal edilir. 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 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 iptal edilir. 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)
  • İçerik boyutlandırma değiştiricileri 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 parametresinin adı isError olarak değiştirildi. (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ırır. (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'si 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ön, temel pakete taşındı. VelocityTracker, 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 içermiyor.
    • 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 parametresinin adı alwaysShowLabel olarak değiştirildi.
    • 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. Adlandırılmış parametreler kullandığınızdan veya sıralamayı manuel olarak güncellediğinizden emin olun. Aksi takdirde kodunuz eskisi gibi çalışmaz.
    • darkColors() listesine secondaryVariant parametresi 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 parametresi content olarak yeniden adlandırıldı.
    • 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şlevleri olarak kullanılıyor. 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 / durumu 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 iptal edilir. 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 destructuring ve copy() yöntemleri kaldırıldı. (I26702, b/178659281)
  • ModalBottomSheetState'teki halfExpand() ve expand() işlevlerini dahili hale getirin (Ic914e).
  • Indication#createInstance, @Composable olacak şekilde değiştirildi ve LocalIndication, () -> Indication değil, bir Indication içerecek şekilde değiştirildi. (I5eeea, b/157150564)
  • AlertDialog ve DropdownMenu'nun şu an için yalnızca Android'de kullanılabilmesi sağlandı. 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 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. Açılır menü 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)
  • Ambient -> CompositionLocal yeniden adlandırmasıyla eşleşmesi için Ambients 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ı desteklediğimiz gibi, savedInstanceState { 0 } composable'ı da kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmalısınız. Bu, MutableState içinde kullanılan tür Bundle'da depolanabiliyorsa otomatik olarak kaydedip geri yükler. 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 şöyle görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Erişilebilirlik için belirsiz ilerleme çubuklarını işaretlemek üzere ProgressBarRangeInfo.Indeterminate eklendi (I6fe05).
  • @ComposableContract, üç 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(), 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 rtl 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)

  • Renkli parametre için contentColorFor, backgroundColor olarak yeniden adlandırıldı (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ı. [Abstract]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 makinenin 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 iptal edilir. 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ıyor (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)
  • Tipografi, Şekiller ve Sekme Konumu'nun artık veri sınıfları olmaması için değişiklikler yapar. 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şlevlerini kullanmanızı öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alma içermeyen sürümlerinin desteğini sonlandırıyoruz. (I12880)

  • ComposeContentTestRule tanıtıldı. Bu, 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 özelliği 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ı. Metin alanına simge, yer tutucu, etiket gibi süslemeler eklemenize ve bu alanın hedef alanını genişletmenize 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 kaldırıldı (Ic4bec, b/175294473).

  • displaySize, kullanılmaması gerektiğinden 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 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ştirilir. Bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını kaldırır. (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üze (Ib14e5) dönüştürüldü.

  • ScrollableColumn/Row kullanımdan kaldırıldı. LazyColumn ile yalnızca görünür öğeleri oluşturup ölçüp çizebildiğimiz için, kaydırılabilir çok fazla içeriğiniz olduğunda ScrollableColumn kullanmak LazyColumn'a kıyasla daha az verimlidir. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunun yerine LazyColumn ve LazyRow'un kullanılmasını teşvik etmeye karar verdik. Kullanıcılar, yine de tembel davranışa ihtiyaç duymadıklarına karar verebilir ve değiştiricileri doğrudan şu şekilde kullanabilir: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b, b/170468083)

  • LazyColumn/LazyRow/LazyVerticalGrid kapsamı için yeni items(count: Int) fabrika yöntemi. items(items: List) ve itemsIndexed(items: List) artık uzantı işlevleri olduğundan kullanıldıklarında 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 iptal edilir. 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)
  • @ExperimentalTesting, benzer deneysel API ek açıklamalarıyla (Ia4502, b/171464963) tutarlı olması için @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ı, "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> değerini 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 iptal edilir. 1.0.0-alpha09 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Yerleşme animasyonunu manuel olarak tetiklemek ve Modifier.swipeable'ı sürüklemek için API eklendi (Iaa17a, b/162408885).
  • ButtonConstants gibi yeniden adlandırılan *Constants nesneleri, ButtonDefaults gibi Defaults ile bitecek şekilde değiştirildi. Ayrıca, bu yeni nesnelerdeki özelliklerden gereksiz default öneklerini 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ı yöntemini açıklama ekleyerek yapmaktır:

       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 nesnesinde fabrika yöntemleri lehine, kullanımdan kaldırılan gradyan işlevi oluşturucu API'leri. (I511fc, b/173066799)

  • Modifier.focusObserver desteği sonlandırıldı. Bunun yerine Modifier.onFocusChanged veya Modifier.onFocusEvent 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 konumuyla ilgili 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 taşıdı. (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 işlem olarak 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 adları/yardımcı yöntemler 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 (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).
  • Sona Ambient eklenerek adlandırılan ve desteği sonlandırılan Ambients'ı, diğer Ambients ve Compose API yönergelerine uygun olarak 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, AmbientContentColor'ın tercih edilen içerik rengini temsil etmesine benzer şekilde, hiyerarşinin bir bölümü için tercih edilen içerik alfa değerini temsil eden daha basit bir soyutlamadır. 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'in yerine androidx.compose.material.Text'i ekler. Temadan renk / metin stili kullanmayan temel bir metin bileşeni için BasicText'i kullanın. (Ie6ae0)
  • TextField'lara maxLines 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 konumuna 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 getirildi. Bir temadan değer kullanmayan temel ve tarafsız bir metin API'si için androidx.compose.foundation.BasicText'e bakın. (If64cb)
  • Rename KeyboardOptions as ImeOptions (I82f36)
  • KeyboardType ve ImeAction, KeyboardOptions'a taşındı (I910ce)
  • BaseTextField desteği sonlandı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 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'dan androidx.compose.layout.ui'ya 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() konusuna 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ü ekleyerek bir RadioButton tarafından farklı durumlarda kullanılan renkleri temsil eder. 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)
  • Compose'da nasıl kullanıldığını daha iyi ifade etmek için Radius API'nin adı 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 olarak 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şiklere sahip (Iab825, b/168610267)
  • @Stable olarak işaretlenen tüm iskele durumları. ScaffoldState'teki drawerGesturesEnabled, Scaffold'a taşındı. (I36645, b/168297016)
  • Scaffold lambda parametrelerinden null değer atanabilir türü 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 özelliği için .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 eklenerek koyu temadaki yüzeylere uygulanan varsayılan yükseklik katmanının özelleştirilmesine / devre dışı bırakılmasına olanak tanındı. (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'i Color.Unspecified olarak yeniden adlandırın (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 durumun 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.
    • DrawScope ve DrawTransform'taki x/y koordinatları için ayrı kayan nokta parametreleri yerine pivot koordinatını temsil etmek üzere tek bir Offset parametresini kullanacak şekilde ölçek ve döndürme dönüştürme API'leri 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 yerine Rect.translate 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ım API'si 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'taki yeni Box lehine kullanımdan kaldırılacak. Yeni kutunun davranışı, birden fazla alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, önceki kutunun davranışından farklıdır. Önceki kutu, sütuna benzer şekilde davranıyordu. (I94893, b/167680279)
  • Kutu dekorasyonu parametrelerinin desteği sonlandırıldı. Kutunuzda süsleme/dolgu olmasını istiyorsanız bunun yerine değiştiricileri (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çinde uygulandığını ve geri çağırma çağrıldıktan sonra kaldırıldığını belirtmek için kapsamlı dönüşüm yöntemleriyle DrawScope API'leri güncellendi.
    • clipPath belgeleri, yuvarlatılmış 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ı.
    • Inset yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı.
    • 4 sınıra aynı içe yerleştirme değerini sağlayan içe yerleştirme aşırı yüklemesi eklendi.
    • İç kısma yerleştirme yönteminin 4 tarafa da 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ındaki içeriklerin (ör. RowScope'ta 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)
  • disabledBackgroundColor ve disabledContentColor parametrelerini düğmelerden 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 değişiyor. 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 tanımlanan yeni karşılıklarına geçin (I7f45a).
  • 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ı, düzenle veya düzenleme olarak 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 (b/165956313) kaldırılamaz.

Sürüm 0.1.0-dev

Sürüm 0.1.0-dev17

19 Ağustos 2020

androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ve androidx.compose.material:material-icons-extended:0.1.0-dev17 yayınlandı. Version 0.1.0-dev17 contains these commits.

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. SwipeableState 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 ayarlandı. 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ğunda ayrıntılı özelleştirme için daha fazla renk bulunur (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 lehine 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 malzeme 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

  • Colors artık arayüz yerine nihai bir sınıf. 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 paletini, Materyal renk sistemiyle daha iyi eşleşmesi ve Materyal renk sisteminin belirli bir uygulaması olmaktan ziyade "genel" bir tema oluşturma nesnesi olduğu yönündeki kafa karışıklığını gidermek için Renkler olarak yeniden adlandırdık. 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önergelere uyacak ş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üzeltmelerini ele alma (I077bc)
    1. Kullanılmayan OffsetBase arayüzünü kaldırın
    2. Tutarlı bir API yüzeyine sahip olmak için Offset ve IntOffset sınıflarını 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 enum'ları Pascal Case olarak yeniden adlandırıldı.
    7. FilterQuality enum'ları Pascal Case olarak yeniden adlandırıldı.
    8. StrokeJoin enum'ları Pascal Case olarak yeniden adlandırıldı.
    9. PointMode enums, Pascal Case olacak şekilde 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 olarak yeniden adlandırıldı.
    13. DrawCache uygulaması, lateinit parametrelerini kullanmayacak şekilde güncellendi.
    14. DrawScope, fillPaint ve strokePaint dahili parametreleri için artık geç yetkilendirme 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, gereksiz eşitlik koşullu kontrollerini kaldırmak için 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'lerle güncellenen Brush sınıfları ve işlev oluşturucuları
    21. VertexMode enum'ı PascalCase olacak şekilde güncellendi
    22. DrawScope 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 desteği sonlandı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 sabit pop-up konumu. (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ı bildirme bölümünde yukarıda gösterilen yeni kod snippet'lerine göre bağımlılıklarınızı 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, ele almamız gereken zor soruları ve nadir kullanım durumlarını ortadan 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 belirsizlik azalır.

    Taşıma notları

    @Model öğesinin 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 tek mutasyonlar State örneğinin oluşturulduğu kapsamda yapıldığında işe yaradığını unutmayın. Sınıf, kullanım kapsamı dışında kendi içinde değişiyorsa ve bu değişimi 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).

  • Çapalar arasındaki 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 gösterge 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ı da desteği sonlandırılmış olarak işaretlenir. Lütfen bunun yerine androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005).

  • TabRow.TabPosition, Dp'deki konumu içeriyor ancak IntPx'teki konumu içermiyor (I34a07, b/158577776)

  • IntPx kullanımı Int ile değiştirildi. IntPxPosition, 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 Size 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 gösterge 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)

  • ui-material'da, Materyal Tasarım menü uygulaması olan 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 işlemleri 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ı. Density arayüzünü uygulamak ve LayoutDirection sağlamak için DrawScope 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 null değer atanabilir Color kullanımları, null 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 özellikli 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)

  • Materyal 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, Materyal Tasarım spesifikasyonuna göre güncellendi. Artık bileşenlerin çoğu tarafından kullanılacak küçük, orta ve büyük şekiller sağlayabilirsiniz (Ifb4d1).

  • MaterialTheme.colors() 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)

  • Ripple 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:Geleneksel Android uygulama geliştirme ile Compose çerçevesini birleştirmek için yararlı bir ImageAsset örneği oluşturmak üzere android.graphics.Bitmap üzerinde Bitmap.asImageAsset() adlı bir uzantı yöntemi oluşturuldu (Id5bbd).

  • Composable lambda'ları kabul eden aşırı yüklemeyi kullanmak için String parametreleri içeren Snackbar API'si kaldırıldı. Kullanım bilgileriyle ilgili güncellenmiş örneklere göz atın (I55f80)

  • text ve icon lambda'larını kabul etmek için Sekme API'leri yeniden düzenlendi (Ia057e).

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

  • AppBarIcon kaldırıldı ve 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 Simge 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() işlevlerini 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 materyali 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 (I46919, b/160822875, b/160922136) lehine kullanımdan kaldırıldı.
  • 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 satır içi 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, doğrudan oluşturucu parametrelerini 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 olacak şekilde yeniden düzenlendi. Y ekseni boyunca yarıçapın zorunlu x ekseni yarıçap parametresine uyması için varsayılan parametreye sahip işlev oluşturucu lehine, eşlik eden öğe 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, kayan değerler olarak temsil edilen x ve y uzaklıklarını temsil etmek için 2 kayan değer paketlemek üzere uzun bir değerden yararlanmak için 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).

  • DropdownMenuItems için onClick'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 kullanıma hazır bir şekilde Column sağlıyor. 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ılmasına izin vermek için Modifier.semantics kullanımdan kaldırılma işlemi geri alındı. (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 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'si değiştirildi. Artık iki parametre yerine, kısıtlamalara ve layoutDirection'a ek olarak Dp'de 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ı. Odağı almak için FocusModifier.requestFocus'i kullanın. (Ic4826)

  • Durum bilgisi içermeyen, bildirim temelli bir çizim API'si 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 yerleştirme sınırlarıyla sınırlıdır. Çizim işlemlerini yapılandırmak için tüketicinin kendi Paint durumu nesnesini koruması gerekmez.

    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şturulsa bile 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ı <0x0A> parametresi FocusNode ile değiştirildi. (I7ea48)

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

  • Aynı üst düzen içindeki alt öğelerin çizim sırasını kontrol etmek için yeni Modifier.zIndex() 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 bilgileri sorgulamayı desteklemek için PixelMap API'si oluşturuldu. (I69ad6)

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

  • 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şlevlerdir. (Icbe8f)

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

  • 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 alt öğelerini ölçü bloğunda tanımak için etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmanız gerekir. (I51368, b/150953183)

  • Kullanımdan kaldırılan Center composable'ı. Bu, 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şen 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ı parametrenin adı doldurma olarak değiştirildi. (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 drawClip() değiştiricisiyle 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çeklendirme ve gölge ayarlamaya olanak tanır. 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 özellik 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, @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 olacak şekilde değiştirildi ve LayoutCoordinates'in değer almak için get() operatörünü uygulaması sağlandı. 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 yerel Android hızlı kaydırma hareketi davranışını sergiliyor. (I922af, b/147493715)

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