Materyal Oluşturma

Kullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io adresinde açı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ü
2 Temmuz 2025 1.8.3 - 1.9.0-beta02 -

Yapı

Compose, androidx içindeki 7 Maven Group kimliğinin birleşimidir. Her grup, kendi sürüm notları kümesine sahip, hedeflenmiş bir işlevsellik alt kümesi içerir.

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şenleri ile Jetpack Compose kullanıcı arayüzleri oluşturun. Material 3, güncellenmiş temalar ve bileşenler ile 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 Compiler Plugin'in 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 okuyun.

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.8.3"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

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 olursa 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.9

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 Lint kontrolleri artık minimum AGP sürümü olarak 8.8.2'yi gerektiriyor. AGP'yi yükseltemiyorsanız bunun yerine android.experimental.lint.version=8.8.2 (veya daha yeni bir sürüm) kullanarak gradle.properties dosyanızda Lint'i tek başına yükseltebilirsiniz. Compose lint kontrollerini IDE'de ç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 runWithMeasurementDisabled kullanın. Bu durum, davranışı daha net bir şekilde tanımlar: 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)
  • Float.NaN ilerleme olarak 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, yerleştirme alanına duyarlı bileşenlerin ekran kesimi etrafındaki davranışını etkileyecek bir davranış değişikliğidir. Buna, yerleştirme için uygun Material 3 bileşenlerinin WindowInsets parametresinin varsayılan değeri ve bileşende sağlanan WindowInsets değerleri dahildir.
    • Hem Material 2 hem de Material 3 için varsayılan nesneler. Bu değişiklik istenmeyen davranışlara neden olursa WindowInsets parametresini bileşen bazında manuel olarak belirtin. (I43ee9, b/362508045)
  • ComposeContentTestRule.setContent kullanılırken test edilen composable için ana makine olarak kullanılan etkinlik, artık Theme.Material.Light.NoActionBar temasını kullanıyor. Böylece SDK 35 hedeflenirken ActionBar öğesinin test içeriğiyle çakışması önleniyor. 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 ComponentActivity için bir etkinlik girişi ekleyebilirsiniz. (I7ae1b, b/383368165)

Harici Katkı (External Contribution)

  • ModalBottomSheetLayout içinde sheetGesturesEnabled'ı kullanıma sunun. (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ırma çubuğunun değerini değiştirin. (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 ekler. Daha önce dalgalanma yeni boyutu doldurmazdı 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ünden itibaren 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 Material 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 bir ö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öntemlerini kaldırdı. Bunun yerine, Text composable'ına parametre olarak bağlantıları 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 düzeltmesinin 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 boş değer atanabilir hale getirildi. Bir dalgalanmayı devre dışı bırakmak için RippleConfiguration ile isEnabled = false yerine null ile LocalRippleConfiguration'ü sağlayın. (I22725)
  • Metin bağlantılarında normal stilin yanı sıra basılı, fareyle üzerine gelindiğinde ve odaklanıldığında stil seçenekleri bulunur. TextDefaults yöntemlerinin her birinde bunu desteklemek için bir pressedStyle bağımsız değişkeni bulunur. (Ic473f, b/139312671)

Hata Düzeltmeleri

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

Sürüm 1.7.0-alpha07

17 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha07 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 odaklandığında uygulanan stil seçeneğine de sahiptir. (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 artık bu Maven grubundaki her yapının aynı sürümünün kullanılmasını gerektirmiyor. Kullanıcılar, Compose temel kitaplıklarının (Ie5fba) sürümlerini karıştırıp eşleştirebilir.

API Değişiklikleri

  • ModalDrawer ve BottomDrawer varsayılan değerleri 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ı sürüme yükseltildi. BottomDrawerState artık ilerleme durumunu bir işlev olarak sunuyor ve belirli hedefler arasındaki ilerleme durumunun sorgulanmasına 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, yönergelere uygun olarak artık 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 deneyselden kararlı sürüme yükseltildi. Kullanımdan kaldırılan oluşturucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir ara spesifikasyondur. (I3c1a8, b/278692145, b/261409034)
  • Kalıcı alt sayfalar deneyselden kararlı sürüme yükseltildi. Kullanımdan kaldırılan oluşturucular kaldırıldı. Animasyon spesifikasyonu, yönergelere uygun olarak artık bir tween spesifikasyonudur. (Ic53f4, b/278692145, b/266780235, b/261409034)

Hata Düzeltmeleri

  • BackdropScaffold'nın LookaheadScope ile birlikte kullanıldığı belirli senaryolarda kilitlenmesine neden olan sorun düzeltildi. (I51396)
  • Performansı artırmak için BottomSheetScaffold içindeki alt bileşen kaldırıldı. BottomSheetScaffold'nın LookaheadScope ile birlikte kullanıldığı belirli senaryolarda 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'a ve diğer tasarım sistemi kitaplıklarına yeni ripple ve RippleConfiguration API'leri eklendi.

  • Daha önce MutableInteractionSource değerini kabul eden ve varsayılan olarak { MutableInteractionSource() } değerini hatırlayan materyal bileşenleri artık boş değer atanabilir MutableInteractionSource değerini kabul ediyor ve varsayılan olarak boş 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 bir ö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 yapılmadı.

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'daki gerilemeyi düzeltin, böylece tekrar odaklanılabilir hale gelir. (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

  • materialIcon işlevini, autoMirror parametresi alan aşırı yüklemesi lehine kullanımdan kaldı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ışa Zarar Veren Değişiklik

  • 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. Varsayılan olarak bu, ölçüm biriminde ö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, simgenin izin vermesi durumunda otomatik yansıtmayı desteklemek için artık ek simge setleri sunuyor. Yeni kümelerin önüne Icons.AutoMirrored.Filled... vb. 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, simgenin izin vermesi durumunda otomatik yansıtmayı desteklemek için artık ek simge setleri sunuyor. Yeni kümelerin önüne Icons.AutoMirrored.Filled... vb. 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 taşıma işlemine yardımcı olmak için bir değiştirme bloğu ö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çindeki bir Scaffold'da boyutlarını çok erken okumaya çalışmasına neden olan sorun düzeltildi. (If2c5d)
  • DropdownMenu'nın offset hesaplaması düzeltildi. Böylece x uzaklıkları yalnızca yerel düzen yönüne bağlı olacak ve menü ekranın alt kısmına yakın olduğunda y uzaklıkları artık tersine çevrilmeyecek. (Iccc74, b/294103942)
  • BottomSheetScaffold'nın düzenleme iç kısımları optimize edildi ve LookaheadLayout içindeki BottomSheetScaffold ile ilgili olası bir sorun düzeltildi. (Ic0afa)

Sürüm 1.6.0-alpha03

9 Ağustos 2023

androidx.compose.material:material-*:1.6.0-alpha03 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. Yardım için ilgili örneklere bakın. (I655e8)

Sürüm 1.6.0-alpha02

26 Temmuz 2023

androidx.compose.material:material-*:1.6.0-alpha02 iptal edilir. 1.6.0-alpha02 sürümünde şu commit'ler yer alıyor.

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 durumlarda sağlanan yeni aşırı yüklemeyi kullanın. (I1846e)
  • Birleştirilebilir işlevlere 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 yerine TextFieldColors kullanıma sunuldu. leadingIconColor veya trailingIconColor'yi geçersiz kılarken aşırı yüklemeyi de interactionSource ile geçersiz kılın. (Id57ed, b/199377790)

Sürüm 1.6.0-alpha01

21 Haziran 2023

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

Davranış Değişiklikleri

  • includeFontPadding, Material 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. Typography öğesinin TextStyle öğelerine açık lineHeight (sp cinsinden) eklendi. Bu değerleri özelleştirmek istiyorsanız API belgelerine 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'lerini inceleyin. (I732e0)

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) bağlantı noktası ile kaydırma yönündeki en yakın bağlantı 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 herhangi bir 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, herhangi bir 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 hareketli değer olarak gösteriliyor. animateTo ve snapTo dahili bağımlılıklardır. Bunun yerine expand() ve collapse() politikalarını 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 fırça ucu parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState'nin confirmStateChange adlı şarkı listesinin adı confirmValueChange olarak değiştirildi. (Ib48d1)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçük ölçülürse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout'daki Swipeable API'lerde değişiklikler yapıldı. ModalBottomSheetState.animateTo artık animationSpec parametresini almıyor ve gösterilen uzaklık artık null olabilir. Telafi gerektirmek için requireOffset öğesini kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility ek açıklamasının eklenmesi (I8f206)
  • ModalDrawer. DrawerState'daki kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. animateTo, açma ve kapatma yöntemleriyle değiştirildi ve artık ofset değeri boş olabilir. Telafi gerektirmek için requireOffset öğ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, minLines ve TextField'e OutlinedTextField 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ına ve aşırı kaydırmaya 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ı da değiştirildi (I7db65, b/266874741).
  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (yerleştirilmiş) bağlantı noktası ile kaydırma yönündeki en yakın bağlantı 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 sorunu düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)
  • gesturesEnabled "false" olarak ayarlandığında BottomSheetScaffold artık iç içe kaydırmaya katılmayacak. (I634f3, b/215403277)
  • Yuvalar için boş içerik sağlandığında BottomSheetScaffold öğesinin kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • Tıklamaların/işaretçi etkinliklerinin engellenmesi PullRefreshIndicator 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 bir şekilde ç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 mevcut (yerleştirilmiş) bağlantı noktası ile kaydırma yönündeki en yakın bağlantı 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 değerlerinin artık boş olmaması gerekiyor. 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)
  • Semantik mülk 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 sorunu 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 durumlarda sağlanan 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 bir SwipeableV2State ile kompozisyon kullanıyoruz. Kaydırma artık boş değer atanabilir bir kayan nokta özelliğidir. Geçerli değere ve kaydırma hedef değerine currentValue ve targetValue özellikleri üzerinden erişilebilir. Açma/genişletme/kapatma gibi önceki sınıf düzeyi yöntemler ve isOpen/isClosed gibi özellikler desteklenmeye devam eder. (Iad40c, b/178529942, b/220676296)

Hata Düzeltmeleri

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

Sürüm 1.5.0-alpha02

5 Nisan 2023

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

Hata Düzeltmeleri

  • Yuvalar için boş içerik sağlandığında BottomSheetScaffold öğesinin 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

  • Chipgroup yeniden akış ö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 bir şekilde ç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çülürse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalDrawer'daki Swipeable API'lerde değişiklikler yapıldı. DrawerState adlı kullanıcının animateTo yöntemi, açma ve kapatma yöntemleriyle değiştirildi. Ofset artık boş değer atanabilir. Telafi gerektirmek için requireOffset öğesini kullanın. (I3de9e)
  • Materyal ve Material3 Text, minLines ve TextField'e OutlinedTextField parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d).
  • BasicText ve BasicTextField parametrelerine minLines parametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı cinsinden ayarlamaya olanak tanır (I24294, b/122476634).

Sürüm 1.4.0-rc01

8 Mart 2023

androidx.compose.material:material-*:1.4.0-rc01, herhangi bir 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 Swipeable API'lerde değişiklikler yapıldı. BottomSheetState'nın confirmStateChange parametresinin adı confirmValueChange olarak değiştirildi. progress artık hareketli değer olarak gösteriliyor. animateTo ve snapTo dahili bağımlılıklardır. Bunun yerine expand() ve collapse() politikalarını kullanın. direction ve overflow kaldırıldı. offset, requireOffset() ile değiştirildi. (I323b4)

Hata Düzeltmeleri

  • Tıklanabilir ve seçilebilir yüzeylerden semantik roller kaldırıldı, bunları kullanan bileşenler modifier.semantics kullanarak rolleri ayarlayacak şekilde güncellendi (Ibb4ba).
  • Dolu desktop_mac, directions ve kitchen simgelerinde ince ayarlar yapan, genişletilmiş Material Icons'da küçük bir güncelleme yapıldı. (I65f5e)

Sürüm 1.4.0-beta01

8 Şubat 2023

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

API Değişiklikleri

  • pullRefresh öğesinin hızı kullanmamasına ve aşırı kaydırmaya 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ı da 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)
  • ModalBottomSheetLayout'da, bazı durumlarda gizli durumdan görünür duruma geçildiğinde sayfanın kilitlenmesine neden olan hata düzeltildi. (Ia9265, b/265444789)

Sürüm 1.4.0-alpha04

11 Ocak 2023

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

API Değişiklikleri

  • Yüzeylerde IsContainer semantik özelliği eklendi. Bu özellik, yüzeyler gibi öğelerin anlamsal 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 fırça ucu parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState'nin confirmStateChange adlı şarkı listesinin adı confirmValueChange olarak değiştirildi. (Ib48d1)
  • Kullanımdan kaldırılan ve gizlenen işlevlerin daha fazla dönüş türü null olabilir (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğe daha küçük ölçülürse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout'daki Swipeable API'lerde değişiklikler yapıldı. ModalBottomSheetState işlevinin animateTo parametresi 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

  • Bir ModalBottomSheetLayout sayfasının maksimum genişliği artık 640 dp. (I71a4f, b/234927577)
  • rememberPullRefreshState'nın zaman içinde refreshThreshold ve refreshingOffset'yi güncellememesi sorunu düzeltildi. (Ifed10, b/263159832)
  • İlerleme durumu göstergelerindeki ilerleme durumu artık beklenen aralıkla düzgün şekilde sınırlanı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'nın HalfExpanded olması durumunda kilitlenmesine neden olan hata düzeltildi. Lütfen yapılandırmayı kontrol ederek doğru initialValue değerini ilettiğinizden emin olun. (Ie8df7, b/182882364)
  • E-tablo içeriği boşsa ModalBottomSheetLayout uygulamasının kilitlenmesine neden olan sorun düzeltildi. ModalBottomSheetLayout artık boş sayfa içeriğine izin veriyor. Sayfa içeriği boşsa yalnızca Gizli durumu olur. (Ic2288, b/200980998, b/216693030)

Bilinen Sorun

  • androidx.compose.foundation:1.4.0-alpha03 sürümünden androidx.compose.foundation:1.4.0-alpha04 sürümüne güncelleme yaparken java.lang.NoSuchFieldError hatasıyla karşılaşabilirsiniz. Sorun burada ilk olarak bildirildi. Düzeltme gönderildi ve bir sonraki Oluşturma güncellemesinde kullanıma sunulacak. Geçici çözüm olarak androidx.compose.material ve androidx.compose.material3 kitaplıklarınızı en son sürüme(1.1.0-alpha04) güncelleyin veya androidx.compose.foundation sürümünüzü 1.4.0-alpha03'e düşürün.

Sürüm 1.4.0-alpha03

7 Aralık 2022

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

API Değişiklikleri

  • @JvmDefaultWithCompatibility ek açıklamasının eklenmesi (I8f206)
  • Swipeable API'lerinde ModalDrawer değişiklikler yapıldı. DrawerState'nın animateTo, open ve close yöntemleriyle değiştirildi ve artık ofset değeri boş olabilir. Telafi gerektirmek için requireOffset öğesini kullanın. (I3de9e)
  • Üst öğelerin kaydırma bilgilerini sorgulamak için bir Modifier API eklendi. (I2ba9d, b/203141462)
  • Hareketler kaydırma etkinliğine dönüşebildiğinde, basma etkileşimlerini doğru şekilde geciktirmek için Clickable içinde kullanılır.
  • Clickables öğesinin, Scrollable ViewGroup içinde kullanıldığında 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ılmasına neden olan sorun düzeltildi. (Ie2416, b/248274004)

Bağımlılık Güncellemeleri

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

Sürüm 1.4.0-alpha02

9 Kasım 2022

androidx.compose.material:material-*:1.4.0-alpha02 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, minLines ve TextField'e OutlinedTextField parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d).
  • BasicTex ve BasicTextField parametrelerine minLines parametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı cinsinden ayarlamaya olanak tanır (I24294, b/122476634).

Sürüm 1.4.0-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) parametre adını değerlerden değere değiştirin.

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.material:material-*:1.3.0-rc01 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ü.

Compose 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 geçebilmesini sağlamak için yapılmıştır.

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

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

  • Rozet örneğini, daha anlamlı bir içerik açıklaması sağlayacak şekilde 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 sürümünün ilk beta sürümüdür.

API Değişiklikleri

  • TextFieldDefaults.BorderStroke adlı, OutlinedTextField içinde kenarlık konturu çizen composable işlevi 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 sürümünde kullanımdan kaldırıldı. Değişikliği tamamen kullanmak için consume() öğesini 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, PointerInputChange kopyalarından biri kullanıldığında diğer kopyaları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 takip etmek için tıklanabilir Card API'de güncellemeler yapıldı (I56bcb).
  • Seçilebilir ve açılıp kapatılabilir yüzeyler için ek aşırı yüklenmiş işlevler ekleyen Material 2 Surface API'de güncellemeler. (Ifcca5)

Sürüm 1.2.0-alpha05

9 Mart 2022

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

API Değişiklikleri

  • LazyVerticalGrid ve LazyHorizontalGrid artık kararlı. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen androidx.compose.foundation.lazy.grid'e aktarımlarınızı androidx.compose.foundation.lazy'den güncelleyin. (I2d446, b/219942574)
  • Yalnızca bir Görünüm'e güvenmeye yönelik önceki değişiklik geri alındı ve bazı pencere işaretlerini yönetmek için gerekli olan bir Pencere tekrar zorunlu kılındı.WindowInsetsControllerCompat 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. Uzun komut dosyalarında kırpma olmamalıdır. (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, Material Design 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 yöntemi eklendi. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168003617)
  • ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget işlevleri eklendi. Bu işlevler, bir composable işlevin, kullanılması için tasarlanmadığı bir uygulayıcıyı hedefleyerek çağrıldığı zaman derleme zamanı raporlamasına olanak tanır.

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

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode çağıran composable işlevlerin, işlev ve composable lambda parametre türleri için CompoableTarget ek açıklaması eklemesi gerekir. Ancak, ComposableTargetMarker ile açıklama eklenmiş bir açıklama oluşturmanız ve ardından doğrudan ComposableTarget yerine işaretlenmiş açıklamanın kullanılması önerilir. ComposableTargetMarker ile işaretlenmiş bir birleştirilebilir 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 bir örnek için anroidx.compose.ui.UiComposable bölümüne bakın. (I38f11)

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha03 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

  • Artık Kotlin 1.6.10'e 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 konumunda NullPointerException 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ği 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 uymak üzere düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişletilir. Bu, Compose Material'ı Material Design Components'ın davranışıyla aynı hale getirir. Böylece, Views ve Compose'u birlikte kullandığınızda tutarlı davranışlar elde edersiniz. Bu değişiklik, Compose Material bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda dokunma hedefi erişilebilirliğiyle ilgili 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 (Behaviour Changes)

Compose 1.0 ile ilgili olarak, Material bileşenlerinin, Material erişilebilirlik kuralları dokunma hedefi boyutunu karşılamak için düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişletilir. Bu, Compose Material'ı Material Design Components'ın davranışıyla aynı hale getirir. Böylece, Views ve Compose'u birlikte kullandığınızda tutarlı davranışlar elde edersiniz. Bu değişiklik, Compose Material bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda dokunma hedefi erişilebilirliğiyle ilgili minimum şartların karşılanmasını da sağlar.

Hata Düzeltmeleri

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

Sürüm 1.1.0-rc01

15 Aralık 2021

androidx.compose.material:material-*:1.1.0-rc01 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. Version 1.1.0-beta04 contains these commits.

Yeni Özellikler

  • Kotlin ile uyumlu olacak şekilde güncellendi 1.6.0

Sürüm 1.1.0-beta03

17 Kasım 2021

androidx.compose.material:material-*:1.1.0-beta03 iptal edilir. Version 1.1.0-beta03 contains these commits.

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 fareyle üzerine gelme ve odaklanma durumlarını destekliyor. Bu nedenle, düğme gibi bir bileşenin üzerine gelindiğinde veya odaklanıldığında 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. 1.1.0-alpha06 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Daha iyi verimlilikle (Ib0d9a) Layout için çocuksuz bir aşırı yükleme eklendi.
  • ExposedDropdownMenu, ExposedDropdownMenuBox temel alınarak TextField ve DropdownMenu ile birlikte uygulanıyor (If60b2)
  • dismissOnOutsideClick, PopupProperties adlı CSS'ye eklendi ve desteği sonlandırılan dismissOnClickOutside ile değiştirildi. Yeni mülk, tıklama konumunu ve sabitleme sınırlarını alır. Bu sayede, onDismissRequest'in çağrılıp çağrılmaması konusunda daha ayrıntılı kontrol sağlanır. Örneğin, bu, dokunulduğunda bağlantının kapatılmasını önlemek için yararlı olabilir.
    • updateAndroidWindowManagerFlags, PopupProperties'ye eklendi. Bu sayede, pop-up tarafından Android WindowManager'a iletilen işaretler üzerinde düşük düzeyde kontrol sağlanır. Lambda'nın parametresi, PopupProperties değerlerinden hesaplanan ve WindowManager işaretleriyle sonuçlanan işaretler olacaktır (ö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ının 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. Version 1.1.0-alpha05 contains these commits.

API Değişiklikleri

  • Erişilebilir dokunma hedefi olmayan Material bileşenleri için minimum dokunma hedefi boyutu eklenir. Bu, bileşenlerin etrafına yeterince büyük bir dokunma hedefi olmasını sağlamak için 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)
  • TextFieldColorsWithIcons deneysel arayüzü eklendi. Bu arayüz, TextFieldColors'ı genişleterek leadingColor ve trailingColor için InteractionSource sağlar. Bu, TextField'ın görünümünün odak 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

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

Hata Düzeltmeleri

  • Minimum dokunma hedefi amacıyla, dokunma hedefi sınırlarının klip bölgesinin ötesine genişletilmesine 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 semantik 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 durumda 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

  • İsteğe bağlı bir FilterQuality parametresini kullanmak için kaynak ve hedef dikdörtgenleri kullanan güncellenmiş DrawScope#drawImage yöntemi. Bu, piksel tabanlı sanat için büyütüldüğünde pikselli olması amaçlanan piksel sanat için kullanışlıdır. BitmapPainter + Image composable, isteğe bağlı bir FilterQuality parametresini de kullanacak şekilde güncellendi (Ie4fb0, b/180311607)
  • BadgeBox'ın adı BadgedBox olarak değiştirildi ve parametreler, Badge composable'ı kabul edecek şekilde 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

  • Kotlin 1.5.31'ya bağlı 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

  • Kotlin 1.5.30'ya bağlı 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

  • Kotlin 1.5.21'ya 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 kararlı ilk 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 kilitlenme hatasıyla karşılaşabilirsiniz:

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

    Düzeltmek için build.gradle dosyanızda minSdkVersion'i 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 değerini 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 içindeki useDefaultMaxWidth, usePlatformDefaultWidth olarak yeniden adlandırıldı. (I05710)
  • İletişim kutuları artık ekran genişliğinin tamamını kullanabilir. (I83929, b/190810877)
  • Deneysel aralık kaydırma çubuğu uygulaması eklendi (I2f4b3)

Hata Düzeltmeleri

  • Geçersiz giriş içeren OutlinedTextField, Material Design spesifikasyonlarına uygun olarak 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ı odaklanmamış durumdayken 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şme için kullanılan bir kalıptır. Bu kuralların söz dizimi, adb shell profman --dump-classes-and-methods ... kullanılırken kullanılan okunabilir ART profili biçiminin üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini alır.

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

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

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

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

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

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

Kurallar ne işe yarar?

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

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

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

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

Nasıl çalışır?

  • Kitaplıklar, AAR yapıtlarında paketlenecek bu kuralları tanımlayabilir. Bu yapıtları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleş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 üzerinde hiçbir etkisi olmayacağını 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ı tüketiyor. Bu nedenle, Surface(Modifier.clickable) aracılığıyla eklenen tıklamalar işlem yapmıyor. 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ılamıyordu.

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 semantik özellikleri artık tek değer değil, liste olarak kullanılıyor. Bu sayede, birleştirme 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 numaralandırması, 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, bu değiştiricinin değiştirici zincirindeki koordinatlarını raporlayacak şekilde değiştirildi. Bu nedenle, artık değiştiricilerin sıralaması hangi koordinatların raporlanacağını etkiliyor. (Ieb67d, b/177926591)
  • Mevcut Compose Material kataloğu için bir README 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şımaya 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)
  • Koleksiyonun ve öğelerinin erişilebilirlik hizmetleri için işaretlenmesine olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017).
  • Geçersiz giriş içeren bir düğümü işaretlemeye olanak tanıyan erişilebilirlik API'si error eklendi (I12997, b/180584804, b/182142737).

Hata Düzeltmeleri

  • https://github.com/google/accompanist/pull/365 adresinden güncellenen Compose Material katalog yerleştirme uygulaması. (I25dc3)
  • weight(fill = false) özelliğine sahip Row ve Column 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, halihazırda 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 olanak tanır (özellikle testlerde kullanışlıdır) (I579a6)
  • LiveRegion erişilebilirlik API'si eklendi. Düğüm canlı bölge olarak işaretlenmişse erişilebilirlik hizmetleri, değişiklikler hakkında kullanıcıyı otomatik olarak bilgilendirir (Idcf6f, b/172590946).

Hata Düzeltmeleri

  • Compose Material kataloğunun mevcut modüle uygulanması eklendi. Şu anda eksik olanlar: bileşen 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 desteği sonlandırıldı. withFrameNanos veya Recomposer.runRecomposeAndApplyChanges'i MonotonicFrameClock olmadan çağırmak 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 artık açık veya genişletilmiş durumdaysa 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 Start olarak değiştirildi (Ib2dc7).
  • Şu anda mevcut entegrasyon testi demolarına yerleştirilmiş olan bir Compose Material kataloğu için yeni bir modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
  • androidx.compose.ui:ui artık AppCompat veya Fragment'e bağlı değil. Uygulamanızda ComposeView kullanıyorsanız ve Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3+ / Fragment 1.3+ sürümlerini kullandığınızdan emin olun. Bu sürümler, ComposeView için gereken yaşam döngüsü ve kayıtlı durum sahiplerini doğru şekilde ayarlamak için gereklidir. (I1d6fa, b/161814404)

Sürüm 1.0.0-beta01

24 Şubat 2021

androidx.compose.material:material-*:1.0.0-beta01 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şlevleri olarak kullanılıyor. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
  • Boyutlandırma için doğal boyut değiştiriciler artık deneysel değildir. (I15744)
  • Kaldırılan dp onayları (I798d2)
  • Yakında yeni bir API ile değiştirilecek olan SoftwareKeyboardController geri çağırma işlevi, tüm metin alanlarından kaldırıldı. (Iae869, b/168778053)
  • Switch, Checkbox ve RadioButton işlem lambdaları artık null değer atanabilir. Tıklanabilir satırda 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.
    • Button ve Modifier.clickable() gibi bileşenlere interactionState = remember { InteractionState() } iletmek yerine interactionSource = remember { MutableInteractionSource() } kullanın.
    • Şunun yerine: Interaction.Pressed in interactionState Bunun 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 belgelerine 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 düzeyli 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 istisnası oluşturulur. (I2cbbc, b/179695417)
  • @ExperimentalRippleApi kaldırıldı ve RippleAlpha, arayüz yerine özelliklere sahip bir sınıf olarak değiştirildi. (I6df7c)
  • TextField ve OutlinedTextField'da farklı durumlarda kullanılan farklı renkleri temsil etmek için TextFieldColors arayüzü eklendi. Varsayılan uygulama için TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors'a bakın.
    • TextField ve OutlinedTextField içindeki isErrorValue parametresi isError olarak yeniden adlandırıldı. (I831f9, b/171305338, b/168004067)
  • Erişilebilirlik amacıyla Sekmeler veya Radyo Düğmeleri koleksiyonunun işaretlenmesine olanak tanıyan selectionGroup değiştiricisini ekleyin (Ie5c29).
  • LazyListState.animateScrollToItem işlevini ekleyin.

    Bu yöntem, listedeki belirli bir öğeye sorunsuz ş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'lere çağrı yapıldığından emin olmak için derleme zamanında doğrulanıyor (I58961).

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

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

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

  • FlingConfig, FlingBehavior olarak yeniden adlandırıldı ve 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)

  • Orientation, temel pakete taşındı. VelocityTracker, ui.gesture'dan ui.input.pointer'a taşındı. (Iff4a8, b/175294473)

  • drawerState.open() ve drawerState.close() artık askıya alma işlevleridir. 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 içermiyor.
    • 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ğil.
    • keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Artık gerekli değildir.
    • Composer.collectKeySourceInformation kaldırıldı. Artık gerekli değil.
    • 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 durum, kaynak uyumluluğunu değil ikili uyumluluğu bozacaktır. Bu nedenle, çoğu kullanıcı için sorun teşkil etmez.
    • (I99b7d, b/177245490)
  • Modifier.scrollable yeniden düzenlendi. Artık ScrollableController sınıfı yerine kaydırılabilir 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 eskisiyle 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 (Ice5da, b/178633932) silindi.

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

    • Varsayılan dolguyu özelleştirmeye olanak tanımak için Top/BottomAppBar'a contentPadding parametresi eklendi.
    • Gerekli parametrelerin isteğe bağlı parametrelerden önce gelmesiyle ilgili API yönergelerine uymak için BackdropScaffold'daki parametreler yeniden sıralandı.
    • BottomNavigationItem'daki icon parametresi, selected ve onClick sonrasına taşındı.
    • BottomNavigationItem'daki alwaysShowLabels parametresi alwaysShowLabel olarak yeniden adlandırıldı.
    • Birkaç bileşendeki bodyContent parametreleri content olarak yeniden adlandırıldı.
    • ButtonDefaults.buttonColors() içindeki parametreler yeniden sıralandı. Parametrelerin türü değişmediğinden 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 contentPadding parametresi DropdownMenuItem'ye eklendi ve content, RowScope'ün uzantısı olarak ayarlandı.
    • 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 / durum yazmaktan sorumlu değildir. Bu animasyonlar ve durum yazma işlemleri bunun yerine rememberUpdatedIndication() içinde gerçekleşmelidir. Modifier.indication içindeki indication parametresi de zorunlu parametre olarak değiştirildi. (Ic1764, b/152525426)

Hata Düzeltmeleri

  • TextField'daki önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController composition local 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 coroutine'inin 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, 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)
  • Destructuring ve copy() yöntemleri, nadiren kullanıldıkları birkaç sınıftan 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, şimdilik yalnızca Android'e özel olarak taşındı. Temel alınan pop-up'ın daha fazla yapılandırılması için DropdownMenu'ye PopupProperties parametresi eklendi. (I9c443)
  • loadFontResource kullanımdan kaldırıldı. Bunun yerine fontResource kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource desteği sonlandırıldı. Bunun yerine painterResource kullanın. (I6b809)
  • DropdownMenu'den toggle ve toggleModifier parametresi kaldırıldı. dropdownModifier, dropdownOffset ve dropdownContent sırasıyla modifier, offset ve content olarak yeniden adlandırıldı. DropdownMenu artık Popup ile tutarlı bir şekilde çalışıyor. Menünün konumu için üst düzen kullanılıyor. Çoğu durumda toggle öğesini DropdownMenu öğesinin kardeşi olacak şekilde taşıyabilir ve her ikisini de Box öğesiyle sarmalayabilirsiniz. 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 iyileş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 (...)} politikasını kullanın. Alternatif olarak, tek eksenli sürüklemeler için Modifier.draggable'ı kullanın (I0ba93, b/175294473)
  • Ambients, Ambient -> CompositionLocal yeniden adlandırmasıyla eşleşecek şekilde yeniden adlandırıldı. Ambients, AmbientFoo olarak adlandırılırdı. Artık CompositionLocals, LocalFoo olarak adlandırılıyor. (I2d55d)
  • Seçim, temel katmana taşındı. (I7892b)
  • Daha önce state { 0 } composable'ı kaldırdığımız ve şimdi remember { mutableStateOf(0) } gibi kullanımları desteklediğimiz gibi, savedInstanceState { 0 } composable'ı da kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmanız gerekir. MutableState içinde kullanılan tür Bundle'da depolanabiliyorsa bu tür otomatik olarak kaydedilir ve geri yüklenir. Daha önce özel bir kaydedici nesne iletiyorsanız artık stateSaver parametresine sahip yeni bir rememberSaveable aşırı yüklemesi kullanmanız gerekir. Kullanım şu şekilde görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Erişilebilirlik için belirsiz ilerleme çubuklarını işaretlemek üzere ProgressBarRangeInfo.Indeterminate eklendi (I6fe05)
  • @ComposableContract, üç daha spesifik ek açıklama lehine kullanımdan kaldırıldı.

    • @ComposableContract(restartable = false), @NonRestartableComposable oldu
    • @ComposableContract(readonly = true), @ReadOnlyComposable oldu
    • @ComposableContract(preventCapture = true), @DisallowComposableCalls oldu
    • @ComposableContract(tracked = true) kaldırıldı.
    • (I60a9d)
  • emptyContent() ve (@Composable () -> Unit).orEmpty() yardımcı programlarının artık olumlu bir performans etkisi veya değeri olmadığından desteği sonlandırıldı (I0484d).

  • rememberSavedInstanceState() işlevinin adı rememberSaveable() olarak değiştirildi ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)

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

  • RounderCornerShape, CutCornerShape ve CornerBasedShape üzerindeki parametreler, şeklin sağdan sola yönünde otomatik olarak yansıtılmasını desteklemek için soldan/sağdan başlayarak/biterek 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)

  • backgroundColor olarak renk parametresi için contentColor yeniden adlandırıldı (I5bb67)

  • TabDefaults kullanımdan kaldırıldı ve yerine TabRowDefaults getirildi. (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 etkinleştirilmiş parametreler eklendi. API'sindeki düzen gereksinimlerini 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)

  • Shape'in 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 pencere için ViewTreeLifecycleOwner tarafından yönlendirilen, pencere kapsamlı ve geç oluşturulan Recomposer'ları varsayılan olarak 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 boyutuna uyacak şekilde ölçeklendirilecek ve kendisine uygulanan boyut değiştiricilere uyacak. Ö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 (I5d20e) olmaması için yükseltme yapıldı.
  • 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() eklenir. Ayrıca animateElevation, Animatable üzerinde bir askıya alma uzantısı olacak şekilde değiştirildi. (If613c)
  • Snackbar, SnackbarHost ve SnackbarHostState artık @ExperimentalMaterialAPI değil (Id1fb5)
  • Typography, Shapes ve TabPosition artık veri sınıfları olmayacak şekilde değiştirildi. 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 kullanımdan kaldı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şlevini kullanımdan kaldırın, askıya alınmayan scrollTo işlevini kaldırın

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

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

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

  • Button ve FloatingActionButton'da kullanılan dalgalanma artık AmbientIndication aracılığıyla yeni bir Indication sağlanarak özelleştirilemez. Bu, söz konusu bileşenleri özelleştirmenin bir yolu olarak tasarlanmamıştı ve artık bu bileşenler diğer Material bileşenleriyle tutarlı hale geliyor. Bir uygulamadaki 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ı. Bu özellik, metin alanına simge, yer tutucu, etiket gibi süslemeler eklemenize ve hedef alanını büyütmenize 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ılmalıdır. Genellikle en azından onRoot() veya pencere boyutunu kullanmak daha iyidir. (I62db4)

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

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

  • PopupPositionProvider, global 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).

  • Kolaylaştırma, işlevsel bir arayüzle (Ib14e5) değiştirildi.

  • ScrollableColumn/Row kullanımdan kaldırıldı. LazyColumn'da 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)

  • Kullanımdan kaldırılan genel koordinat yöntemleri 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 deneysel olarak işaretlendi. (I2d898, b/177000821)

  • SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı. stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. 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 grafik API'si, vektör grafiklerin köküne uygulanan renk tonlarının ayrıştırılmasını destekleyecek şekilde güncellendi. (Id9d53, b/177210509)

Sürüm 1.0.0-alpha10

13 Ocak 2021

androidx.compose.material:material-*:1.0.0-alpha10 iptal edilir. Version 1.0.0-alpha10 contains these commits.

API Değişiklikleri

  • Hız, bileşen parçaları ve matematiksel işlemler içerecek şekilde değiştirildi. (Ib0447)
  • Benzer deneysel API ek açıklamalarıyla (Ia4502, b/171464963) tutarlı olması için @ExperimentalTesting, @ExperimentalTestApi olarak yeniden adlandırıldı.
  • Konum, DpOffset olarak yeniden adlandırıldı ve getDistance() kaldırıldı (Ib2dfd)
  • Color.useOrElse() işlevinin adı Color.takeOrElse() olarak değiştirildi (Ifdcf5).
  • Toggle'ı foundation Strings.kt dosyasına ekleyin (I4a5b7, b/172366489)
  • FlowRow ve FlowColumn'un desteği sonlandırıldı. Lütfen bunun yerine özel bir düzen kullanın. (I09027)
  • Modifier.focus() ve Modifier.focusRequester() kullanımdan kaldırıldı. Bunun yerine Modifier.focusModifier() ve Modifier.focusReference() kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
  • nativeClass, ui modülüne taşındı ve dahili hale getirildi. equals uygulamalarındaki nativeClass kullanımları, bunun yerine "is MyClass" kullanacak şekilde güncellendi. (I4f734)

Hata Düzeltmeleri

  • Devre dışı bırakılmış ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
  • animate() artık T yerine State<T> döndüren animateAsState() ile değiştirildi. Bu, geçersiz kılma kapsamı State değerinin okunduğu yerle sınırlandırılabildiğinden daha iyi performans sağlar. (Ib179e)
  • Semantics role API'yi ekleyin ve Role'ü tıklanabilir, seçilebilir ve açılıp kapatılabilir SemanticsModifier'a parametre olarak ekleyin. Kaydırma çubuğunun 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. Version 1.0.0-alpha09 contains these commits.

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 *Constants nesnelerinin adları, ButtonDefaults gibi Defaults ile bitecek şekilde değiştirildi. Ayrıca, bu yeni nesnelerdeki özelliklerden gereksiz default ön ekleri de kaldırır. (Ibb915, b/159982740)
  • Compose, birleştirilebilir çağrılar yapabilen mülk getter'larını destekler. Bu destek kaldırılmayacak ancak bir özellik alıcısının @Composable olarak bildirilmesiyle ilgili söz dizimi değişiyor.

    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 kullanımdan kaldırılan söz dizimi sonunda derleme hatasına dönüşecek. (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ı oluşturmak zorunda kalmadan, kompozisyon sırasında bir composable'ın tüm çizim sınırlarını kaplayan gradyanlar tanımlamak için kullanışlıdır.

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

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

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

  • Dp.VectorConverter, Position.VectorConverter vb. öğeleri animation-core'a taşıdı ve eski VectorConverter'ların (If0c4b) desteğini sonlandırdı.

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

  • Moved ContentDrawScope to ui-graphics module to be with DrawScope. (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ı. Version 1.0.0-alpha08 contains these commits.

API Değişiklikleri

  • MaterialTheme artık seçim tutamaçları ve seçim arka planı için doğru renkleri ayarlıyor. Material 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önergeler doğrultusunda, 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önergeleri uyarınca 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 tür takma adı eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
  • Temel anlamsal özellikler ui'ye taşındı (I6f05c).
  • fun RippleIndication(), diğer API'lerle tutarlılık sağlamak için desteği sonlandırıldı ve 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ını sağlamak için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)

Hata Düzeltmeleri

  • Anlam bilimi işlemi 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 takma adları/yardımcı yöntemleri içeren DrawModifierDeprecated.kt dosyasını oluşturdu. (Id6044, b/173834241)
  • Modifier.drawLayer, Modifier.graphicsLayer olarak yeniden adlandırıldı. Ayrıca, API geri bildirimine göre ilgili sınıflar GraphicsLayer olarak güncellendi. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout bildiriminden kaldırıldı. Artık tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • drawLayer için kolaylık sağlamak amacıyla 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)
  • Box'ın 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 kontrolü eklendi. Bu lint kontrolü, parametrenin adlandırmasını, dönüş türünü, varsayılan değerini ve sırasını Compose yönergeleriyle tutarlılık açısından kontrol eder. (If493b)
  • Updated TextFieldValue API
    • TextFieldValue.composition salt okunur hale getirildi
    • Geçersiz seçim aralığı için kaldırılan istisna oluşturuldu (I4a675, b/172239032)
  • Yeni bir Modifier.drawLayer() aşırı yükü eklendi. Durum değişikliği olduğunda 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).
  • Ambient sonekiyle adlandırılan, kullanımdan kaldırılan Ambients'ı diğer Ambients ve Compose API yönergelerine uygun olarak Ambient önekiyle adlandırılan yeni özelliklerle değiştirdi. (I33440)
  • Değiştirici fabrikalarının @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullandığını kontrol etmek için lint kontrolü eklendi. (I3c4bc)
  • Semantik 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ırın (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 bu özelliğin yerini AmbientContentAlpha aldı. AmbientContentAlpha, hiyerarşinin bir bölümü için tercih edilen içerik alfasını temsil eden daha basit bir soyutlamadır. AmbientContentColor, tercih edilen içerik rengini temsil etmeye benzer. Metin ve simge artık varsayılan olarak AmbientContentAlpha'dan geçerli değeri kullanıyor. Bileşenlerinizde aynı efekti elde etmek için color.copy(alpha = AmbientContentAlpha.current) işlemini manuel olarak yapabilirsiniz. ProvideEmphasis'i kullanmak yerine, AmbientContentAlpha üzerinden doğrudan bir değer sağlayabilir ve eski EmphasisLevels'ın yerine ContentAlpha'daki yeni varsayılan düzeyleri kullanabilirsiniz. (Idf03e, b/159017896)
  • androidx.compose.foundation.AmbientContentColor yerine androidx.compose.material.AmbientContentColor ekleniyor (I84f7b, b/172067770)
  • Yüksek düzeyde, temalandırılabilir bir Metin bileşeni olarak androidx.compose.foundation.Text yerine androidx.compose.material.Text eklenir. Temadan renk / metin stili kullanmayan temel bir metin bileşeni için BasicText'i kullanın. (Ie6ae0)
  • TextField'lara maxLines özelliği eklendi (Ib2a5b).
  • TextField'ları KeyboardOptions'ı kabul edecek şekilde güncelleme (Ida7f3)
  • Surface artık yükseklik katmanlarını hesaplarken mutlak (toplam) yüksekliği kullanıyor. Bu nedenle, başka bir Surface'e yerleştirilmiş bir Surface, katmanı çizmek için birleşik yüksekliği kullanır. (I7bd2b, b/171031040)

Hata Düzeltmeleri

  • captureToBitmap, captureToImage adlı kümeye 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 artık kullanılmıyor ve yerine material.Text kullanılıyor. Temadan değer kullanmayan temel ve tarafsız bir metin API'si için androidx.compose.foundation.BasicText'e bakın. (If64cb)
  • KeyboardOptions'ı ImeOptions olarak yeniden adlandırın (I82f36)
  • KeyboardType ve ImeAction, KeyboardOptions'a taşındı (I910ce)
  • BaseTextField kullanımdan kaldırıldı. Bunun yerine BasicTextField'ı kullanın. (I896eb)
  • ExperimentalSubcomposeLayoutApi notu kaldırıldı. SubcomposeLayout artık @OptIn eklenmeden kullanılabilir (I708ad).
  • FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine taşındı (Ied2e7).
  • Icon API, ColorFilter olmadan sağlanan öğeyi veya boyayı çizecek olası bir renk tonu olarak Color.Unspecified'ı alacak şekilde güncellendi. Daha önce, Color.Unspecified ile renk tonunu yoksayma girişimleri, şeffaf bir renkle renk tonu oluşturarak hiçbir şeyin oluşturulmamasına neden oluyordu. (I049e2, b/171624632)
  • relativePaddingFrom, paddingFrom olarak yeniden adlandırıldı. paddingFromBaseline değiştiricisi, düzen sınırlarından metin taban çizgilerine olan mesafeleri belirtme kolaylığı için 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ı durumlardaki FAB'ler tarafından kullanılan yüksekliği temsil etmek için FloatingActionButtonElevation'ı ekler. Varsayılan uygulama için FloatingActionButtonConstants.defaultElevation() bölümüne bakın (I2d4f5).
  • Bir anahtarın farklı durumlarda kullandığı renkleri temsil etmek için SwitchColors arayüzünü ekler. Bu renkleri özelleştirmek için SwitchConstants.defaultColors bölümüne bakın. (I93805)
  • Farklı durumlardaki düğmeler tarafından kullanılan yüksekliği ve renkleri temsil etmek için ButtonElevation ve ButtonColors arayüzlerini ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevlere bakın. (Ic5b7b)
  • RadioButtonColors arayüzünü, bir RadioButton'ın farklı durumlarda kullandığı renkleri temsil etmek için ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() yöntemine bakın. (I74130)
  • Farklı durumlarda 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() öğesine bakın. (I7dbdb)

Hata Düzeltmeleri

  • Materyal 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).
  • Composable API'nin, kompozisyonlar arasında verileri kalıcı hale getirmek için dahili olarak "remember" işlevinden yararlandığını daha iyi belirtmek amacıyla VectorPainter'ı 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 CanvasScope'u kullanacak şekilde yeniden düzenlenmiş uygulamaları
    • DrawScope için bağımlılıkları sarmalamak üzere DrawContext oluşturuldu.
    • DrawScope'ta kullanımdan kaldı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)
  • Tüm iskele durumları @Stable olarak işaretlendi. ScaffoldState'teki drawerGesturesEnabled, Scaffold'a taşındı. (I36645, b/168297016)
  • İskele 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ğini sonlandırır ve bunları sırasıyla AmbientContentColor ve AmbientTextStyle ortamlarıyla değiştirir. Diğer tüm ortam özelliklerinde olduğu gibi, ortam özelliğinde .current kullanarak geçerli değere erişebilirsiniz. Bu değişiklik, tutarlılık sağlamak ve aynı şeyi yapmanın birden fazla yolunu önlemek için yapılmıştır. Ayrıca, bazı ortam özelliklerinin adını, amaçlarını daha iyi açıklayacak şekilde aşağıdaki gibi değiştirir:

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

Hata Düzeltmeleri

  • Satır içi sınıflar için sentinel değerlerinin standartlaştırılması kapsamında, diğer satır içi sınıflarla tutarlılık sağlamak amacıyla Color.Unset'in adını Color.Unspecified olarak değiştirin (I97611, b/169797763).
  • TextOverflow.None kullanıma sunuldu. Taşma None olduğunda, Text artık taşmayı 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 okunmasına / 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 yapılacağı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, rememberBackdropScaffoldState olarak yeniden adlandırıldı ve animasyon saati için ek bir parametre eklendi. 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'da x/y koordinatları için ayrı kayan parametreler yerine pivot koordinatını temsil etmek üzere tek bir Offset parametresini kullanmak için ö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 dokümanı, elipsin yanı sıra oval de içerecek ş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, topRight, bottomRight, bottomCenter vb. sorgulamak için kaldırıldı.
    • 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 Radius ö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 içindeki yeni Box lehine kullanımdan kaldırılacak. Yeni kutunun davranışı, birden fazla alt öğe içerdiğinde alt öğeleri üst üste yığmaktır. Bu, sütuna benzer şekilde davranan önceki kutudan farklıdır. (I94893, b/167680279)
  • Kutu dekorasyonu parametrelerinin desteği sonlandırıldı. Kutunuzda süsleme/dolgu olmasını istiyorsanız bunun yerine Değiştiriciler'i (Modifier.background, Modifier.border, Modifier.padding) kullanın (Ibae92, b/167680279).
  • Birçok grafik API'si güncellendi
    • Dönüşümün yalnızca geri çağırma içinde uygulandığını ve geri çağırma çağrıldıktan sonra kaldırıldığını belirtmek için kapsamlı dönüştürme yöntemleriyle güncellenen DrawScope API'leri
    • clipPath dokümanı, yuvarlatılmış dikdörtgen yerine Path'e referans verecek şekilde güncellendi.
    • clipPath'teki sağ parametre için dokümanlardaki boşluk düzeltildi.
    • DrawScope.drawCanvas, drawIntoCanvas olarak yeniden adlandırıldı ve boyut parametresi kaldırıldı
    • İç kısım yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı.
    • 4 sınıra da aynı içe yerleştirme değerini sağlayan içe yerleştirme aşırı yüklemesi eklendi.
    • İçerik yerleştirme yönteminin 4 tarafa da uygulanacağını belirten doküman kaldırıldı.
    • Rect sınıfı için güncellenen belgeler
    • Rect parametreleriyle ilgili yorumlar, kdoc stiline uygun şekilde güncellendi.
    • Rect.join ve Rect.expandToInclude kaldırıldı
    • Rect.translate(offset) için aşırı yükleme oluşturuldu ve Rect.shift kullanımdan kaldırıldı
    • (If086a, b/167737376)
  • Düzen kapsamlarının içeriklerinin (ör. RowScope'taki alignWithSiblings) statik olarak içe aktarılması engellendi. Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Sürüm 1.0.0-alpha03

16 Eylül 2020

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

API Değişiklikleri

  • BottomNavigationItem'nın onSelect parametresini onClick olarak yeniden adlandırır (I91925, b/161809324)
  • BottomNavigationItem ve Tab'e InteractionState parametresini ekleyerek bu durumun yükseltilmesine ve bileşenin farklı durumlarda nasıl görüneceğinin ayarlanmasına olanak tanır. (Ia3e9e, b/168025711)
  • Düğmelerdeki disabledBackgroundColor ve disabledContentColor parametrelerini kaldırır. Bunun yerine ButtonConstants içindeki yeni varsayılan renk işlevlerini kullanmanız gerekir. contentColor/backgroundColor'ı zaten açıkça ayarlıyorsanız etkin/devre dışı durumların her ikisinde de rengin üzerine yazılmasını önlemek için bu varsayılan işlevleri kullanmanız ve parametrelerin bir kısmını veya tamamını özelleştirmeniz gerekir. (If9b52)
  • Metin alanının arka plan rengi artık şeffaflık alfasını örtülü olarak uygulamaz. 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 parametreleri tek bir direnç parametresiyle değiştirildi. SwipeableConstants'da yeni bir defaultResistanceConfig yöntemi eklendi. (I54238)
  • Button ve FloatingActionButton için animasyonlu durum bilgili yükseklik desteği ekler. 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() kullanın. (I37925)
  • Etiket, TextField ve OutlinedTextField içinde isteğe bağlı bir parametre haline geldi (I267f6, b/162234081).

Hata Düzeltmeleri

  • onNode veya waitForIdle gibi genel test işlevlerinin desteği sonlandırıldı. Lütfen ComposeTestRule'da (I7f45a) tanımlanan yeni karşılıklarına geçin.
  • DpConstraints ve bunu kullanan API'ler kullanımdan kaldırıldı. (I90cdb, b/167389835)
  • widthIn parametrelerinin minWidth ve maxWidth adları min ve max olarak değiştirildi. preferredWidthIn, heightIn, preferredHeightIn için de benzer değişiklikler yapıldı. (I0e5e1, b/167389544)
  • İleri/geri kaydırma semantiği işlemlerini kaldırın. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
  • Yer çekimi kullanımları, düzen API'lerinde hizalama veya hizalama ile eşleşecek şekilde tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • Mevcut olanlar kullanımdan kaldırılacağından ComposeTestRule'a onNode ve diğer genel yöntemler eklendi. (Ieae36)
  • createAndroidComposeRule ve AndroidInputDispatcher, androidx.ui.test.android kuruluş biriminden androidx.ui.test kuruluş birimine 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 bir 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 malzemedeki ilk karakter TextField, geri silme tuşuyla kaldırılamaz (b/165956313)

Sürüm 0.1.0-dev

Sürüm 0.1.0-dev17

19 Ağustos 2020

androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ve androidx.compose.material:material-icons-extended:0.1.0-dev17 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'ler 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.
    • Snackbar'lar ve snackbar ana makineleri üzerinde kontrol sağlamak ve bunları ScaffoldState'ten ayırmak için SnackbarHostState eklendi. Bu duruma scaffoldState.snackbarHostState üzerinden de erişebilirsiniz.
    • SnackbarHostState ile snackbar'lar arasında ortak arayüzü desteklemek için snackbar aşırı yüklemesi eklendi. (I79aaa)
  • IconButton'a enabled parametresi ekleniyor ve IconToggleButton'daki parametreler yeniden sıralanıyor (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 kullanın. Scaffold'a contentColor ve Modifier parametreleri 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, ScrollableTabRow'da edgePadding'i kullanıma sunar. Bu, sekmelerin öncesindeki / sonrasındaki boş alanı kontrol etmenizi sağlar. (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 lambda (DismissDirection) -> ThresholdConfig olan dismissThresholds parametresi eklendi. (Ie1080)
  • Kaydırma çubuğu, ayrıntılı özelleştirme için daha fazla renge sahiptir (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 (Çekmeceler) eklendi (I23655, b/161804378).
  • state { ... } composable'ı artık netlik için remember { mutableStateOf(...) }'e yapılan açık çağrılar yerine kullanımdan kaldırıldı. Bu, durum yönetimi için genel API yüzeyini ve kavram sayısını azaltır ve sınıf özelliği temsilcisi için by mutableStateOf() modeliyle eşleşir. (Ia5727)
  • Button'ın dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
  • Deneysel bir materyal bileşeni olan SwipeToDismiss'i ekleyin. (I129e5)

Hata Düzeltmeleri

  • onChildPositioned ve OnChildPositionedModifier kaldırıldı. Geliştiriciler bunun yerine çocuk düzeninde onPositioned ve OnPositionedModifier kullanmalıdır. (I4522e, b/162109766)
  • SemanticsPropertyKey'e mergePolicy lambda'sı eklendi. Bu, mergeAllDescendants semantiği birleştirme için özel bir politika tanımlamak üzere kullanılabilir. Varsayılan politika, zaten mevcutsa üst değeri, 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ı. Sonuç olarak, PlacementScope.place() yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmayacak. Bu isteniyorsa bunun yerine PlacementScope.placeRelative() kullanılmalıdır. (I873ac, b/162916675)
  • Rect lehine PxBounds kullanımdan kaldı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)
  • RRect'i, Compose adlandırma kalıplarına daha iyi uyacak şekilde RoundRect olarak yeniden adlandırdı. RRect'e benzer işlev oluşturucular oluşturdu ve RRect işlev oluşturucularının desteğini sonlandırdı (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ı. Version 0.1.0-dev16 contains these commits.

API Değişiklikleri

  • Renkler artık arayüz yerine nihai sınıf olarak kullanılıyor. Özel bir uygulama oluşturup genişletmek yerine, özel tema nesneniz için yeni bir ortam oluşturmalı ve tema nesnesine, MaterialTheme'in dahili olarak çalıştığına benzer şekilde bileşenlerinizdeki yeni ortam üzerinden erişmelisiniz. (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önergelerle eşleşecek şekilde günceller. (Icb605, b/161809324)
  • Modifier.stateDraggable tamamen yeniden düzenlendi ve Modifier.swipeable olarak yeniden adlandırıldı. Yeni bir SwipeableState sınıfı kullanıma sunuldu. DrawerState ve 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)
  • En basit istenen API'nin kolayca bulunup kullanılabilmesi için Material FilledTextField, TextField olarak yeniden adlandırıldı ve temel TextField, 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. Offset ve IntOffset sınıflarını tutarlı bir API yüzeyine sahip olacak şekilde hizalama
    3. IntOffset.Origin'i, Offset API ile tutarlı olması için 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 EmptyCanvas sınıfı oluşturuldu.
    6. ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı.
    7. FilterQuality numaralandırmaları Pascal Case olarak yeniden adlandırıldı
    8. StrokeJoin enum'ları Pascal Case olarak yeniden adlandırıldı.
    9. Renamed PointMode enums to be Pascal Case
    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ç yetki 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 işlemleri zaten yaptığından, eşitlik için gereksiz koşullu kontrolleri kaldırmak üzere Vector alt bileşimi güncellendi.
    19. İşlev oluşturucular lehine, Rect yardımcı oluşturucu yöntemleri kullanımdan kaldırıldı
    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 parametrelerinin koşullu olarak üzerine yazılacak ş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.
  • Move dialog to ui (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 özelliği eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • Modifier.deternimateProgress, Modifier.progressSemantics olarak yeniden adlandırıldı (I9c0b4)
  • Material.io/icons adresine 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" sıralama sinyali daha güçlüdür ve 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ınızı yukarıda Bağımlılıkları bildirme bölümünde gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.

API Değişiklikleri

  • @Model ek açıklaması artık kullanımdan kaldırıldı. Alternatif olarak state ve mutableStateOf'u kullanın. Bu desteği sonlandırma kararı, dikkatli bir şekilde yapılan birçok tartışmanın ardından alınmıştır.

    Gerekçe

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

    • API yüzey alanını ve öğretmemiz gereken kavramları azaltır.
    • Diğer benzer araç setleriyle (Swift UI, React, Flutter) daha uyumlu
    • Geri alınabilir karar. @Model adlı ürünü daha sonra istediğimiz zaman tekrar kullanıma sunabiliriz.
    • @Model yapılandırmasıyla ilgili, ele almamız gereken konular olarak uç durum kullanımını ve yanıtlanması zor soruları 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şkenin özelliğe dönüştürülmesini kolaylaştırır.
    • Eyalete özel, el yapımı optimizasyonlar yapma olasılığını artırır.
    • Ekosistemin geri kalan kısmıyla daha uyumlu hale gelir ve değişmezlik veya "değişebilir durumu benimseme" konusundaki belirsizlik azalır.

    Taşımayla ilgili notlar

    @Model sembolünün 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ımı 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 özellikleri bir veri sınıfının val özellikleri haline getirin, 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 değişiklikler 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 bunu gözlemlemeye güveniyorsanız kullanmak isteyeceğiniz yaklaşım bir sonraki yaklaşımdır.

    data class Position(
     val x: Int,
     val y: Int
    )
    
    @Composable fun Example() {
     var p by state { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p = p.copy(x=it) }
       onYChange={ p = p.copy(y=it) }
     )
    }
    

    2. alternatif: mutableStateOf ve özellik temsilcilerini kullanma

    Bu yaklaşım, Kotlin'in özellik temsilcileri ve mutableStateOf API ile kolaylaştırılır. Bu API, kompozisyon dışında MutableState örnekleri oluşturmanıza olanak tanır. Temel olarak, orijinal sınıfın tüm var özelliklerini, özellik temsilcisi olarak mutableStateOf olan var özellikleriyle değiştirin. Bu yaklaşımın avantajı, sınıfın kullanımının hiç değişmemesi, yalnızca dahili uygulamasının değişmesidir. Ancak her mülk 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 kullanımdan kaldırılan Modifier.ripple öğesini kaldırır. Clickable artık varsayılan gösterge olarak dalgalanmayı kullanıyor (uygulamanızda MaterialTheme {} ayarlanmışsa). Bu nedenle, çoğu durumda yalnızca clickable'ı kullanabilir ve dalgalanma göstergesini ü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).

  • Button işlevi tarafından kullanılan varsayılanları içeren Button 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 desteği sonlandırıldı. Tasarımınıza göre uygun bir radyo düğmesi seçimi grubu oluşturmak için Modifier.selectable, Row ve Column ile birlikte Box'ı kullanın (I7f5cf, b/149528535).

  • Added Material Outlined Textfield (I1a518)

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

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

  • IntPx kullanımı Int ile değiştirildi. IntPxPosition, 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 nokta olarak temsil etmek için 2 kayan nokta değerini paketlemek üzere uzun bir değerden yararlanmak için satır içi sınıfın avantajlarını sağlar. (Ic0191)

  • Modifier.ripple kullanımdan kaldırıldı. Clickable artık varsayılan gösterge olarak dalgalanmayı kullanıyor (uygulamanızda MaterialTheme {} ayarlanmışsa). Bu nedenle, çoğu durumda yalnızca clickable'ı kullanabilir ve dalgalanma göstergesini ü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)

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

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

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

  • 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ği tutmayacak ş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)

  • Kenarlık 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)

  • Kenarlık 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'daki sondaki ve baştaki simgeler için yuva API'si eklendi ve hata durumu işlendi (Ic12e0).

  • FAB'lerin ve Extended 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ı. Malzeme 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ı (Ic75cd) için Materyal Tasarım uygulaması eklendi.

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

  • Typography'ye defaultFontFamily oluşturucu parametresini ekler. Bu sayede, 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, Material Design spesifikasyonuna göre güncellendi. Artık bileşenlerin çoğunda (Ifb4d1) kullanılacak küçük, orta ve büyük şekiller sağlayabilirsiniz.

  • 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 ekleyin (I41c16)

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

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

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

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

  • Composable lambda'ları kabul eden aşırı yüklemeyi kullanmak için String parametreleri içeren Snackbar API 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 belgelere ve örneklere bakın (I731a0).

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

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

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

  • LayoutCoordinates artık bir konum özelliğine sahip değil. LayoutModifiers, döndürme veya ölçekleme göz önünde bulundurulduğunda konum özelliği anlamlı değildir. Bunun yerine geliştiriciler, bir LayoutCoordinate'ten 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 önemli değişiklikler yapıldı. Ayrıntılar için günlük ve Ambient<T> dokümanlarına bakın (I4c7ee, b/143769776)

  • İskele materyali bileşeni eklendi. İskele ekipmanları (I7731b)

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

Hata Düzeltmeleri

  • FocusModifier, Modifier.focus, Modifier.focusRequester, Modifier.focusObserver lehine kullanımdan kaldırıldı. FocusState ve FocusDetailedState, FocusState2 lehine kullanımdan kaldırıldı (I46919, b/160822875, b/160922136)
  • VerticalScroller ve HoriziontalScroller kullanımdan kaldırıldı. Column/Row davranışı ve parametreleri ya da Modifier.verticalScroll ve Modifier.horizontalScroll ile yerleşik deneyim için kendi öğenizde ScrollableColumn ve ScrollableRow'u kullanın. Benzer şekilde, ScrollerPosition, ScrollState'in (I400ce, b/157225838, b/149460415, b/154105299) lehine kullanımdan kaldırıldı.
  • Modifier.draggable ve Modifier.scrollable API'leri yeniden düzenlendi. Orientation özelliği eklendiği için DragDirection özelliği kaldırıldı. Kaydırılabilir öğeler 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 semantik özellikler 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'yi animate() API'leriyle daha tutarlı hale getirir. (I24e38)
  • Düzenden gelen tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider API'si, kullanılacak şekilde güncellendi. (I0d8d0, b/159596546)
  • Test bulucularına 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 sınıf olduğundan 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ü, ölçüm kapsamı nesnesi (Ic7d9d) aracılığıyla geri çağırma içinde kullanılabilir.
  • Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'lerde AnimationBuilder yerine AnimationSpec 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)
  • enabled değeri false olarak ayarlandığında geçiş düğmesi devre dışı olarak 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çermez. Sorgulanan hizalama çizgisi eksikse AlignmentLine.Unspecified döndürülür. (I896c5, b/158134875)
  • Yarıçap sınıfı, satır içi sınıf olacak şekilde yeniden düzenlendi. Y 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çi oluşturma yöntemleri kaldırıldı.

    DrawScope.drawRoundRect, x ve y ekseni 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 kaymaları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ı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. Px sınıfının tamamı 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).

  • Yalnızca piksel parametreleri için Dp ve temel türlere güvenmek üzere 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 (Id3434).

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

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

  • MutuallyExclusiveSetItem kullanımdan kaldı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)

  • Yalnızca piksel parametreleri için 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 sütun sunuyor. HorizontalScroller artık kullanıma hazır Row sağlar. (Ieca5d, b/157020670)

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

  • Yüksek düzeyli bileşenlerin kullanılmasına izin vermek için Modifier.semantics'in desteği sonlandırılmadı. (I4cfdc)

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

  • Canvas 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 desteği sonlandı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 karşılık gelen kısıtlamalar belirtilmediğinde (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuz) boyut kısıtlamalarını yalnızca sarmalanmış düzene ayarlar. (I311ea, b/150460257)

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

  • Durum bilgisi içermeyen, bildirim temelli bir çizim API'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ına göre kapsamlandırılır. Çizim işlemlerini yapılandırmak için tüketicinin kendi Paint durumu nesnesini korumasını gerektirmez.

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

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

  • TextField ile kullanılan TextFieldValue artık şu şekilde kullanıldığında etkinlik yeniden oluşturulmasına dayanabilir: 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 focusIdentifier parametresi FocusNode ile değiştirildi. (I7ea48)

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

  • Aynı üst düzendeki 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'un 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ı, parametre içeren 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 ile ContentColorAmbient kullanılacak (Iee942).

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

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

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

  • DrawModifier API'yi iyileştirme:

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

  • [Değiştirilebilir]Durum özelliği temsilcisi operatörleri, Kotlin 1.4 özellik temsilcisi optimizasyonlarını desteklemek için uzantılara taşındı. Arayanların by state { ... } veya by mutableStateOf(...)'u 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 değiştirildi (I225e4).

  • Draggable, değiştiriciye taşındı (Id9b16, b/151959544)

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

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

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

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

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

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

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

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

  • Clip composable işlevini 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() modifier ile değiştirildi. Gölgeler artık LayerModifier'ın bir parçası olarak çiziliyor. (I0317a)

  • Düzen için RenderNode eklemeye olanak tanıyan bir değiştirici olan LayerModifier eklendi. Kırpma, opaklık, döndürme, ölçekleme ve gölge 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 özellikler artık desteklenen bir kullanım alanı değildir. Compose.composeInto desteği sonlandırıldı. Bunun yerine setContent veya setViewContent kullanın. Compose.disposeComposition kullanımdan kaldırıldı. Bunun yerine setContent tarafından döndürülen Composition üzerinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto olarak 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)

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

  • 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 desteği (I9e8da)

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

  • ComposeFlags.COMPOSER_PARAM işaretini true olarak güncelledik. Bu değişiklik, Compose eklentisinin kod oluşturma stratejisini etkileyecek. Bu durum, üst düzeyde, @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametre, çalışma zamanının yürütmeyi düzgün bir şekilde yönetebilmesi için sonraki @Composable çağrılarına iletilir. Bu, önemli bir ikili uyumluluğu bozan değişikliktir ancak Compose'un izin verilen tüm kullanımlarında kaynak düzeyinde uyumluluğu korur. (I7971c)

  • Tuval 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 sadece with(density) kullanılmalıdır (I11cb1).

  • LayoutCoordinates, sağlananAlignmentLines'ı Map yerine Set olacak şekilde değiştirildi ve değer almak için LayoutCoordinates'in get() operatörünü uygulaması sağlandı. Bu sayede, değiştiriciler, her değiştirici için yeni bir koleksiyon oluşturmadan kümenin bir veya daha fazla değerini daha kolay değiştirebilir. (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)