Compose Material
androidx.compose.material
androidx.compose.material.icons
(Tüm Compose paketleri için API referans belgelerine bakın)
| Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta sürümü | Alfa Sürümü |
|---|---|---|---|---|
| 9 Eylül 2026 | 1.12.1 | - | - | 1.13.0-alpha03 |
Yapı
Compose, androidx içindeki 7 Maven grup kimliğinin birleşimidir. Her grup, işlevlerin hedeflenen bir alt kümesini içerir ve her birinin kendi sürüm notları vardır.
Bu tabloda gruplar açıklanmakta ve her bir sürüm notu grubuna bağlantı verilmektedir.
| Grup | Açıklama |
|---|---|
| compose.animation | Kullanı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.foundation | Kullanı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.material | Kullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io adresinde açıklanan bileşenleri sağlamak üzere tasarlanmış, Compose'un daha üst düzey giriş noktasıdır. |
| compose.material3 | Materyal Tasarım'ın bir sonraki evrimi olan Materyal Tasarım 3 bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Material 3, güncellenmiş temalar ve bileşenlerin yanı sıra dinamik renk gibi Material You kişiselleştirme özelliklerini içerir. Ayrıca yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak şekilde tasarlanmıştır. |
| compose.runtime | Compose'un programlama modeli ve durum yönetiminin temel yapı taşları ve Compose Derleyici Eklentisi'nin hedefleyeceği temel çalışma zamanı. |
| compose.ui | Düzen, çizim ve giriş dahil olmak üzere cihazla etkileşim kurmak için gereken Compose kullanıcı arayüzünün temel bileşenleri. |
Bağımlılıkları bildirme
Compose'a bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:
Groovy
dependencies { implementation "androidx.compose.material:material:1.12.1" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material:material:1.12.1") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.
Sürüm 1.13
Sürüm 1.13.0-alpha03
9 Eylül 2026
androidx.compose.material:material-*:1.13.0-alpha03 iptal edilir. 1.13.0-alpha03 sürümü bu commit'leri içerir.
API Değişiklikleri
value, onValueChangeparametrelerini kabul eden Material 2 metin alanı aşırı yüklemelerinin desteği sonlandırıldı. Lütfen durumunu yükseltmek içinTextFieldStatekullanan aşırı yüklemeye geçin. (I6b841, b/556234973)
Hata Düzeltmeleri
compileSdkiçin Compose kitaplıkları 37.1 sürümüne güncellendi. Bu işlem, Compose kullanan tüm uygulamalar ve kitaplıklar içincompileSdköğesinin geçişli olarak güncellenmesini gerektirir. (I05b0f)SecureTextFieldveOutlinedSecureTextFieldbileşenleri (kullanımdan kaldırılanBasicSecureTextFieldaşırı yüklemeleriyle birlikte), varsayılan karartma modu olarakTextObfuscationMode.RevealLastTypedyerineTextObfuscationMode.System'ü kullanacak şekilde güncellendi. (I76c7e)
Sürüm 1.13.0-alpha02
26 Ağustos 2026
androidx.compose.material:material-*:1.13.0-alpha02 iptal edilir. 1.13.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.13.0-alpha01
12 Ağustos 2026
androidx.compose.material:material-*:1.13.0-alpha01 iptal edilir. 1.13.0-alpha01 sürümü bu commit'leri içerir.
API Değişiklikleri
androidx.benchmarkartık 24minSdksahibi. (Ic2a85)
Hata Düzeltmeleri
- Dinamik alıcılar kullanılarak
materialüst düzey değer sınıfı özelliklerinin dosya düzeyinde optimize edilmiş şekilde başlatılması. (Iae591) - Dinamik alıcıları kullanarak
materialdeğer sınıflarının (FabPositionveStrings) optimize edilmiş yardımcı nesne başlatması. (I0c7c0) compileSdk 37için koşulu kaldırın (If78b4)
Sürüm 1.12
Sürüm 1.12.1
9 Eylül 2026
androidx.compose.material:material-*:1.12.1 iptal edilir. 1.12.1 sürümü bu commit'leri içerir.
Sürüm 1.12.0
12 Ağustos 2026
androidx.compose.material:material-*:1.12.0 iptal edilir. 1.12.0 sürümü bu commit'leri içerir.
1.11.0 sürümünden beri yapılan önemli değişiklikler:
Sürüm 1.12.0-rc01
29 Temmuz 2026
androidx.compose.material:material-*:1.12.0-rc01 iptal edilir. 1.12.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.12.0-beta02
1 Temmuz 2026
androidx.compose.material:material-*:1.12.0-beta02 iptal edilir. 1.12.0-beta02 sürümü bu commit'leri içerir.
Sürüm 1.12.0-beta01
17 Haziran 2026
androidx.compose.material:material-*:1.12.0-beta01 iptal edilir. 1.12.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.12.0-alpha03
19 Mayıs 2026
androidx.compose.material:material-*:1.12.0-alpha03 iptal edilir. 1.12.0-alpha03 sürümü bu commit'leri içerir.
Sürüm 1.12.0-alpha02
6 Mayıs 2026
androidx.compose.material:material-*:1.12.0-alpha02 iptal edilir. 1.12.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.12.0-alpha01
22 Nisan 2026
androidx.compose.material:material-*:1.12.0-alpha01 iptal edilir. 1.12.0-alpha01 sürümü bu commit'leri içerir.
API Değişiklikleri
VelocityTracker, Android Framework tarafından sağlanan uygulamayı kullanacak şekilde değiştirildi (AndroidComposeUiFlags.isFrameworkVelocityTrackerEnabledile yapılandırılabilir). (Ibc7e2, b/359962905)
Hata Düzeltmeleri
- Compose
compileSdk, API 37'ye güncellendi. Bu nedenle, Compose kullanılırken minimum AGP sürümü 9.2.0 olmalıdır. (Id45cd, b/413674743)
Sürüm 1.11
Sürüm 1.11.4
1 Temmuz 2026
androidx.compose.material:material-*:1.11.4 iptal edilir. 1.11.4 sürümü bu commit'leri içerir.
Sürüm 1.11.3
17 Haziran 2026
androidx.compose.material:material-*:1.11.3 iptal edilir. 1.11.3 sürümü bu commit'leri içerir.
Sürüm 1.11.2
19 Mayıs 2026
androidx.compose.material:material-*:1.11.2 iptal edilir. 1.11.2 sürümü bu commit'leri içerir.
Sürüm 1.11.1
6 Mayıs 2026
androidx.compose.material:material-*:1.11.1 iptal edilir. 1.11.1 sürümü bu commit'leri içerir.
Sürüm 1.11.0
22 Nisan 2026
androidx.compose.material:material-*:1.11.0 iptal edilir. 1.11.0 sürümü bu commit'leri içerir.
Sürüm 1.11.0-rc01
8 Nisan 2026
androidx.compose.material:material-*:1.11.0-rc01 iptal edilir. 1.11.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.11.0-beta02
25 Mart 2026
androidx.compose.material:material-*:1.11.0-beta02 iptal edilir. 1.11.0-beta02 sürümü bu commit'leri içerir.
Sürüm 1.11.0-beta01
11 Mart 2026
androidx.compose.material:material-*:1.11.0-beta01 iptal edilir. 1.11.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.11.0-alpha06
25 Şubat 2026
androidx.compose.material:material-*:1.11.0-alpha06 iptal edilir. 1.11.0-alpha06 sürümü bu commit'leri içerir.
Sürüm 1.11.0-alpha05
11 Şubat 2026
androidx.compose.material:material-*:1.11.0-alpha05 iptal edilir. 1.11.0-alpha05 sürümü bu commit'leri içerir.
Sürüm 1.11.0-alpha04
28 Ocak 2026
androidx.compose.material:material-*:1.11.0-alpha04 iptal edilir. 1.11.0-alpha04 sürümü bu commit'leri içerir.
Sürüm 1.11.0-alpha03
14 Ocak 2026
androidx.compose.material:material-*:1.11.0-alpha03 iptal edilir. 1.11.0-alpha03 sürümü bu commit'leri içerir.
Sürüm 1.11.0-alpha02
17 Aralık 2025
androidx.compose.material:material-*:1.11.0-alpha02 iptal edilir. 1.11.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.11.0-alpha01
3 Aralık 2025
androidx.compose.material:material-*:1.11.0-alpha01 iptal edilir. 1.11.0-alpha01 sürümü bu commit'leri içerir.
Sürüm 1.10
Sürüm 1.10.6
25 Mart 2026
androidx.compose.material:material-*:1.10.6 iptal edilir. 1.10.6 sürümü bu commit'leri içerir.
Sürüm 1.10.5
11 Mart 2026
androidx.compose.material:material-*:1.10.5 iptal edilir. 1.10.5 sürümü bu commit'leri içerir.
Sürüm 1.10.4
25 Şubat 2026
androidx.compose.material:material-*:1.10.4 iptal edilir. 1.10.4 sürümü bu commit'leri içerir.
Sürüm 1.10.3
11 Şubat 2026
androidx.compose.material:material-*:1.10.3 iptal edilir. 1.10.3 sürümü bu commit'leri içerir.
Sürüm 1.10.2
28 Ocak 2026
androidx.compose.material:material-*:1.10.2 iptal edilir. 1.10.2 sürümü bu commit'leri içerir.
Sürüm 1.10.1
14 Ocak 2026
androidx.compose.material:material-*:1.10.1 iptal edilir. 1.10.1 sürümü bu commit'leri içerir.
Sürüm 1.10.0
3 Aralık 2025
androidx.compose.material:material-*:1.10.0 iptal edilir. 1.10.0 sürümü bu commit'leri içerir.
Sürüm 1.10.0-rc01
19 Kasım 2025
androidx.compose.material:material-*:1.10.0-rc01 iptal edilir. 1.10.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.10.0-beta02
5 Kasım 2025
androidx.compose.material:material-*:1.10.0-beta02 iptal edilir. 1.10.0-beta02 sürümü bu commit'leri içerir.
Sürüm 1.10.0-beta01
22 Ekim 2025
androidx.compose.material:material-*:1.10.0-beta01 iptal edilir. 1.10.0-beta01 sürümü bu commit'leri içerir.
Sürüm 1.10.0-alpha05
8 Ekim 2025
androidx.compose.material:material-*:1.10.0-alpha05 iptal edilir. 1.10.0-alpha05 sürümü bu commit'leri içerir.
Sürüm 1.10.0-alpha04
24 Eylül 2025
androidx.compose.material:material-*:1.10.0-alpha04 iptal edilir. 1.10.0-alpha04 sürümü bu commit'leri içerir.
Sürüm 1.10.0-alpha03
10 Eylül 2025
androidx.compose.material:material-*:1.10.0-alpha03 iptal edilir. 1.10.0-alpha03 sürümü bu commit'leri içerir.
Sürüm 1.10.0-alpha02
27 Ağustos 2025
androidx.compose.material:material-*:1.10.0-alpha02 iptal edilir. 1.10.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.10.0-alpha01
13 Ağustos 2025
androidx.compose.material:material-*:1.10.0-alpha01 iptal edilir. 1.10.0-alpha01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Varsayılan
minSdk, API 21'den API 23'e taşınıyor. (Ibdfca, b/380448311, b/435705964, b/435705223)
Sürüm 1.9
Sürüm 1.9.5
19 Kasım 2025
androidx.compose.material:material-*:1.9.5 iptal edilir. 1.9.5 sürümü bu commit'leri içerir.
Sürüm 1.9.4
22 Ekim 2025
androidx.compose.material:material-*:1.9.4 iptal edilir. 1.9.4 sürümü bu commit'leri içerir.
Sürüm 1.9.3
8 Ekim 2025
androidx.compose.material:material-*:1.9.3 iptal edilir. 1.9.3 sürümü bu commit'leri içerir.
Sürüm 1.9.2
24 Eylül 2025
androidx.compose.material:material-*:1.9.2 iptal edilir. 1.9.2 sürümü bu commit'leri içerir.
Sürüm 1.9.1
10 Eylül 2025
androidx.compose.material:material-*:1.9.1 iptal edilir. 1.9.1 sürümü bu commit'leri içerir.
Sürüm 1.9.0
13 Ağustos 2025
androidx.compose.material:material-*:1.9.0 iptal edilir. 1.9.0 sürümü bu commit'leri içerir.
1.8.0 sürümünden beri yapılan önemli değişiklikler
Davranış Değişiklikleri
- Compose ile birlikte gelen hata analizi kontrolleri artık minimum 8.8.2 AGP sürümü gerektiriyor. AGP'yi yükseltemiyorsanız gradle.properties dosyanızda
android.experimental.lint.version=8.8.2(veya daha yeni bir sürüm) kullanarak Lint'i tek başına yükseltebilirsiniz. IDE'de Compose lint kontrollerini çalıştırmak için Android Studio Ladybug veya daha yeni bir sürüm gerekir.
API Değişiklikleri
- Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
- Metin alanı süsleme kutusu API'leri artık deneysel değildir. (I7480f)
Hata Düzeltmeleri
ExposedDropdownMenu, eski sürümlerle ikili uyumludur. (I133f7)
Sürüm 1.9.0-rc01
30 Temmuz 2025
androidx.compose.material:material-*:1.9.0-rc01 iptal edilir. 1.9.0-rc01 sürümü bu commit'leri içerir.
Sürüm 1.9.0-beta03
16 Temmuz 2025
androidx.compose.material:material-*:1.9.0-beta03 iptal edilir. 1.9.0-beta03 sürümü bu commit'leri içerir.
Sürüm 1.9.0-beta02
2 Temmuz 2025
androidx.compose.material:material-*:1.9.0-beta02 iptal edilir. 1.9.0-beta02 sürümü bu commit'leri içerir.
Sürüm 1.9.0-beta01
18 Haziran 2025
androidx.compose.material:material-*:1.9.0-beta01 iptal edilir. 1.9.0-beta01 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
Text(AnnotatedString)içindeki köprüler artık varsayılan olarak Material stiline sahip. (I0e8ed, b/339843816)
Sürüm 1.9.0-alpha04
4 Haziran 2025
androidx.compose.material:material-*:1.9.0-alpha04 iptal edilir. 1.9.0-alpha04 sürümü bu commit'leri içerir.
Sürüm 1.9.0-alpha03
20 Mayıs 2025
androidx.compose.material:material-*:1.9.0-alpha03 iptal edilir. 1.9.0-alpha03 sürümü bu commit'leri içerir.
Sürüm 1.9.0-alpha02
7 Mayıs 2025
androidx.compose.material:material-*:1.9.0-alpha02 iptal edilir. 1.9.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.9.0-alpha01
23 Nisan 2025
androidx.compose.material:material-*:1.9.0-alpha01 iptal edilir. 1.9.0-alpha01 sürümü bu commit'leri içerir.
Davranış Değişiklikleri
- Compose ile birlikte gelen hata analizi kontrolleri artık minimum 8.8.2 AGP sürümü gerektiriyor. AGP'yi yükseltemiyorsanız
gradle.propertiesdosyanızdaandroid.experimental.lint.version=8.8.2(veya daha yeni bir sürüm) kullanarak Lint'i tek başına yükseltebilirsiniz. IDE'de Compose lint kontrollerini çalıştırmak için Android Studio Ladybug veya daha yeni bir sürüm gerekir.
API Değişiklikleri
- Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
- Metin alanı süsleme kutusu API'leri artık deneysel değildir (I7480f, b/269651160)
runWithTimingDisabledyerine, davranışı daha net bir şekilde açıklayanrunWithMeasurementDisabled'yi kullanın. Bu durumda tüm metrikler duraklatılır. Ayrıca,runWithMeasurementDisabledişlevi satır içi olduğundan erişimi açmak için yeniden tanımlamak mümkün olmadığındanMicrobenchmarkScopeüst sınıfını kullanıma sunun. (I9e23b, b/389149423, b/149979716)
Hata Düzeltmeleri
ExposedDropdownMenu, eski sürümlerle ikili uyumludur. (I133f7)- İlerleme durumu olarak
Float.NaNiletildiğ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
displayCutoutekler.- Bu davranış değişikliği, yerleştirme alanına duyarlı bileşenlerin ekran kesimi etrafındaki davranışını etkileyecektir. Buna, yerleştirme duyarlı Material 3 bileşenleri için
WindowInsetsparametresinin varsayılan değeri ve bileşende sağlananWindowInsetsdeğerleri dahildir. - Hem Material 2 hem de Material 3 için varsayılan nesneler. Bu değişiklik istenmeyen davranışlara neden olursa
WindowInsetsparametresini bileşen bazında manuel olarak belirtin. (I43ee9, b/362508045)
- Bu davranış değişikliği, yerleştirme alanına duyarlı bileşenlerin ekran kesimi etrafındaki davranışını etkileyecektir. Buna, yerleştirme duyarlı Material 3 bileşenleri için
ComposeContentTestRule.setContentkullanılırken test edilen composable'ın ana öğesi olarak kullanılan etkinlik, artık SDK 35'i hedeflerkenActionBaröğesinin test içeriğiyle çakışmasını önlemek içinTheme.Material.Light.NoActionBartemasını kullanıyor. Bu davranışı devre dışı bırakmak içinui-test-manifestbağımlılığını kaldırabilir ve test uygulamanızınAndroidManifest.xmlbölümüne, istediğiniz temayla birlikteComponentActivityiçin bir etkinlik girişi ekleyebilirsiniz. (I7ae1b, b/383368165)
Harici Katkı (External Contribution)
ModalBottomSheetLayoutiçindesheetGesturesEnabledözelliğini kullanma (I3f032, b/329543529)
Sürüm 1.8.0-alpha07
11 Aralık 2024
androidx.compose.material:material-*:1.8.0-alpha07 iptal edilir. 1.8.0-alpha07 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
- Metin alanı boyutu değiştiricilerinin bazen uygulanmaması sorunu düzeltildi. (I90d4c, b/356905963)
Sürüm 1.8.0-alpha06
13 Kasım 2024
androidx.compose.material:material-*:1.8.0-alpha06 iptal edilir. 1.8.0-alpha06 sürümü bu commit'leri içerir.
Sürüm 1.8.0-alpha05
30 Ekim 2024
androidx.compose.material:material-*:1.8.0-alpha05 iptal edilir. 1.8.0-alpha05 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
contentPaddingdeğiştiğinde gövde içeriğinin her zaman yeniden oluşturulmasını önlemek için ScaffoldcontentPaddingdavranışını optimize edin. (I8c8e2, b/373904168)- Kontrol tuşlarına basıldığında malzeme kaydırıcısının değerini değiştirmesini sağlayın. (I1c442)
Sürüm 1.8.0-alpha04
16 Ekim 2024
androidx.compose.material:material-*:1.8.0-alpha04 iptal edilir. 1.8.0-alpha04 sürümü bu commit'leri içerir.
API Değişiklikleri
- Kararlı temel sürümüne sabitlemek için
readOnly'yıTextFields'den kaldırın. (I3aaba)
Hata Düzeltmeleri
- Android S+ sürümlerinde, tıklama üzerine genişleyen kart gibi genişleyen bileşenlerde dalgalanma desteği eklendi. Daha önce dalgalanma yeni boyutu doldurmuyordu ancak artık yeni sınırlara kadar genişleyecek. (If509a, b/183019123)
Sürüm 1.8.0-alpha02
18 Eylül 2024
androidx.compose.material:material-*:1.8.0-alpha02 iptal edilir. 1.8.0-alpha02 sürümü bu commit'leri içerir.
Sürüm 1.8.0-alpha01
4 Eylül 2024
androidx.compose.material:material-*:1.8.0-alpha01 iptal edilir. 1.8.0-alpha01 sürümü bu commit'leri içerir.
API Değişiklikleri
- Safe args ile bottomSheet oluşturmak için yeni
NavGraphBuilder.bottomSheetoluşturucu eklendi ((I28589, I777db, b/351858980)) TextFieldState(I3b74c) alan yeniTextFieldveOutlinedTextFieldaşırı yüklemeleri eklendi.
Sürüm 1.7
Sürüm 1.7.8
12 Şubat 2025
androidx.compose.material:material-*:1.7.8 iptal edilir. 1.7.8 sürümü bu commit'leri içerir.
Sürüm 1.7.7
29 Ocak 2025
androidx.compose.material:material-*:1.7.7 iptal edilir. 1.7.6 sürümünde değişiklik yok.
Sürüm 1.7.6
11 Aralık 2024
androidx.compose.material:material-*:1.7.6 iptal edilir. 1.7.6 sürümü bu commit'leri içerir.
Sürüm 1.7.5
30 Ekim 2024
androidx.compose.material:material-*:1.7.5 iptal edilir. 1.7.5 sürümü bu commit'leri içerir.
Sürüm 1.7.4
16 Ekim 2024
androidx.compose.material:material-*:1.7.4 iptal edilir. 1.7.4 sürümü bu commit'leri içerir.
Sürüm 1.7.2
18 Eylül 2024
androidx.compose.material:material-*:1.7.2 iptal edilir. 1.7.2 sürümü bu commit'leri içerir.
Sürüm 1.7.1
10 Eylül 2024
- Android yapıları değiştirilmez.
-desktopyapı kaldırıldı,-jvmStubsve-linuxx64Stubsyapı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
RippleThemesorgulamıyor. - Daha önce
MutableInteractionSourcedeğerini kabul eden ve varsayılan olarakremember { MutableInteractionSource() }değerini kullanan materyal bileşenleri artık boş değer atanabilirMutableInteractionSourcedeğerini kabul ediyor ve varsayılan olarak null değerini kullanıyor.MutableInteractionSourceöğesini barındırmıyor ve kullanmıyorsanız null değerini iletmeniz gerekir. Bu sayede bazı bileşenler yalnızca gerektiğinde örnek oluşturarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir. BottomDrawer,ModalBottomSheet,BackdropScaffoldve 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,TextStylekonumuna taşındı veTextDefaults, 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ı
LinkAnnotationsoluşturmak ve temalı bağlantılarla HTML ayrıştırmak içinTextDefaultsyöntemleri kaldırıldı. Bunun yerine, bağlantıları Text composable'a parametre olarak stilize etmeye olanak tanıyan birTextLinkStylessınıfı eklendi. (I31b93)
Sürüm 1.7.0-alpha08
1 Mayıs 2024
androidx.compose.material:material-*:1.7.0-alpha08 iptal edilir. 1.7.0-alpha08 sürümü bu commit'leri içerir.
API Değişiklikleri
backgroundColor'nınTextFieldDecorationBoxveOutlinedTextFieldDecorationBoxiçin geçerli olmaması sorunu düzeltildi. Dekorasyon kutuları artıkshapeparametresini kabul ediyor. (I371c2, b/307694651)RippleConfiguration#isEnabledkaldırıldı veLocalRippleConfigurationnull yapılabilir hale getirildi. Bir dalgalanmayı devre dışı bırakmak içinRippleConfigurationileisEnabled = falsesağlamak yerineLocalRippleConfiguration'enullsağlayın. (I22725)- Metin bağlantılarında normal stilin yanı sıra fareyle üzerine gelindiğinde ve odaklanıldığında kullanılan stilin yanı sıra basıldığında kullanılan stil seçeneği de vardır.
TextDefaultsyöntemlerinin her birinde bunu desteklemek için birpressedStylebağımsız değişkeni bulunur. (Ic473f, b/139312671)
Hata Düzeltmeleri
- Etiket için
OutlinedTextFieldüst dolgu artık sistem yazı tipi boyutunu dikkate alıyor. (Idc781)
Sürüm 1.7.0-alpha07
17 Nisan 2024
androidx.compose.material:material-*:1.7.0-alpha07 iptal edilir. 1.7.0-alpha07 sürümü bu commit'leri içerir.
API Değişiklikleri
- Metin bağlantıları, normal stilin yanı sıra fareyle üzerine gelindiğinde ve odaklanıldığında uygulanan stil seçeneğine de sahip oldu. (I5f864, b/139312671)
- Bağlantılara
MaterialThemeuygulayan birLinkAnnotationoluşturma ve HTML etiketli dizeyi ayrıştırma yöntemlerini içeren birTextDefaultsnesnesi 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.materialBu Maven grubundaki her yapının aynı sürümünün kullanılması artık gerekmiyor. Kullanıcılar, Compose temel kitaplıklarının (Ie5fba) sürümlerini karıştırıp eşleştirebilir.
API Değişiklikleri
ModalDrawerveBottomDrawervarsayılanlarıDrawerDefaultsnesnesine 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
ScaffoldSubcomposeInMeasureFixiş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
- Navigation Compose kullanılırken hedef olarak alt sayfaları destekleyen yeni bir
androidx.compose.material:material-navigationyapısı eklendi. Bu kitaplık, Piyanist Gezinme Materyali kitaplığının yerini almıştır. (d65d57, b/180247978)
Sürüm 1.7.0-alpha03
21 Şubat 2024
androidx.compose.material:material-*:1.7.0-alpha03 iptal edilir. 1.7.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
BottomDrawer, deneyselden kararlıya yükseltildi.BottomDrawerStateartık ilerlemeyi bir işlev olarak sunuyor ve belirli hedefler arasındaki ilerlemeyi sorgulamaya olanak tanıyor.BottomDrawerStateartık animasyon spesifikasyonunun özelleştirilmesine izin veriyor veconfirmStateChangeartık sondaki lambda değil. (I9c029, b/261423850)BackdropScaffold, deneyselden kararlı sürüme yükseltildi. Animasyon spesifikasyonu artık kurallara uygun birtweenspesifikasyonudur.BackdropScaffoldişlevininsnackbarHostparametresi, sondaki lambda'larla karışıklığı önlemek için artık son parametre değil.BackdropScaffoldState, çapalar arasındaki ilerlemeyi sorgulamak içinprogress(from, to)API'sini kullanıma sunar. (I73f48, b/261423218)- Standart alt sayfalar, deneysel sürümden kararlı sürüme yükseltildi. Desteği sonlandırılan oluşturucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir ara spesifikasyondur. (I3c1a8, b/278692145, b/261409034)
- Modal alt sayfalar, deneysel özellikten kararlı özelliğe yükseltildi. Desteği sonlandırılan oluşturucular kaldırıldı. Animasyon spesifikasyonu artık kurallara uygun bir
tweenspesifikasyonudur. (Ic53f4, b/278692145, b/266780235, b/261409034)
Hata Düzeltmeleri
BackdropScaffoldile birlikte belirli senaryolardaLookaheadScope'nin kilitlenmesine neden olan sorun düzeltildi. (I51396)- Performansı artırmak için
BottomSheetScaffoldiçindeki alt bileşen kaldırıldı.BottomSheetScaffoldile birlikte belirli senaryolardaLookaheadScope'nin kilitlenmesine neden olan sorun düzeltildi. (I2f90c) ModalBottomSheetLayoutiç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
RippleThemesorgulamıyor.
API Değişiklikleri
rememberRippleveRippleTheme, material-ripple'dan kaldırıldı. Material ve diğer tasarım sistemi kitaplıklarına yeni dalgalanma veRippleConfigurationAPI'leri eklendi.Daha önce
MutableInteractionSourcekabul eden ve varsayılan olarak{ MutableInteractionSource() }hatırlayan malzeme bileşenleri artık null değer atanabilirMutableInteractionSourcekabul ediyor ve varsayılan olarak null değer atanıyor.MutableInteractionSourceöğesini barındırmıyor ve kullanmıyorsanız null değerini iletmeniz gerekir. Bu sayede bazı bileşenler yalnızca gerektiğinde örnek oluşturarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.
Sürüm 1.6
Sürüm 1.6.8
12 Haziran 2024
androidx.compose.material:material-*:1.6.8 iptal edilir. 1.6.8 sürümü bu commit'leri içerir.
Sürüm 1.6.7
1 Mayıs 2024
androidx.compose.material:material-*:1.6.7 iptal edilir. 1.6.7 sürümü bu commit'leri içerir.
Sürüm 1.6.6
17 Nisan 2024
androidx.compose.material:material-*:1.6.6 iptal edilir. Son sürümden bu yana değişiklik yok.
Sürüm 1.6.5
3 Nisan 2024
androidx.compose.material:material-*:1.6.5 iptal edilir. 1.6.5 sürümü bu commit'leri içerir.
Sürüm 1.6.4
20 Mart 2024
androidx.compose.material:material-*:1.6.4 iptal edilir. 1.6.4 sürümü bu commit'leri içerir.
Sürüm 1.6.3
6 Mart 2024
androidx.compose.material:material-*:1.6.3 iptal edilir. 1.6.3 sürümü bu commit'leri içerir.
Hata Düzeltmeleri
ExposedDropdownMenuöğesini tekrar odaklanılabilir hale getirmek için gerilemeyi düzeltin. (c0e0ed, b/323694447)
Sürüm 1.6.2
21 Şubat 2024
androidx.compose.material:material-*:1.6.2 iptal edilir. 1.6.2 sürümü şu commit'leri içerir.
Sürüm 1.6.1
7 Şubat 2024
androidx.compose.material:material-*:1.6.1 iptal edilir. 1.6.1 sürümü şu commit'leri içerir.
Sürüm 1.6.0
24 Ocak 2024
androidx.compose.material:material-*:1.6.0 iptal edilir. 1.6.0 sürümü şu commit'leri içerir.
Sürüm 1.6.0-rc01
10 Ocak 2024
androidx.compose.material:material-*:1.6.0-rc01 iptal edilir. 1.6.0-rc01 sürümü şu commit'leri içerir.
Sürüm 1.6.0-beta03
13 Aralık 2023
androidx.compose.material:material-*:1.6.0-beta03 iptal edilir. 1.6.0-beta03 sürümü şu commit'leri içerir.
Sürüm 1.6.0-beta02
29 Kasım 2023
androidx.compose.material:material-*:1.6.0-beta02 iptal edilir. 1.6.0-beta02 sürümü şu commit'leri içerir.
Sürüm 1.6.0-beta01
15 Kasım 2023
androidx.compose.material:material-*:1.6.0-beta01 iptal edilir. 1.6.0-beta01 sürümü şu commit'leri içerir.
Sürüm 1.6.0-alpha08
18 Ekim 2023
androidx.compose.material:material-*:1.6.0-alpha08 iptal edilir. 1.6.0-alpha08 sürümü şu commit'leri içerir.
API Değişiklikleri
autoMirrorparametresi alan aşırı yüklemesi yerinematerialIconişlevinin desteğini sonlandırın. (Ia338d)
Hata düzeltmeleri - Büyük içeriklerde gezinme öğesinin yüksekliği otomatik olarak artırılır. (0c4ecc, b/272336962)
Sürüm 1.6.0-alpha07
4 Ekim 2023
androidx.compose.material:material-*:1.6.0-alpha07 iptal edilir. 1.6.0-alpha07 sürümü şu commit'leri içerir.
- Bağımlılık güncellemeleri
Sürüm 1.6.0-alpha06
20 Eylül 2023
androidx.compose.material:material-*:1.6.0-alpha06 iptal edilir. 1.6.0-alpha06 sürümü şu commit'leri içerir.
Davranışla İlgili Önemli Değişiklik (Behavior Breaking Change)
BottomSheetScaffolduygulamasından çekmeceyle ilgili işlev kaldırıldı. Önceki işlevselliği elde etmek içinBottomSheetScaffoldöğenizi Drawer composable ile sarmalayın. Örnek için bkz.BottomSheetScaffoldWithDrawerSample. (I1dcc8)
API Değişiklikleri
- İskele'nin ölçüm sırasında mı yoksa yerleştirme sırasında mı alt öğelerini ölçmesi gerektiğini kontrol etmek için geçici bir işaretçi kullanıma sunuldu. Bu, varsayılan olarak ölçüm birimiyle ölçülür. Yeni davranışla ilgili sorun yaşıyorsanız lütfen sorun kaydı oluşturun. (If6e3b)
Sürüm 1.6.0-alpha05
6 Eylül 2023
androidx.compose.material:material-*:1.6.0-alpha05 iptal edilir. 1.6.0-alpha05 sürümü şu commit'leri içerir.
Yeni Özellikler
- Sağdan sola düzenlerde oluşturulurken otomatik olarak yansıtılan simgeler için destek eklendi. material-icons-core ve material-icons-extended modüllerindeki simgeler artık simgenin izin vermesi durumunda otomatik yansıtmayı desteklemek için ek simge setleri sunuyor. Yeni kümelerin önüne
Icons.AutoMirrored.Filled...gibi bir önek eklenir ve bu kümelerde, sağdan sola düzenlerde otomatik olarak yansıtılacak simgeler bulunur. Otomatik olarak yansıtılabilecek (ve yansıtılması gereken) simgelerin listesi için Material simgeleri listesine bakın.
API Değişiklikleri
- Sağdan sola düzenlerde oluşturulurken otomatik olarak yansıtılan simgeler için destek eklendi. material-icons-core ve material-icons-extended modüllerindeki simgeler artık simgenin izin vermesi durumunda otomatik yansıtmayı desteklemek için ek simge setleri sunuyor. Yeni kümelerin önüne
Icons.AutoMirrored.Filled...gibi bir önek eklenir ve bu kümelerde, sağdan sola düzenlerde otomatik olarak yansıtılacak simgeler bulunur. Otomatik olarak yansıtılabilecek (ve yansıtılması gereken) simgelerin listesi için Material simgeleri listesine bakın. Bu simgeler için daha önce sağlanan simge özellikleri artık kullanımdan kaldırılmış olarak işaretlenir ve geçişe yardımcı olmak için bir yedek blok önerisi sunulur. Sağdan sola dillerde yansıtma simgeleri için özel bir işlem yapmıyorsanız yeni simge grubuna geçmenizi öneririz. Örneğin,Icons.Filled.ArrowBack,Icons.AutoMirrored.Filled.ArrowBackolarak 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,LookaheadScopeiçinde bir Scaffold'da boyutlarını çok erken okumaya çalışmasına neden olan sorun düzeltildi. (If2c5d)DropdownMenu'nınoffsethesaplaması düzeltildi. Böylece x uzaklıkları yalnızca yerel düzen yönüne bağlı olacak ve menü ekranın alt kısmına yakın olduğunda y uzaklıkları artık tersine çevrilmeyecek. (Iccc74, b/294103942)BottomSheetScaffoldöğesinin düzeniyle ilgili iç kısımlar optimize edildi veLookaheadLayoutiçindeBottomSheetScaffoldile 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
windowInsetsiletmek üzere ayrı bir API'ye sahip. Material3 bileşenlerinin aksine, Material2 bileşenleri varsayılan olarak iç kısımları desteklemez ve değerin manuel olarak iletilmesi gerekir. Rehberlik için ilgili örneklere bakın. (I655e8)
Sürüm 1.6.0-alpha02
26 Temmuz 2023
androidx.compose.material:material-*:1.6.0-alpha02 iptal edilir. 1.6.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, aşağıdaki bileşenler için geçerlidir:
SwipeToDismissve E-tablo tabanlı bileşenler. Lütfen yoğunluğun parametre olduğu yeni aşırı yüklemeyi kullanın. (I1846e) - Composable'lara izin verilen girişleri belirtmek için ek açıklamalar (I51109)
- Uyumluluk bastırmayı açıklama eklemek için API dosyaları güncellendi (I8e87a, b/287516207).
FabPositioniçin yeni Başlangıç hizalama seçeneği eklendi (Ib7aea, b/170592777)- Material 2'deki
TextFieldColorsWithIconsdesteği,TextFieldColorslehine sonlandırıldı.leadingIconColorveyatrailingIconColor'yi geçersiz kılarkeninteractionSourceile aşırı yüklemeyi de geçersiz kılın. (Id57ed, b/199377790)
Sürüm 1.6.0-alpha01
21 Haziran 2023
androidx.compose.material:material-*:1.6.0-alpha01 iptal edilir. 1.6.0-alpha01 sürümü şu commit'leri içerir.
Davranış Değişiklikleri
includeFontPadding, Materyal 2 tipografisinde varsayılan olarakfalseolarak ayarlanmıştır. Varsayılan satır yüksekliği stili deTrim.NoneveAlignment.Centerolarak değiştirildi. Ayrıca,Typography'ninTextStyle'lerine açıklineHeight(sp cinsinden) eklendi. Bu değerleri özelleştirmek istiyorsanız API dokümanlarına bakın. Bu değişikliklerin ayrıntılı açıklaması için blog yayınını inceleyin. (Icabc3, I3f801, I04c03)
API Değişiklikleri
- Material'ın
SwipeableAPI'lerinin desteği sonlandırıldı. Lütfen hem basit hem de karmaşık kullanım alanları için optimize edilmiş Foundation'ınAnchoredDraggableAPI'lerine bakın. (I732e0)
Hata Düzeltmeleri
BottomSheetState,ModalBottomSheetStateveBottomDrawerStateartık geçerli (yerleştirilmiş) sabitleme noktası ile kaydırma yönündeki en yakın sabitleme noktası arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Sürüm 1.5
Sürüm 1.5.4
18 Ekim 2023
androidx.compose.material:material-*:1.5.4 iptal edilir. 1.5.4 sürümü şu commit'leri içerir.
Sürüm 1.5.3
4 Ekim 2023
androidx.compose.material:material-*:1.5.3 iptal edilir. Bu sürümde değişiklik yok
Sürüm 1.5.2
27 Eylül 2023
androidx.compose.material:material-*:1.5.2 iptal edilir. 1.5.2 sürümü şu commit'leri içerir.
Sürüm 1.5.1
6 Eylül 2023
androidx.compose.material:material-*:1.5.1 değişiklik yapılmadan yayınlanır. 1.5.1 sürümü şu commit'leri içerir.
Sürüm 1.5.0
9 Ağustos 2023
androidx.compose.material:material-*:1.5.0 iptal edilir. 1.5.0 sürümü şu commit'leri içerir.
1.4.0 sürümünden beri yapılan önemli değişiklikler
API Değişiklikleri
BottomSheetScaffold'daki Swipeable1 API'lerinde değişiklikler yapıldı.BottomSheetState'nınconfirmStateChangeparametresinin adıconfirmValueChangeolarak değiştirildi.progressartık kayan nokta değeri olarak gösteriliyor.animateTovesnapTodahili. Bunun yerineexpand()vecollapse()kullanın.directionveoverflowkaldırıldı.offset,requireOffset()ile değiştirildi. I323b4- Çekmecedeki
snapToişlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368) - Dairesel ilerleme durumu göstergeleri için parça rengi parametresi, hem dairesel hem de doğrusal ilerleme durumu göstergeleri için ise çizgi ucu parametresi eklendi. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState,ModalBottomSheetState.SaververememberModalBottomSheetState'ninconfirmStateChangeadlı şarkı listesiconfirmValueChangeolarak yeniden adlandırıldı. (Ib48d1)Modifier.minimumInteractiveComponentSizeekleyin. Öğe daha küçük ölçülse bile dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)ModalBottomSheetLayout'daki Kaydırılabilir API'lerde değişiklikler yapıldı.ModalBottomSheetState'nın animateTo işlevi artıkanimationSpecparametresini almıyor ve gösterilen uzaklık artık null olabilir. Ofset gerektirmek içinrequireOffsetöğesini kullanın. (Ia2e79)@JvmDefaultWithCompatibilityek açıklama ekleme (I8f206)ModalDrawer. DrawerState'daki kaydırılabilir API'lerde yapılan değişiklikler dahil edildi.animateTo, açma ve kapatma yöntemleriyle değiştirildi ve artık ofset değeri boş olabilir. Ofset gerektirmek içinrequireOffsetöğ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,
TextFieldveOutlinedTextFieldbileşenlerineminLinesparametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d).
Hata Düzeltmeleri
pullRefreshöğesinin hızı kullanmaması ve bu nedenle kaydırma sonunun gösterilmesine neden olan sorun düzeltildi. Ayrıca, tüketilen hız için Float döndürmek üzereModifier.pullRefreshiçindekionReleaselambda'nın API imzası değiştirildi (I7db65, b/266874741).BottomSheetState,ModalBottomSheetStateveBottomDrawerStateartık geçerli (yerleştirilmiş) sabitleme noktası ile kaydırma yönündeki en yakın sabitleme noktası arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)- İşlemler, iletişim kutusunun genişliğine sığmak için üst üste geldiğinde
AlertDialogkapatma işleminin onay işleminin altında görünmesi düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277) gesturesEnabledfalse olarak ayarlandığındaBottomSheetScaffoldartık iç içe kaydırmaya katılmaz. (I634f3, b/215403277)BottomSheetScaffoldöğesinin, yuvalar için boş içerik sağlandığında kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)- Tıklamaların/işaretçi etkinliklerinin
PullRefreshIndicatorengellenmesi düzeltildi. (2494256, b/271777421) - Yön değişikliği sırasında
ModalBottomSheetLayoutuygulamasının kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğindeki düzen animasyonları (ör.Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)
Sürüm 1.5.0-rc01
26 Temmuz 2023
androidx.compose.material:material-*:1.5.0-rc01 iptal edilir. 1.5.0-rc01 sürümü şu commit'leri içerir.
Sürüm 1.5.0-beta03
28 Haziran 2023
androidx.compose.material:material-*:1.5.0-beta03 iptal edilir. 1.5.0-beta03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
BottomSheetState,ModalBottomSheetStateveBottomDrawerStateartık geçerli (yerleştirilmiş) sabitleme noktası ile kaydırma yönündeki en yakın sabitleme noktası arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Sürüm 1.5.0-beta02
7 Haziran 2023
androidx.compose.material:material-*:1.5.0-beta02 iptal edilir. 1.5.0-beta02 sürümü şu commit'leri içerir.
Sürüm 1.5.0-beta01
24 Mayıs 2023
androidx.compose.material:material-*:1.5.0-beta01 iptal edilir. 1.5.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
DrawerStateveBottomDrawerState'nin ofseti artık boş değer atanamaz. Bunun yerine, ofsetin olmadığını belirtmek içinFloat.NaNdeğerini döndürürler. (Ie9855)- Gösterilen menü öğelerinin dikey kaydırma durumunu kontrol etmek için
DropdownMenuveyaExposedDropdownMenuoluştururkenScrollStateiletme 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
ModalBottomSheetLayouthareketini etkinleştirme/devre dışı bırakma desteği eklendi (I40af0). - Metin renginin verimli bir şekilde animasyonlandırılmasına veya ayarlanmasına olanak tanımak için
BasicTextöğesine bir renk parametresi eklendi. (Iffd88, b/246961787) - Anlamsal yapı özelliği
isContainer,isTraversalGroupolarak yeniden adlandırılıyor (I121f6)
Hata Düzeltmeleri
- İşlemler, iletişim kutusunun genişliğine sığmak için üst üste geldiğinde
AlertDialogkapatma işleminin onay işleminin altında görünmesi düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)
Sürüm 1.5.0-alpha04
10 Mayıs 2023
androidx.compose.material:material-*:1.5.0-alpha04 iptal edilir. 1.5.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
- Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu durum şu bileşenler için geçerlidir:
BottomDrawer,ModalBottomSheetLayout,BottomSheetScaffold,Switch,ModalDrawer. Lütfen yoğunluğun parametre olduğu yeni aşırı yüklemeyi kullanın. (I8fbd8)
Sürüm 1.5.0-alpha03
19 Nisan 2023
androidx.compose.material:material-*:1.5.0-alpha03 iptal edilir. 1.5.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
BottomDraweriç kısımlarını yeniSwipeableV2API'lerini kullanacak şekilde güncelleyin. Bu nedenleBottomDrawerStateartık yalnızca sınıf düzeyinde tanımlanan API'lere sahip olacak veSwipeableState'den yöntem/özellik devralmayacak. DahiliSwipeableV2Stateile kompozisyon kullanıyoruz. Kaydırma artık boş değer atanabilir bir kayan nokta özelliğidir. Mevcut değer ve kaydırma hedef değeri, currentValue ve targetValue özellikleri aracılığıyla erişilebilir. Aç/genişlet/kapat gibi önceki sınıf düzeyi yöntemler veisOpen/isClosedgibi özellikler desteklenmeye devam eder. (Iad40c, b/178529942, b/220676296)
Hata Düzeltmeleri
- Anahtar bileşeninin iç kısımları güncellendi. Artık anahtar sürüklenirken en yakın (hedef durum) önizlenir. (Id90d4)
BottomSheetScaffoldiçindeki animasyonlu sayfa içeriği (ör. sayfa içeriğindeModifier.animateContentSize) optimize edildi ve artık sorunsuz çalışıyor. (Ia913c, b/270518202, b/254446195)gesturesEnabled,falseolarak ayarlandığındaBottomSheetScaffoldartık iç içe kaydırmaya katılmayacak. (I634f3, b/215403277)
Sürüm 1.5.0-alpha02
5 Nisan 2023
androidx.compose.material:material-*:1.5.0-alpha02 iptal edilir. 1.5.0-alpha02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
BottomSheetScaffoldöğesinin, yuvalar için boş içerik sağlandığında kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)- Tıklamaları / işaretçi etkinliklerini engelleyen
PullRefreshIndicatordüzeltildi (2494256, b/271777421).
Sürüm 1.5.0-alpha01
22 Mart 2023
androidx.compose.material:material-*:1.5.0-alpha01 iptal edilir. 1.5.0-alpha01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Bir ChipGroup yeniden akıtma örneği ekleyin. Tek satırlık ChipGroup örneğindeki alt çip arasındaki yatay dolguyu spesifikasyona uyacak şekilde güncelleyin. (I3b155)
- Yön değişikliği sırasında
ModalBottomSheetLayoutuygulamasının kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğindeki düzen animasyonları (ör.Modifier.animateContentSize) artık sorunsuz çalışıyor. (I2f981, b/266780234)
Sürüm 1.4
Sürüm 1.4.3
3 Mayıs 2023
androidx.compose.material:material-*:1.4.3, değişiklik yapılmadan (yalnızca sürüm yükseltme) yayınlanır.
Sürüm 1.4.2
19 Nisan 2023
androidx.compose.material:material-*:1.4.2 iptal edilir. 1.4.2 sürümü şu commit'leri içerir.
Sürüm 1.4.1
5 Nisan 2023
androidx.compose.material:material-*:1.4.1 iptal edilir. 1.4.1 sürümü şu commit'leri içerir.
Sürüm 1.4.0
22 Mart 2023
androidx.compose.material:material-*:1.4.0 iptal edilir. 1.4.0 sürümü şu commit'leri içerir.
1.3.0 sürümünden beri yapılan önemli değişiklikler
API Değişiklikleri
Modifier.minimumInteractiveComponentSizeekleyin. Öğe daha küçük ölçülse bile dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)ModalDrawer'daki Kaydırılabilir API'lerde değişiklikler yapıldı.DrawerStateadlı kullanıcınınanimateToözelliği, açma ve kapatma yöntemleriyle değiştirildi. Ofset artık boş değer atanabilir. Ofset gerektirmek içinrequireOffsetöğesini kullanın. (I3de9e)- Materyal ve Material3 Text,
TextFieldveOutlinedTextFieldbileşenlerineminLinesparametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d). BasicTextveBasicTextFieldiçinminLinesparametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı olarak ayarlamaya olanak tanır (I24294, b/122476634).
Sürüm 1.4.0-rc01
8 Mart 2023
androidx.compose.material:material-*:1.4.0-rc01 değişiklik yapılmadan yayınlanır. 1.4.0-rc01 sürümü şu commit'leri içerir.
Sürüm 1.4.0-beta02
22 Şubat 2023
androidx.compose.material:material-*:1.4.0-beta02 iptal edilir. 1.4.0-beta02 sürümü şu commit'leri içerir.
API Değişiklikleri
BottomSheetScaffold'daki Kaydırılabilir API'lerde değişiklikler yapıldı.BottomSheetStateadlı kullanıcınınconfirmStateChangeparametresi,confirmValueChangeolarak yeniden adlandırıldı.progressartık kayan nokta değeri olarak gösteriliyor.animateTovesnapTodahili olmalıdır. Bunun yerineexpand()vecollapse()kullanın.directionveoverflowkaldı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,directionsvekitchensimgelerini düzenleyen, genişletilmiş Material Icons'da yapılan küçük güncelleme. (I65f5e)
Sürüm 1.4.0-beta01
8 Şubat 2023
androidx.compose.material:material-*:1.4.0-beta01 iptal edilir. 1.4.0-beta01 sürümü şu commit'leri içerir.
API Değişiklikleri
pullRefreshöğesinin hızı kullanmaması ve bu nedenle kaydırma sonunun gösterilmesine neden olan sorun düzeltildi. Ayrıca, tüketilen hız için Float döndürmek üzereModifier.pullRefreshiçindekionReleaselambda'nın API imzası değiştirildi (I7db65, b/266874741).- Geri yüklenen özellik alıcı
LocalMinimuTouchTargetEnforcement, desteği sonlandırılmış olarak işaretlenir veLocalMinimumInteractiveComponentEnforcementadresine 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 HalfExpandeddurumunun yanlış hesaplanmasına ve e-tablonun kayıyormuş gibi görünmesine neden olan sorun düzeltildi. (I8c615, b/265610459)- Bazı durumlarda, gizli durumdan görünür duruma geçildiğinde sayfanın kilitlenmesine neden olan
ModalBottomSheetLayouthatası düzeltildi. (Ia9265, b/265444789)
Sürüm 1.4.0-alpha04
11 Ocak 2023
androidx.compose.material:material-*:1.4.0-alpha04 iptal edilir. 1.4.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
- Yüzeyler'de
IsContaineranlamsal yapı özelliği eklendi. Bu özellik, yüzeyler gibi öğelerin semantik anlamına göre geçiş sırasını belirleyen sonraki bir değişiklikte kullanılacaktır. (I63379) - Çekmecedeki
snapToişlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368) - Dairesel ilerleme durumu göstergeleri için parça rengi parametresi, hem dairesel hem de doğrusal ilerleme durumu göstergeleri için ise çizgi ucu parametresi eklendi. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState,ModalBottomSheetState.SaververememberModalBottomSheetState'ninconfirmStateChangeadlı öğesiconfirmValueChangeolarak yeniden adlandırıldı. (Ib48d1)- Kullanımdan kaldırılan ve gizlenen işlevlerin daha fazla dönüş türü boş değer atanabilirliği (Ibf7b0)
Modifier.minimumInteractiveComponentSizeekleyin. Öğe daha küçük ölçülse bile dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda alan ayırmak üzere kullanılabilir. (I33f58, b/258495559)ModalBottomSheetLayout'daki Kaydırılabilir API'lerde değişiklikler yapıldı.ModalBottomSheetStateişlevininanimateToartıkanimationSpecparametresini almıyor veoffsetartık boş değer atanabilir.offset'nin zorunlu olmasını sağlamak içinrequireOffsetkullanın. (Ia2e79)
Hata Düzeltmeleri
ModalBottomSheetLayoutsayfalarının maksimum genişliği artık 640 dp. (I71a4f, b/234927577)rememberPullRefreshStateöğesinin zaman içinderefreshThresholdverefreshingOffsetöğelerini güncellememesine neden olan sorun düzeltildi. (Ifed10, b/263159832)- İlerleme durumu göstergelerindeki ilerleme durumu artık beklenen aralıkla düzgün şekilde sınırlandırılıyor. (I8a7eb, b/262262727)
ModalBottomSheetStatehenüz herhangi bir bağlantı almadığında, bir istisna oluşturmak yerinesnapToveyaanimateToçağrıldığındacurrentValueöğesini animasyon olmadan günceller. (I2c91b)- Material 2
FilterChipuygulamasında etkin durum düzeltildi. (Id326a, b/261329817) - Dikeyden yataya döndürülürken
ModalBottomSheetLayoutsimgesininHalfExpandedolması durumunda kilitlenmeye neden olan hata düzeltildi. Lütfen yapılandırmayı kontrol ederek doğruinitialValuedeğerini ilettiğinizden emin olun. (Ie8df7, b/182882364) - E-tablo içeriği boşsa
ModalBottomSheetLayoutuygulamasının kilitlenmesine neden olan sorun düzeltildi.ModalBottomSheetLayoutartı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-alpha03sürümündenandroidx.compose.foundation:1.4.0-alpha04sürümüne güncelleme yaparkenjava.lang.NoSuchFieldErrorhatasıyla karşılaşabilirsiniz. Sorun burada ilk olarak bildirildi. Düzeltme gönderildi ve bir sonraki Compose güncellemesinde kullanıma sunulacak. Geçici çözüm olarakandroidx.compose.materialveandroidx.compose.material3kitaplıklarınızı en yeni sürüme(1.1.0-alpha04) güncelleyin veyaandroidx.compose.foundationkitaplığınızı 1.4.0-alpha03 sürümüne düşürün.
Sürüm 1.4.0-alpha03
7 Aralık 2022
androidx.compose.material:material-*:1.4.0-alpha03 iptal edilir. 1.4.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
@JvmDefaultWithCompatibilityek açıklama ekleme (I8f206)SwipeableiçindekiModalDrawerAPI'lerinde değişiklikler yapıldı.DrawerStateadlı kullanıcınınanimateTo,openvecloseyöntemleriyle değiştirildi ve artık telafi edilebilir. Telafi gerektirmek içinrequireOffsetöğesini kullanın. (I3de9e)- Üst öğelerin kaydırma bilgilerini sorgulamak için bir Modifier API eklendi. (I2ba9d, b/203141462)
- Hareketlerin kaydırma etkinliklerine dönüşebileceği durumlarda, basma etkileşimlerini doğru şekilde geciktirmek için
Clickableiçinde kullanılır. Scrollable ViewGroupiçinde kullanıldığındaClickablesöğesinin dalgalanmaları doğru şekilde geciktirmemesi sorunu düzeltildi.- Hareketlerin kaydırma etkinliğine dönüşebileceği durumlarda basma işlemlerini doğru şekilde geciktirmek için çekmeceler ve sayfalar güncellendi.
Hata Düzeltmeleri
- Yenileme durumu doğru olarak değiştirilmediyse
onRefreshçağrıldıktan sonraPullRefreshIndicator'nın takılı kalmasına neden olan sorun düzeltildi. (Ie2416, b/248274004)
Bağımlılık Güncellemeleri (Dependency Updates)
- Compose UI ve Compose Material artık Lifecycle 2.5.1'e bağlı. (I05ab0, b/258038814)
Sürüm 1.4.0-alpha02
9 Kasım 2022
androidx.compose.material:material-*:1.4.0-alpha02 iptal edilir. 1.4.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
awaitFirstDownvewaitForUpOrCancellationartık daha fazla esneklik içinPointerEventPasskabul ediyor. (I7579a, b/212091796)- Materyal ve Material3 Text,
TextFieldveOutlinedTextFieldbileşenlerineminLinesparametresi eklendi. Bu parametre, bileşenin minimum yüksekliğinin satır sayısı cinsinden ayarlanmasına olanak tanır (I4af1d). BasicTexveBasicTextFieldiçinminLinesparametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı (I24294, b/122476634) cinsinden ayarlamaya olanak tanır.
Sürüm 1.4.0-alpha01
24 Ekim 2022
androidx.compose.material:material-*:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.
API Değişiklikleri
- Hareket algılayıcılar için yeni bir yöntem (
awaitEachGesture()) eklendi.forEachGesture()ile benzer şekilde çalışır ancak hareketler üzerindeki döngü tamamenAwaitPointerEventScopeiçinde gerçekleştiğinden yinelemeler arasında etkinlik kaybı yaşanmaz. forEachGesture(), hareketler arasında etkinliklerin kaybolmasına izin verdiği içinawaitEachGesture()lehine kullanımdan kaldırıldı. (Iffc3f, b/251260206)
Sürüm 1.3
Sürüm 1.3.1
9 Kasım 2022
androidx.compose.material:material-*:1.3.1 iptal edilir. 1.3.1 sürümü şu commit'leri içerir.
Sürüm 1.3.0
24 Ekim 2022
androidx.compose.material:material-*:1.3.0 iptal edilir. 1.3.0 sürümü şu commit'leri içerir.
1.2.0 sürümünden beri yapılan önemli değişiklikler
Davranış değişikliği
- İletişim kutularında ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.
API Değişiklikleri
- Compose'a yenilemek için çekme bileşeni ekleyin (I29168).
- RangeSlider'da (I3b79a) değerler olan parametre adını değer olarak değiştirin.
Sürüm 1.3.0-rc01
5 Ekim 2022
androidx.compose.material:material-*:1.3.0-rc01 iptal edilir. 1.3.0-rc01 sürümü şu commit'leri içerir.
Sürüm 1.3.0-beta03
21 Eylül 2022
androidx.compose.material:material-*:1.3.0-beta03 iptal edilir. 1.3.0-beta03 sürümü şu commit'leri içerir.
API Değişiklikleri
- Compose'a yenilemek için çekme bileşeni ekleme (I29168)
Sürüm 1.3.0-beta02
7 Eylül 2022
androidx.compose.material:material-*:1.3.0-beta02 iptal edilir. 1.3.0-beta02 sürümü şu commit'leri içerir.
1.3.0-beta01 sürümünden beri değişiklik yok
Sürüm 1.3.0-beta01
24 Ağustos 2022
androidx.compose.material:material-*:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü şu commit'leri içerir.
Davranış değişikliği
İletişim kutularında ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.
Oluşturma iletişim kutuları ve pop-up'lar için desteklenen maksimum yükseklik 30 dp'den 8 dp'ye düşürüldü. Bu değişiklik hem materyal hem de kullanıcı arayüzü özel iletişim kutularını ve pop-up'ları etkiler. Bu değişiklik, S sürümünden önceki Android sürümlerinde erişilebilirlik hatasını azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up içindeki içerikle etkileşime girebilmesini sağlamak için yapılmıştır.
Bu değişiklikten yalnızca, yüksekliği 8 dp'den daha yüksek seviyelere ayarlanmış özel bir iletişim kutusu veya pop-up uygulaması oluşturuyorsanız etkilenirsiniz. İletişim kutunuzun veya pop-up'ınızın yüksekliğini azaltmayı deneyin. Bu yeni davranışı devre dışı bırakmanız gerekiyorsa istediğiniz yükseltme ayarıyla kendi iletişim kutunuzu veya pop-up'ınızı oluşturmayı düşünebilirsiniz. Erişilebilirlik olumsuz etkilenebileceğinden bu durum önerilmez. İletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından etkileşime girilebilir ve okunabilir olmasını sağlamak geliştiricinin sorumluluğundadır.
Sürüm 1.3.0-alpha03
10 Ağustos 2022
androidx.compose.material:material-*:1.3.0-alpha03 iptal edilir. 1.3.0-alpha03 sürümü şu commit'leri içerir.
Sürüm 1.3.0-alpha02
27 Temmuz 2022
androidx.compose.material:material-*:1.3.0-alpha02 iptal edilir. 1.3.0-alpha02 sürümü şu commit'leri içerir.
Harici Katkı (External Contribution)
- Scaffold'da
FloatingActionButtonile ilgiliAnimatedVisibilitysorununu 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
RangeSlideriçinde parametre adını değerlerden değere değiştirme (I3b79a)
Hata Düzeltmeleri
- Daha anlamlı bir içerik açıklaması sağlamak için rozet örneğini güncelleyin. (I10b9d)
Sürüm 1.2
Sürüm 1.2.1
10 Ağustos 2022
androidx.compose.material:material-*:1.2.1 iptal edilir. 1.2.1 sürümü şu commit'leri içerir.
Sürüm 1.2.0
27 Temmuz 2022
androidx.compose.material:material-*:1.2.0 iptal edilir. 1.2.0 sürümü şu commit'leri içerir.
Sürüm 1.2.0-rc03
29 Haziran 2022
androidx.compose.material:material-*:1.2.0-rc03 iptal edilir. 1.2.0-rc03 sürümü şu commit'leri içerir.
- 1.2.0-rc02 sürümünden bu yana değişiklik yapılmadı.
Sürüm 1.2.0-rc02
22 Haziran 2022
androidx.compose.material:material-*:1.2.0-rc02 iptal edilir. 1.2.0-rc02 sürümü şu commit'leri içerir.
Sürüm 1.2.0-rc01
15 Haziran 2022
androidx.compose.material:material-*:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü şu commit'leri içerir.
API Değişiklikleri
- Compose kitaplıklarındaki arayüzler artık JDK8 varsayılan arayüz yöntemleri kullanılarak oluşturuluyor (I5bcf1).
Hata Düzeltmeleri
- Rozeti simge yerine etikete yapıştırmak için rozeti, önde gelen simge sekmesiyle günceller. (I90993)
Sürüm 1.2.0-beta03
1 Haziran 2022
androidx.compose.material:material-*:1.2.0-beta03 iptal edilir. 1.2.0-beta03 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
BottomSheetScaffoldsimgesinin üst uygulama çubuğunun gölgesinin üzerine çizilmesine neden olan hata düzeltildi.BottomSheetScaffoldartık Snackbar'ları yerleştirirken sayfanın durumunu da dikkate alıyor: Daraltılmış durumda Snackbar'lar sayfanın ve FAB'ın üstüne yerleştiriliyor. Genişletilmiş durumda ise Snackbar'lar sayfanın altına sabitleniyor. (Ia80b5, b/187771422)
Sürüm 1.2.0-beta02
18 Mayıs 2022
androidx.compose.material:material-*:1.2.0-beta02 iptal edilir. 1.2.0-beta02 sürümü şu commit'leri içerir.
Sürüm 1.2.0-beta01
11 Mayıs 2022
androidx.compose.material:material-*:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Bu, 1.2'nin ilk beta sürümüdür.
API Değişiklikleri
OutlinedTextFieldiçinde kenarlık konturu çizenTextFieldDefaults.BorderStrokecomposable'ıTextFieldDefaults.BorderBoxolarak yeniden adlandırıldı. (I5f295)
Sürüm 1.2.0-alpha08
20 Nisan 2022
androidx.compose.material:material-*:1.2.0-alpha08 iptal edilir. 1.2.0-alpha08 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kısmi tüketim (aşağı veya konum)
PointerInputChange'da kullanımdan kaldırıldı. Değişikliği tamamen kullanmak içinconsume()kullanabilirsiniz. Başka bir kullanıcının değişikliği daha önce kullanıp kullanmadığını belirlemek içinisConsumedsimgesini kullanabilirsiniz. PointerInputChange::copy()artık her zaman yüzeysel bir kopya oluşturur. Bu, kopyalardan biri kullanıldığındaPointerInputChangekopyalarının da kullanılacağı anlamına gelir. Sınırsız birPointerInputChangeoluşturmak istiyorsanız bunun yerine oluşturucuyu kullanın. (Ie6be4, b/225669674)
Sürüm 1.2.0-alpha07
6 Nisan 2022
androidx.compose.material:material-*:1.2.0-alpha07 iptal edilir. 1.2.0-alpha07 sürümü şu commit'leri içerir.
Sürüm 1.2.0-alpha06
23 Mart 2022
androidx.compose.material:material-*:1.2.0-alpha06 iptal edilir. 1.2.0-alpha06 sürümü şu commit'leri içerir.
API Değişiklikleri
- Surface API'deki değişiklikleri (I56bcb) takip etmek için tıklanabilir Card API'de güncellemeler yapıldı.
- Seçilebilir ve açılıp kapatılabilir yüzeyler için ek aşırı yüklenmiş işlevler ekleyen Material 2 Surface API'de güncellemeler. (Ifcca5)
Sürüm 1.2.0-alpha05
9 Mart 2022
androidx.compose.material:material-*:1.2.0-alpha05 iptal edilir. 1.2.0-alpha05 sürümü şu commit'leri içerir.
API Değişiklikleri
LazyVerticalGridveLazyHorizontalGridartık kararlı sürümde. (I307c0)LazyVerticalGrid/LazyHorizontalGridve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen androidx.compose.foundation.lazy.grid'den androidx.compose.foundation.lazy'ye yaptığınız içe aktarma işlemlerini güncelleyin. (I2d446, b/219942574)- Yalnızca bir Görünüm'e güvenmeye yönelik
WindowInsetsControllerCompatönceki değişiklik geri alındı ve bazı pencere işaretlerini yönetmek için gerekli olan bir Pencere tekrar istendi. Doğru pencerenin kullanıldığından emin olmak için (ör. Görünüm bir iletişim kutusundaysa)ViewCompat.getWindowInsetsControlleryerineWindowCompat.getInsetsControllerkullanımdan kaldırıldı. (I660ae, b/219572936) - Metin:
includeFontPaddingözelliği artık varsayılan olarak devre dışıdır.includeFontPadding=falsenedeniyle oluşan kırpma sorunları giderildi ve uzun komut dosyalarında kırpma olmaması sağlandı. (I31c84, b/171394808) - Çapraz eksen boyutlarını tanımlamak için yeni bir
LazyVerticalGridAPI 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)TextFieldDecorationBoxveOutlinedTextFieldDecorationBoxeklendi. Bu bileşenleriBasicTextFieldile birlikte kullanmak, Materyal Tasarım metin alanlarına dayalı ancak daha fazla özelleştirme seçeneği sunan özel metin alanları oluşturmanıza yardımcı olur.- Metin alanlarındaki yatay ve dikey dolguları ayarlama olanağı eklendi. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168003617)
ComposableTarget,ComposableTargetMarkerveComposableOpenTargetişlevleri eklendi. Bu işlevler, bir composable işlevin, tasarlanmadığı bir uygulayıcıyı hedefleyerek çağrıldığı zaman derleme zamanı raporlamasına olanak tanır.Çoğu durumda, ek açıklamalar compose derleyici eklentisi tarafından çıkarılabilir. Bu nedenle, bu ek açıklamaların doğrudan kullanılması nadir olmalıdır. Çıkarılamayan durumlar arasında özel uygulayıcı oluşturma ve kullanma, soyut composable işlevler (arayüz yöntemleri gibi), composable lambda'lar olan alanlar veya genel değişkenler (yerel değişkenler ve parametreler çıkarılır) ya da
ComposeNodeveya ilgili composable işlevleri kullanma yer alır.Özel uygulayıcılar için
ComposeNodeveyaReusableComposeNodeçağıran composable işlevlerin, işlev ve composable lambda parametre türleri içinCompoableTargetek açıklaması eklemesi gerekir. Ancak,ComposableTargetMarkerile açıklama eklenmiş bir açıklama oluşturmanız ve ardındanComposableTargetyerine işaretlenmiş açıklamanın kullanılması önerilir.ComposableTargetMarkerile işaretlenmiş bir composable ek açıklama, uygulayıcı parametresi olarak özelliğin sınıfının tam nitelikli adını içeren birComposbleTargetile eşdeğerdir.ComposableTargetMarkerkullanımına ilişkin örnek içinanroidx.compose.ui.UiComposablebö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
- Addes çip grubu örneği (I97080, b/192585545)
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
NonRestartableComposableeklendi. Bu, çağrılan iç işlevde tekrarlanan tüm parametreler için derleyici tarafından oluşturulan memoization kontrollerini (eşittir) azaltır. (I90490) - İşlem çipi desteği eklendi (I07100, b/192585545)
Sürüm 1.2.0-alpha01
12 Ocak 2022
androidx.compose.material:material-*:1.2.0-alpha01 iptal edilir. 1.2.0-alpha01 sürümü şu commit'leri içerir.
Bağımlılık Güncellemeleri (Dependency Updates)
- Artık Kotlin
1.6.10sürümüne bağlıdır.
Harici Katkı (External Contribution)
ModalBottomSheetStateartıkisSkipHalfExpandedişaretine sahip. Oluşturucu aracılığıyla ayarlanabilir veya daha sonraModalBottomSheetStateöğesininisSkipHalfExpandedözelliğitrueolarak ayarlanarak güncellenebilir.isSkipHalfExpandeddeğ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'daNullPointerExceptionile ilgili sorun düzeltildi (aosp/1947059, b/206677462)- Android'de panodan okuma sırasında panodaki içerikten kaynaklanan kilitlenme sorunu düzeltildi. (I06020, b/197769306)
LazyVerticalGrid'da sağdan sola dil desteğiyle ilgili sorun düzeltildi (aosp/1931080, b/207510535)
Sürüm 1.1.0
9 Şubat 2022
androidx.compose.material:material-*:1.1.0 iptal edilir. 1.1.0 sürümü şu commit'leri içerir.
1.0.0 sürümünden beri yapılan önemli değişiklikler
- Android 12'deki Aşırı kaydırma efekti için kararlı destek
- Dokunma hedefi boyutlandırmayla ilgili iyileştirmeler
- Compose 1.0 ile ilgili olarak, Materyal bileşenlerinin dokunma hedefi boyutu için Materyal erişilebilirlik yönergelerine uyacak şekilde düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğmenin dokunma hedefi minimum 48x48 dp boyutuna genişletilir. Bu, Compose Material'ı Materyal Tasarım Bileşenleri'nin davranışıyla aynı hale getirerek Görünümler ve Compose'u karıştırdığınızda tutarlı bir davranış sağlar. Bu değişiklik, Compose Material bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda dokunma hedefi erişilebilirliği için minimum şartların karşılanmasını da sağlar.
- Gezinme sütunu için kararlı destek
- Daha önce deneysel olan bazı API'leri kararlı sürüme geçirir.
- Kotlin'in yeni sürümleri için destek
Sürüm 1.1.0-rc03
26 Ocak 2022
androidx.compose.material:material-*:1.1.0-rc03 iptal edilir. 1.1.0-rc03 sürümü şu commit'leri içerir.
Davranış Değişiklikleri
Compose 1.0 ile ilgili olarak, Material bileşenlerinin, Material erişilebilirlik yönergeleri dokunma hedefi boyutuna uyacak şekilde düzen alanını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük ayarlasanız bile düğmenin dokunma hedefi minimum 48x48 dp boyutuna genişletilir. Bu, Compose Material'ı Materyal Tasarım Bileşenleri'nin davranışıyla aynı hale getirerek Görünümler ve Compose'u karıştırdığınızda tutarlı bir davranış sağlar. Bu değişiklik, Compose Material bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda dokunma hedefi erişilebilirliği için minimum şartların karşılanmasını da sağlar.
Hata Düzeltmeleri
- Minimum dokunma hedefi değiştiricileri incelenirken düzen denetçisi için daha iyi hata ayıklama bilgileri eklendi. (aosp/1955036)
Sürüm 1.1.0-rc01
15 Aralık 2021
androidx.compose.material:material-*:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
Checkboxes için uygulanan köşe yarıçapını düzeltin (I38b03, b/175198975, b/202309440)
Sürüm 1.1.0-beta04
1 Aralık 2021
androidx.compose.material:material-*:1.1.0-beta04 iptal edilir. 1.1.0-beta04 sürümü şu commit'leri içerir.
Yeni Özellikler
- Kotlin
1.6.0ile uyumlu olacak şekilde güncellendi.
Sürüm 1.1.0-beta03
17 Kasım 2021
androidx.compose.material:material-*:1.1.0-beta03 iptal edilir. 1.1.0-beta03 sürümü şu commit'leri içerir.
Sürüm 1.1.0-beta02
3 Kasım 2021
androidx.compose.material:material-*:1.1.0-beta02 iptal edilir. 1.1.0-beta02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Dalgalanmalar ve diğer göstergeler artık her zaman aşağı yönlü bir etkinlik için gecikmek yerine yalnızca Modifier.scrollable() kapsayıcısının içindeyse gecikecek. (Ibefe0, b/203141462)
Sürüm 1.1.0-beta01
27 Ekim 2021
androidx.compose.material:material-*:1.1.0-beta01 iptal edilir. 1.1.0-beta01 sürümü şu commit'leri içerir.
Yeni Özellikler
- Dalgalar artık üzerine gelme ve odaklanma durumlarını destekliyor. Bu nedenle, düğme gibi bir bileşenin üzerine gelindiğinde veya odaklanıldığında artık doğru durum yer paylaşımı gösterilecek.
Sürüm 1.1.0-alpha06
13 Ekim 2021
androidx.compose.material:material-*:1.1.0-alpha06 iptal edilir. Version 1.1.0-alpha06 contains these commits.
API Değişiklikleri
- Daha verimli bir şekilde çalışmak için Layout'a alt öğesi olmayan bir aşırı yükleme eklendi (Ib0d9a).
ExposedDropdownMenu,ExposedDropdownMenuBoxtemel alınarakTextFieldveDropdownMenuile birlikte uygulanır (If60b2).dismissOnOutsideClick,PopupProperties'ye eklendi ve desteği sonlandırılandismissOnClickOutside'ın yerini aldı. Yeni özellik, tıklama konumunu ve sabitleme sınırlarını alarak onDismissRequest'in çağrılıp çağrılmaması üzerinde daha hassas kontrol sağlar. Örneğin, bu ayar, dokunulduğunda sabitleme işleminin kapatılmasını önlemek için yararlı olabilir.updateAndroidWindowManagerFlags,PopupProperties'ye eklenerek pop-up tarafından Android WindowManager'a iletilen işaretler üzerinde düşük düzeyde kontrol olanağı sunuldu. Lambda'nın parametresi, PopupProperties değerlerinden hesaplanan ve WindowManager işaretleriyle sonuçlanan işaretler olur (ör. odaklanılabilir). Lambda'nın sonucu, Android WindowManager'a iletilecek nihai işaretler olur. Varsayılan olarak, updateAndroidWindowManagerFlags, parametrelerden hesaplanan işaretleri değiştirmeden bırakır. Bu API dikkatli bir şekilde ve yalnızca pop-up'ın çok özel davranış koşullarına sahip olduğu durumlarda kullanılmalıdır. (I6e9f9)
Sürüm 1.1.0-alpha05
29 Eylül 2021
androidx.compose.material:material-*:1.1.0-alpha05 iptal edilir. 1.1.0-alpha05 sürümü şu commit'leri içerir.
API Değişiklikleri
- Erişilebilir dokunma hedefi olmayan Material bileşenleri için minimum dokunma hedefi boyutu ekler. Bu, bileşenlerin yeterince büyük bir dokunma hedefi olmasını sağlamak için etraflarına ek boşluk eklediğinden, bu bileşenlerin boyutunun görsel boyutu olduğunu varsayan ve dokunma hedefi boyutunu hesaba katmayan mevcut kullanıcı arayüzlerini değiştirebilir. Bu davranışı bir hiyerarşide devre dışı bırakmak için deneysel
LocalMinimumTouchTargetEnforcementcomposition local'i kullanabilirsiniz. Ancak bu, yalnızca mevcut kullanıcı arayüzlerini yeni minimum boyutu hesaba katacak şekilde güncellerken geçici bir çözüm olarak kullanılmalıdır. (I9b966, b/149691127, b/171509422) - TextFieldColors'ı genişleterek leadingColor ve trailingColor için InteractionSource sağlayan deneysel TextFieldColorsWithIcons arayüzü eklendi. Bu, TextField'ın görünümünün odaklanma durumuna göre değiştirilmesini sağlar. (I66923, b/198402662)
Sürüm 1.1.0-alpha04
15 Eylül 2021
androidx.compose.material:material-*:1.1.0-alpha04 iptal edilir. 1.1.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
performTouchInputveTouchInjectionScopeile değiştirilenperformGestureveGestureScopekullanımdan kaldırıldı. (Ia5f3f, b/190493367)- Geliştiricilerin dokunma hedeflerinin erişilebilirlik minimumlarını karşıladığından emin olabilmesi için minimum dokunma hedefi boyutunu içeren
touchBoundsInRoot,SemanticsNode'a eklendi. (I2e14b, b/197751214)
Hata Düzeltmeleri
- Minimum dokunma hedefi amacıyla, kırpmanın dokunma hedefi sınırlarını kırpma bölgesinin ötesine genişletmesine izin verin. (I43e10, b/171509422)
- Ekran yoğunluğundan bağımsız olarak tek piksellik ayırıcıların çizilmesini desteklemek için kalınlık parametresinde
Dp.Hairlinedeğerine uymak üzereDividercomposable'ı 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, Kotlin1.5.30'e bağlı olacak şekilde güncellendi. (I74545)
API Değişiklikleri
- Kırpılmış sınırları almak için test yöntemi eklendi. (I6b28e)
- Erişilebilirliği sağlamak için anlamsal yapıda ve işaretçi girişinde kullanılmak üzere ViewConfiguration'a minimum dokunma hedefi boyutu eklendi. (Ie861c)
Sürüm 1.1.0-alpha02
18 Ağustos 2021
androidx.compose.material:material-*:1.1.0-alpha02 iptal edilir. 1.1.0-alpha02 sürümü şu commit'leri içerir.
Harici Katkı (External Contribution)
- Kaydırma uzaklığının bir sabitleme noktasının yuvarlama hatası içinde olduğu durumlarda SwipeableState'in davranışını düzeltin. (I03d39, b/191993377)
Sürüm 1.1.0-alpha01
4 Ağustos 2021
androidx.compose.material:material-*:1.1.0-alpha01 iptal edilir. 1.1.0-alpha01 sürümü şu commit'leri içerir.
API Değişiklikleri
- Kaynak ve hedef dikdörtgenleri kullanan
DrawScope#drawImageyöntemi, isteğe bağlı bir FilterQuality parametresini kullanacak şekilde güncellendi. Bu, piksel tabanlı sanat için ölçeklendirildiğinde pikselli olması amaçlanan piksel sanat için kullanışlıdır. BitmapPainter + Image composable, isteğe bağlı bir FilterQuality parametresini de kullanacak şekilde güncellendi (Ie4fb0, b/180311607) - BadgeBox'ın adı BadgedBox olarak değiştirildi ve Badge composable'ı kabul edecek şekilde parametreler değiştirildi. BadgedBox için tipik rozet içeriği olan Badge bileşeni eklendi. (I639c6)
- NavigationRail bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I8de77).
Hata Düzeltmeleri
- Alt kısımla hizalanmış bir NavigationRail örneği ve Katalog uygulaması demosu eklendi. (I3cffc)
- İletişim kutuları artık platformun boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth'i false olarak ayarlayın. (Iffaed, b/192682388)
- Katalog uygulamasına gezinme çubuğu demosu eklendi. (I04960)
- Katalog uygulamasına rozet demosu eklendi. (If285d)
Sürüm 1.0
Sürüm 1.0.5
3 Kasım 2021
androidx.compose.material:material-*:1.0.5 iptal edilir. 1.0.5 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Türetilmiş durum örneklerinin izlenmesi sırasında yaşanan kilitlenme sorunu düzeltildi. (aosp/1792247)
Sürüm 1.0.4
13 Ekim 2021
androidx.compose.material:material-*:1.0.4 iptal edilir. 1.0.4 sürümü şu commit'leri içerir.
Bağımlılık Güncellemeleri (Dependency Updates)
- Kotlin
1.5.31sürümüne bağımlı olacak şekilde güncellendi
Sürüm 1.0.3
29 Eylül 2021
androidx.compose.material:material-*:1.0.3 iptal edilir. 1.0.3 sürümü şu commit'leri içerir.
Bağımlılık Güncellemeleri (Dependency Updates)
- Kotlin
1.5.30sürümüne bağımlı olacak şekilde güncellendi
Sürüm 1.0.2
1 Eylül 2021
androidx.compose.material:material-*:1.0.2 iptal edilir. 1.0.2 sürümü şu commit'leri içerir.
Compose 1.0.2 sürümünü destekleyecek şekilde güncellendi. Compose 1.0.2, Kotlin 1.5.21 ile uyumluluğunu sürdürüyor.
Sürüm 1.0.1
4 Ağustos 2021
androidx.compose.material:material-*:1.0.1 iptal edilir. 1.0.1 sürümü şu commit'leri içerir.
Bağımlılık Güncellemeleri (Dependency Updates)
- Kotlin
1.5.21sürümüne bağlı olacak şekilde güncellendi.
Sürüm 1.0.0
28 Temmuz 2021
androidx.compose.material:material-*:1.0.0 iptal edilir. 1.0.0 sürümü şu commit'leri içerir.
1.0.0 sürümünün temel özellikleri
Bu, Compose'un ilk kararlı sürümüdür. Daha fazla bilgi için lütfen resmi Compose Release bloguna göz atın.
Bilinen Sorunlar
Android Studio Bumblebee Canary 4 veya AGP
7.1.0-alpha04/7.1.0-alpha05kullanıyorsanız aşağıdaki kilitlenmeyle karşılaşabilirsiniz:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"Bu sorunu düzeltmek için
build.gradledosyanızda minSdkVersion'ı geçici olarak 24 veya daha yüksek bir sürüme yükseltin. Bu sorun, Android Studio Bumblebee ve AGP'nin7.1sonraki sürümünde düzeltilecektir. (b/194289155)
Sürüm 1.0.0-rc02
14 Temmuz 2021
androidx.compose.material:material-*:1.0.0-rc02 iptal edilir. 1.0.0-rc02 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- İletişim kutuları artık platformun boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için
usePlatformDefaultWidthözelliğini yanlış olarak ayarlayın. (Iffaed, b/192682388)
Sürüm 1.0.0-rc01
1 Temmuz 2021
androidx.compose.material:material-*:1.0.0-rc01 iptal edilir. 1.0.0-rc01 sürümü şu commit'leri içerir.
API Değişiklikleri
BadgeBoxbileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I5e284).PopupPropertiesklasöründekiuseDefaultMaxWidth,usePlatformDefaultWidtholarak yeniden adlandırıldı. (I05710)- İletişim kutuları artık ekran genişliğinin tamamını kullanabilir. (I83929, b/190810877)
- Deneysel aralık kaydırma çubuğu uygulaması eklendi (I2f4b3)
Hata Düzeltmeleri
- Materyal Tasarım spesifikasyonlarına uygun olarak, geçersiz giriş içeren OutlinedTextField, etiket yer tutucu olarak kullanıldığında etiket için hata rengini kullanmayı bıraktı. İkincisi, metin alanında giriş metni olmadığında ve metin alanı ön planda olmadığında geçerlidir. Bu değişiklikle birlikte
TextFieldColors.labelColor()işlevindekierror:Booleanparametresinin anlamı da değişti: Etiket yer tutucu olarak kullanılıyorsa giriş geçersiz olsa bile artıkfalsedeğ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/mainveya eşdeğer dizinde bulunan bir metin dosyasındabaseline-prof.txtbelirtilir. Dosyada her satırda bir kural belirtilir. Bu durumda kural, kitaplıktaki yöntemlerle veya sınıflarla eşleşecek bir kalıptır. Bu kuralların söz dizimi,adb shell profman --dump-classes-and-methods ...kullanılırken kullanılan okunabilir ART profili biçiminin üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini alır.Yöntem kuralı aşağıdaki kalıba sahip olur:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>Sınıf kuralı ise aşağıdaki kalıba sahip olur:
<CLASS_DESCRIPTOR>Burada
<FLAGS>, bu yöntemin "Popüler", "Başlangıç" veya "Başlangıç Sonrası" olarak işaretlenip işaretlenmeyeceğini belirtmek için kullanılanH,SvePkarakterlerinden 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.SlotTablesı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üzerindekifun isPlaced(): Booleanyö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?
Hişaretine sahip bir yöntem, bu yöntemin "popüler" bir yöntem olduğunu ve önceden derlenmesi gerektiğini gösterir.Sişaretine sahip bir yöntem, başlangıçta çağrılan bir yöntem olduğunu gösterir ve başlangıçta yöntemin derlenmesi ve yorumlanması maliyetini önlemek için önceden derlenmelidir.Pişaretine sahip bir yöntem, başlatma işleminden sonra çağrılan bir yöntem olduğunu gösterir.Bu dosyada bulunan bir sınıf, başlatma sırasında kullanıldığını ve sınıf yükleme maliyetini önlemek için yığında önceden ayrılması gerektiğini gösterir.
Nasıl çalışır?
- Kitaplıklar, AAR yapılarında paketlenecek bu kuralları tanımlayabilir. Bu yapıtları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleştirilmiş kurallar, APK'ya özel kompakt bir ikili ART profili oluşturmak için kullanılır. ART, APK cihazlara yüklendiğinde bu profilden yararlanarak uygulamanın belirli bir alt kümesini önceden derleyebilir. Böylece uygulamanın performansını, özellikle de ilk çalıştırma performansını artırabilir. Bunun, hata ayıklanabilir uygulamaları etkilemeyeceğini unutmayın.
Sürüm 1.0.0-beta08
2 Haziran 2021
androidx.compose.material:material-*:1.0.0-beta08 iptal edilir. 1.0.0-beta08 sürümü şu commit'leri içerir.
Yeni Özellikler
Davranışı Bozan API Değişikliği (Behavior Breaking API Change)
- DAVRANIŞI BOZAN DEĞİŞİKLİK: Kart artık tıklamaları tüketiyor. Bu nedenle,
Card(Modifier.clickable)aracılığıyla eklenen tıklamalar işlem yapmıyor. Lütfen onClick'i kabul eden yeni deneysel kart aşırı yüklemesini kullanın. (Ia8744, b/183775620)- Tıklamaların yanı sıra diğer tıklanabilir işlevleri (ör. belirtme, interactionSource, etkin/devre dışı) işleyen yeni bir Card overload eklendi. Kart, bu durumlarda dalgalanma göstergesini kırpmayacağından
Modifier.clickableile normal, tıklanamayan bir kart kullanılamadı.
- 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
- DAVRANIŞI BOZAN DEĞİŞİKLİK: Surface artık tıklamaları kullanıyor. Bu nedenle,
Surface(Modifier.clickable)aracılığıyla eklenen tıklamalar etkisiz hale geliyor. Lütfen onClick'i kabul eden yeni deneysel Surface aşırı yüklemesini kullanın. (I73e6c, b/183775620)- Tıklamaların yanı sıra diğer tıklanabilir işlevleri (gösterge, interactionSource, etkin/devre dışı) işleyen yeni bir Surface aşırı yüklemesi eklendi. Surface, bu durumlarda dalgalanma göstergesini kırpmayacağından
Modifier.clickableile normal tıklanamayan bir Surface kullanılamadı.
- 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
API Değişiklikleri
FabPositionGelecekteki olası genişlemeyi desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb).- Yeni enum değerleri eklendiğinde kapsamlı when ifadeleriyle ilgili sorunları önlemek için enum kullanımları satır içi sınıflara yeniden düzenlendi. (I2b5eb)
- Kaydırma / sürükleme sırasında dalgalanma gösterilmesini önlemek için tıklanabilir / açılıp kapatılabilir öğelere dokunma zaman aşımı ekler (Ia2704, b/168524931).
- ContentDescription ve Text anlamsal yapı özellikleri artık tek değer değil, liste olarak kullanılıyor. Bu sayede, birleştirme işlemi yerine olduğu gibi birleştirme yapılabilir. Ayrıca bu değişikliklerden yararlanmak için daha iyi test API'leri sağlandı (Ica6bf, b/184825850).
Modifier.focusModifier()desteği sonlandırıldı veModifier.focusTarget()(I6c860) ile değiştirildi.FocusStateenum'ıFocusStatearayüzüyle (Iccc1a, b/187055290) değiştirildi.- View destekli dalgalanma uygulaması kararlı hale geldiğinden
LocalRippleNativeRenderingkaldırıldı (I7fab3, b/188569367)
Hata Düzeltmeleri
Modifier.onGloballyPositioned(), tüm değiştiriciler uygulandıktan sonraki düzen koordinatlarını değil, değiştirici zincirindeki bu değiştiricinin koordinatlarını raporlayacak şekilde değiştirildi. Bu nedenle, artık değiştiricilerin sırası hangi koordinatların raporlanacağını etkiliyor. (Ieb67d, b/177926591)- Mevcut Compose Material kataloğu için bir README dosyası eklendi. (If9191)
Sürüm 1.0.0-beta07
18 Mayıs 2021
androidx.compose.material:material-*:1.0.0-beta07 iptal edilir. 1.0.0-beta07 sürümü şu commit'leri içerir.
API Değişiklikleri
- Artık Navigation Compose'da rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor. (I22beb, b/172823546)
Sürüm 1.0.0-beta06
5 Mayıs 2021
androidx.compose.material:material-*:1.0.0-beta06 iptal edilir. 1.0.0-beta06 sürümü şu commit'leri içerir.
API Değişiklikleri
- Ripple, Android cihazlarda dahili olarak
RippleDrawablekullanacak şekilde taşındı. Bu, dalgalanma animasyonlarının RenderThread'de gerçekleşeceği ve bu nedenle, kullanıcı arayüzü iş parçacığı yük altındayken (ör. ekranlar arasında gezinirken) bile sorunsuz olacağı anlamına gelir. Bu değişiklik, ripple'ın API yüzeyini değiştirmez ancak bu değişiklik sonucunda davranış değişiklikleri olabilir. Taşıma işlemine yardımcı olmak içinLocalRippleNativeRenderingeklendi. CompositionLocalProvider içindeki önceki dalgalanma uygulamasına geri dönmek için bu CompositionLocal'efalsedeğeri sağlayın. Bu API geçicidir ve gelecekte kaldırılacaktır. Bu nedenle, bu API'yi kullanmanıza neden olan sorunlarla karşılaşırsanız lütfen hata kaydı oluşturun. (I902f8, b/168777351, b/183019123) - Koleksiyonu ve öğelerini erişilebilirlik hizmetleri için işaretlemeye olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017).
- Geçersiz giriş içeren bir düğümü işaretlemeye olanak tanıyan erişilebilirlik API'si
erroreklendi (I12997, b/180584804, b/182142737).
Hata Düzeltmeleri
- Updated Compose Material catalog insets implementation from: https://github.com/google/accompanist/pull/365. (I25dc3)
- Ağırlık(fill = false) özelliğine sahip satır ve sütun alt öğeleri artık üst öğenin kullanılabilir ana eksen alanının tamamını doldurmasına neden olmuyor. (Ied94d, b/186012444, b/184355105)
Sürüm 1.0.0-beta05
21 Nisan 2021
androidx.compose.material:material-*:1.0.0-beta05 iptal edilir. 1.0.0-beta05 sürümü şu commit'leri içerir.
Hata Düzeltmeleri
- Mevcut Compose Material kataloğuna bileşen kutusu resimleri, tema seçici ve daha spesifik menü URL'leri eklendi. (I9b58e)
Sürüm 1.0.0-beta04
7 Nisan 2021
androidx.compose.material:material-*:1.0.0-beta04 iptal edilir. 1.0.0-beta04 sürümü şu commit'leri içerir.
API Değişiklikleri
- API DEĞİŞİKLİĞİ:
DrawerStatedurumu artık deneysel SwipeableState'i genişletmiyor.- API DEĞİŞİKLİĞİ:
BottomDrawerState, deneysel olan BottomDrawer bileşeniyle (I81114, b/181656094) eşleşmesi için artık Deneysel olarak işaretleniyor.
- API DEĞİŞİKLİĞİ:
SoftwareKeyboardControllerüzerindekihideSoftwareKeyboardveshowSoftwareKeyboardöğelerini sırasıylahide()veshow()olarak yeniden adlandırın.- LocalSoftwareKeyboardController için tam CompositionLocal arayüzünü sağlayarak ayarlanmasına izin verin (özellikle testlerde kullanışlıdır) (I579a6)
- LiveRegion erişilebilirlik API'si eklendi. Düğüm canlı bölge olarak işaretlenirse erişilebilirlik hizmetleri, kullanıcılara değişiklikler hakkında otomatik olarak bildirim gönderir (Idcf6f, b/172590946).
Hata Düzeltmeleri
- Mevcut modüle Compose Material kataloğu uygulaması eklendi. Şu anda eksik olanlar: bileşen kutusu resimleri, tema seçici (sonraki değişikliklerde eklenecek). (Ie7a94)
Sürüm 1.0.0-beta03
24 Mart 2021
androidx.compose.material:material-*:1.0.0-beta03 iptal edilir. 1.0.0-beta03 sürümü şu commit'leri içerir.
API Değişiklikleri
DefaultMonotonicFrameClockkullanımdan kaldırıldı.withFrameNanosveyaRecomposer.runRecomposeAndApplyChangesileMonotonicFrameClockolmadan yapılan aramalar artıkIllegalStateExceptionhatası verecek. (I4eb0d)- Sekmede simge ve satır içi metin görüntülemeyi desteklemek için yeni bir API
LeadingIconTabeklendi. (I23267)
Harici Katkı (External Contribution)
- [Jossi Wolf tarafından]
BottomDrawerartık çekmece yuvasının içeriğini sarmalıyor.BottomDrawer, üst öğenin yüksekliği sonsuz olduğundaIllegalStateExceptionoluşturmuyor. Alt çekmece, üst öğesinin% 50'sinden küçükse artık genişletilmiş durumda açılacak.BottomDrawerStateveModalBottomSheetLayoutStateile ilgili dokümanlar güncellendi.BottomDrawerState#isOpenaçık veya genişletilmiş durumdaysa artık true değerini döndürüyor. (I87241)
Sürüm 1.0.0-beta02
10 Mart 2021
androidx.compose.material:material-*:1.0.0-beta02 iptal edilir. 1.0.0-beta02 sürümü şu commit'leri içerir.
API Değişiklikleri
- TextField'deki önceki
SoftwareKeyboardControllerarayüzünün yerini alacak yeniLocalSoftwareKeyboardControllercomposition local API'si eklendi. (I5951e, b/168778053)
Hata Düzeltmeleri
- Deneysel API'lerin herkese açık kullanımına kısıtlamalar getirme (I6aa29, b/174531520)
- TopAppBar ve BottomAppBar için varsayılan yatay hizalama, Row ile tutarlı olacak şekilde Başlangıç olarak değiştirildi (Ib2dc7).
- Şu anda mevcut entegrasyon testi demolarına yerleştirilmiş olan Compose Material kataloğu için yeni bir modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
androidx.compose.ui:uiartık AppCompat veya Fragment'e bağlı değil. Uygulamanızda ComposeView kullanıyorsanız ve Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3+ / Fragment 1.3+ sürümlerini kullandığınızdan emin olun. Bu sürümler, ComposeView için gereken yaşam döngüsü ve kayıtlı durum sahiplerini doğru şekilde ayarlamak için gereklidir. (I1d6fa, b/161814404)
Sürüm 1.0.0-beta01
24 Şubat 2021
androidx.compose.material:material-*:1.0.0-beta01 iptal edilir. 1.0.0-beta01 sürümü şu commit'leri içerir.
Bu, Compose 1.0.0 Beta'nın ilk sürümüdür.
API Değişiklikleri
- Boyut değiştiricilerin adı değiştirildi. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)
- imageResource ve vectorResource artık sırasıyla ImageBitmap ve ImageVector yardımcı sınıflarında uzantı işlevleridir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
- İçerik boyutlandırma değiştiricileri artık deneysel değildir. (I15744)
- Kaldırılan dp onayları (I798d2)
- Yakında yeni bir API ile değiştirilecek olan SoftwareKeyboardController geri çağırma işlevi tüm metin alanlarından kaldırıldı. (Iae869, b/168778053)
- Switch, Checkbox ve RadioButton işlem lambdaları artık null değer atanabilir. Tıklanabilir satırdaki onay kutusu örnekleri, bu özelliği kullanacak şekilde güncellendi. (If601b, b/171819073)
InteractionState,[Mutable]InteractionSourceile değiştirildi.- Arayüzler, etkileşim etkinliklerini yayınlamaktan / toplamaktan sorumludur.
interactionState = remember { InteractionState() }değeriniButtonveModifier.clickable()gibi bileşenlere iletmek yerineinteractionSource = remember { MutableInteractionSource() }kullanın.Interaction.Pressed in interactionStateyerine InteractionSource.collectIsPressedAsState() gibi InteractionSource'taki uzantı işlevlerini kullanmanız gerekir.- Karmaşık kullanım alanlarında, Etkileşimler akışını gözlemlemek için InteractionSource.interactions'ı kullanabilirsiniz. Daha fazla bilgi için InteractionSource dokümanlarına ve örneklerine bakın.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- CompositionLocals'a AccessibilityMananger arayüzü ve LocalAccessibilityMananger ekleyin (I53520).
- Kullanımdan kaldırılan LayoutCoordinates yöntemleri kaldırıldı. positionInParent ve boundsInParent için özellik yerine işlev kullanın (I580ed, b/169874631, b/175142755).
- Kaydırma çubuğu artık etkin/devre dışı durumunu destekliyor (I6d56b, b/179793072)
- CoreTextField gibi düşük seviyeli metin bileşenlerinden gelen giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
- AnimationEndReason.Interrupted kaldırıldı. Animasyon kesintiye uğrarsa CancellationException oluşturulur. (I2cbbc, b/179695417)
@ExperimentalRippleApikaldırıldı veRippleAlpha, arayüz yerine özelliklere sahip bir sınıf olacak şekilde değiştirildi. (I6df7c)- TextField ve OutlinedTextField'da farklı durumlarda kullanılan farklı renkleri temsil etmek için TextFieldColors arayüzü eklendi. Varsayılan uygulama için TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors'a bakın.
- TextField ve OutlinedTextField içindeki isErrorValue parametresinin adı isError olarak değiştirildi. (I831f9, b/171305338, b/168004067)
- Sekme veya radyo düğmesi koleksiyonunun erişilebilirlik amacıyla işaretlenmesine olanak tanıyan selectionGroup değiştiricisini ekleyin (Ie5c29).
LazyListState.animateScrollToItem işlevini ekleyin
Bu yöntem, listedeki belirli bir öğeye sorunsuz bir şekilde kaydırır. (I4bfd7)
ScrollableState.smoothScrollBy(),animateScrollBy()olarak yeniden adlandırıldı.LazyListState.snapToItemIndex(),scrollToItem()olarak yeniden adlandırıldı.ScrollState.smoothScrollTo(),animateScrollTo()olarak yeniden adlandırıldı (I35ded).@ReadOnlyComposableile işaretlenen tüm composable'lar artık yalnızca diğer@ReadOnlyComposablescomposable'ları çağırdıklarından emin olmak için derleme zamanında doğrulanıyor (I58961).TargetAnimation API'si kaldırıldı. (If47d1, b/177457083)
Modifier.verticalScroll()/horizontalScroll() içindeki kaydırma konumu artık Ints ile temsil ediliyor (I81298).
smoothScrollBy ve scrollBy yöntemlerinin paketleri
androidx.compose.foundation.gestures.*olarak değiştirildi (I3f7c1, b/175294473)FlingConfig'in adı FlingBehavior olarak değiştirildi. Artık önceden tanımlanmış Decay'ler yerine askıya alma animasyonunun özelleştirilmesine olanak tanıyor. (I02b86, b/175294473)
Boyut değiştiricilerin adı değiştirildi. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)
defaultMinSizeConstraints, defaultMinSize olarak yeniden adlandırıldı. (I4eaae)
Yön, temel pakete taşındı. VelocityTracker, ui.gesture'dan ui.input.pointer'a taşındı. (Iff4a8, b/175294473)
drawerState.open() ve drawerState.close() artık işlevleri askıya alıyor. Bunları çağırmak için kompozisyonun kapsamını almak üzere rememberCoroutineScope() işlevini kullanın (I16f60, b/175294473).
Providers, CompositionLocalProvider olarak yeniden adlandırıldı.
- Composition oluşturucusu artık anahtar parametresini kabul etmiyor ve kullanımdan kaldırıldı.
- currentCompositeKeyHash, composable üst düzey işlev yerine composable üst düzey özelliğe dönüştürüldü.
- CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı.
- ComposableLambda, somut bir sınıf yerine arayüz haline getirildi ve artık tür parametreleri içermiyor.
- ComposableLambdaN, somut bir sınıf yerine arayüz haline getirildi ve artık tür parametreleri yok.
- snapshotFlow işlevi, androidx.compose.runtime ad alanına taşındı
- SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değildir.
@TestOnlyüst düzey clearRoots işlevi kaldırıldı. Artık gerekli değildir.- keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Artık gerekli değildir.
- Composer.collectKeySourceInformation kaldırıldı. Artık gerekli değildir.
- isJoinedKey, joinedKeyLeft ve joinedKeyRight yöntemleri kaldırıldı. Artık gerekli değildir.
- Çeşitli üst düzey API'ler farklı dosyalara taşındı ve yeniden düzenlendi. Kotlin'in dosya sınıfı semantiği nedeniyle bu değişiklik, ikili uyumluluğu bozacak ancak kaynak uyumluluğunu bozmayacak. Bu nedenle, çoğu kullanıcı için sorun teşkil etmeyecek.
- (I99b7d, b/177245490)
Modifier.scrollable yeniden düzenlendi. Artık ScrollableController sınıfı yerine Scrollable arayüzü kullanılıyor (I4f5a5, b/174485541, b/175294473)
Modifier.draggable artık basit bir lambda yerine DraggableState'i kabul ediyor.
rememberDraggableState { delta -> }ile durum oluşturarak öncekiyle aynı davranışı elde edebilirsiniz (Ica70f, b/175294473).ZoomableController.smoothScaleBy ve ZoomableController.stopAnimation artık askıya alma işlevleridir. (I7f970, b/177457083)
Daha önce desteği sonlandırılan bazı API'ler silindi (Ice5da, b/178633932).
Material API'de aşağıdaki değişiklikler yapıldı:
- Varsayılan dolguyu özelleştirmeye olanak tanımak için Top/BottomAppBar'a contentPadding parametresi eklendi.
- Gerekli parametrelerin isteğe bağlı parametrelerden önce gelmesiyle ilgili API yönergelerine uymak için BackdropScaffold'daki parametreler yeniden sıralandı.
- BottomNavigationItem'daki
iconparametresi,selectedveonClicksonrasına taşındı. - BottomNavigationItem'daki
alwaysShowLabelsparametresinin adıalwaysShowLabelolarak değiştirildi. - Birkaç bileşendeki
bodyContentparametrelericontentolarak yeniden adlandırıldı. ButtonDefaults.buttonColors()içindeki parametreler yeniden sıralandı. Parametrelerin türü değişmediğinden bu durumun kodunuzda hataya neden olmayacağını lütfen unutmayın. Adlandırılmış parametreler kullandığınızdan veya sıralamayı manuel olarak güncellediğinizden emin olun. Aksi takdirde kodunuz eskisi gibi çalışmaz.darkColors()listesinesecondaryVariantparametresi eklendi. Bu renk genellikle koyu temadakisecondaryile 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ı.
SlideriçindekionValueChangeEnd,onValueChangeFinishedolarak yeniden adlandırıldı ve boş değer atanabilir hale getirildi.- Tutarlılık için
Snackbariçindekitextparametresicontentolarak yeniden adlandırıldı. - Varsayılan dolguyu özelleştirmeye olanak tanımak için
DropdownMenuItemöğesinecontentPaddingparametresi eklendi vecontent,RowScopeöğesinin uzantısı haline getirildi. ModalDrawerLayout,ModalDrawerolarak yeniden adlandırıldı.BottomDrawerLayout,BottomDrawerolarak yeniden adlandırıldı.- (I1cc66)
BasicTextField artık daha iyi özelleştirme için Color yerine Brush'ı kabul ediyor (I83a36)
imageResource ve vectorResource artık sırasıyla ImageBitmap ve ImageVector yardımcı sınıflarında uzantı işlevleri olarak kullanılıyor. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
Indication#createIndication() işlevi Indication#rememberUpdatedIndication(InteractionState) olarak değiştirildi ve IndicationInstance#drawIndication() işlevinden InteractionState parametresi kaldırıldı. IndicationInstance yalnızca görsel efektleri çizmekten sorumludur ve InteractionState değişikliklerine yanıt olarak animasyon başlatmaktan / durumu yazmaktan sorumlu değildir. Bu animasyonlar ve durum yazma işlemleri bunun yerine
rememberUpdatedIndication()içinde gerçekleşmelidir.Modifier.indicationiçindekiindicationparametresi de zorunlu parametre olarak değiştirildi. (Ic1764, b/152525426)
Hata Düzeltmeleri
- TextField'deki önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController kompozisyon yereli API'si eklendi. (I658b6, b/168778053)
Sürüm 1.0.0-alpha12
10 Şubat 2021
androidx.compose.material:material-*:1.0.0-alpha12 iptal edilir. 1.0.0-alpha12 sürümü şu commit'leri içerir.
API Değişiklikleri
- Modifier.pointerInput artık işaretçi girişi algılama eş yordamının yeni bağımlılıklar için ne zaman yeniden başlatılması gerektiğini belirtmek üzere remember anahtarları gerektiriyor. (I849cd)
- BottomDrawerLayout ve ListItem, @ExperimentalMaterialApi olarak işaretlendi (Id766e).
- PaddingValues.Absolute eklendi ve PaddingValues'u kabul eden API'lerde kullanılabilir. (Ia5f30)
- onImeActionPerformed kullanımdan kaldırıldı. Bunun yerine KeyboardActions'ı kullanın (If0bbd, b/179071523)
- Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek için ImagePainter, VectorPainter ile paralel olacak şekilde BitmapPainter olarak yeniden adlandırıldı. (Iba381, b/174565889)
- Animatable.snapTo ve Animatable.stop artık askıya alma işlevleridir (If4288).
- ComponentActivity.setContent, androidx.activity:activity-compose modülünde androidx.activity.compose.setContent'e taşındı. (Icf416)
- Nadiren kullanıldıkları için bazı sınıflardan destructuring ve copy() yöntemleri kaldırıldı. (I26702, b/178659281)
- ModalBottomSheetState'teki halfExpand() ve expand() işlevlerini dahili hale getirin (Ic914e).
- Indication#createInstance, @Composable olacak şekilde değiştirildi ve LocalIndication, () -> Indication değil, bir Indication içerecek şekilde değiştirildi. (I5eeea, b/157150564)
- AlertDialog ve DropdownMenu'nun şu an için yalnızca Android'de kullanılabilmesi sağlandı. Temel alınan pop-up'ın daha fazla yapılandırılması için DropdownMenu'ye PopupProperties parametresi eklendi. (I9c443)
- loadFontResource desteği sonlandırıldı. Bunun yerine fontResource'u kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource desteği sonlandırıldı. Bunun yerine painterResource kullanın. (I6b809)
- Açılır menüden
togglevetoggleModifierparametreleri kaldırıldı.dropdownModifier,dropdownOffsetvedropdownContentparametrelerinin adları sırasıylamodifier,offsetvecontentolarak değiştirildi. Açılır menü artıkPopupile tutarlı bir şekilde çalışıyor. Menünün konumu için üst yerleşim kullanılıyor. Çoğu durumdatoggleöğesiniDropdownMenuöğesinin kardeşi olacak şekilde taşıyabilir ve her ikisini deBoxöğesine sarabilirsiniz. Bu API'nin kullanımı hakkında daha fazla bilgi için dokümanlardaki güncellenmiş örneğe bakın. (I884fb) - toIntPx() işlevinin adı roundToPx() olarak değiştirildi. (I9b7e4, b/173502290)
- IntBounds, IntRect olarak yeniden adlandırıldı ve API geliştirildi. (I1f6ff)
- Genişletme ve daraltma semantik işlemleri eklendi. ModalBottomSheetState'e expand ve halfExpand eklendi (Ib5064)
- Modifier.dragGestureFilter desteği sonlandırıldı. Bunun yerine
Modifier.pointerInput { detectDragGestures (...)}kullanın. Alternatif olarak, tek eksenli sürüklemeler için Modifier.draggable'ı kullanın (I0ba93, b/175294473) - Ambient -> CompositionLocal yeniden adlandırmasıyla eşleşmesi için Ambients yeniden adlandırıldı. Ambients, AmbientFoo olarak adlandırılırdı. Artık CompositionLocals, LocalFoo olarak adlandırılıyor. (I2d55d)
- Seçim, temel katmana taşındı. (I7892b)
- Daha önce
state { 0 }composable'ı kaldırıpremember { mutableStateOf(0) }gibi kullanımları desteklediğimiz gibi,savedInstanceState { 0 }composable'ı da kaldıracağız. Bunun yerinerememberSaveable { mutableStateOf(0) }kullanmalısınız. Bu, MutableState içinde kullanılan tür Bundle'da depolanabiliyorsa otomatik olarak kaydedip geri yükler. Daha önce özel bir kaydedici nesne iletiyorsanız artıkstateSaverparametresine sahip yeni bir rememberSaveable aşırı yüklemesi kullanmanız gerekir. Kullanım şöyle görünür:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }(Ib4c26, b/177338004) - Erişilebilirlik için belirsiz ilerleme çubuklarını işaretlemek üzere ProgressBarRangeInfo.Indeterminate eklendi (I6fe05).
@ComposableContract, üç daha spesifik ek açıklama lehine kullanımdan kaldırıldı.
@ComposableContract(restartable = false),@NonRestartableComposableoldu@ComposableContract(readonly = true),@ReadOnlyComposableoldu@ComposableContract(preventCapture = true),@DisallowComposableCallsoldu@ComposableContract(tracked = true)kaldırıldı.- (I60a9d)
emptyContent()ve(@Composable () -> Unit).orEmpty()yardımcı programlarının artık olumlu bir performans etkisi veya değeri olmadığından desteği sonlandırıldı (I0484d).rememberSavedInstanceState(), rememberSaveable() olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)
Saver, listSaver(), mapSaver(), autoSaver, androidx.compose.runtime.savedinstancestate'ten androidx.compose.runtime.saveable'a taşındı (I77fe6).
RounderCornerShape, CutCornerShape ve CornerBasedShape üzerindeki parametreler, şeklin rtl yönünde otomatik olarak yansıtılmasını desteklemek için soldan/sağdan başlayarak/biterek olarak yeniden adlandırıldı. Otomatik yansıtmanın istenmediği durumlarda AbsoluteRounderCornerShape ve AbsoluteCutCornerShape kullanıma sunuldu. (I61040, b/152756983)
Bileşenin boyutunu ve düzenini etkilediğinden, bu parametreler sağlandığında / sağlanmadığında bileşenin davranışını daha iyi aktarmak için Tab'in
textveiconparametreleri ile BottomNavigationItem'ınlabelparametresi null değer atanabilir olacak şekilde değiştirildi. Şu anda metin / simge / etiket olmadığını belirtmek içinemptyContent()değerini iletiyorsanız bunun yerinenulldeğerini kullanmanız gerekir. (I57ed4)Renkli parametre için contentColorFor, backgroundColor olarak yeniden adlandırıldı (I5bb67).
TabDefaults desteği sonlandırıldı ve TabRowDefaults ile değiştirildi. (I0f189)
Kaynak içeriğin RGB değerlerini değiştirmek için kullanılan ColorMatrix API'si kullanıma sunuldu. ColorFilter API, arayüz olacak ve PathEffect'in uygulanmasıyla eşleşecek şekilde yeniden düzenlendi. (Ica1e8)
AnimatedValue/Float desteği sonlandırıldı. Lütfen bunun yerine Animatable'ı kullanın. (I71345, b/177457083)
SemanticsProperties.PaneTitle API'sini ekleyin. (I20d5a)
Sekme ve BottomNavigationItem'a, tıklanabilir olmalarını önlemek için etkin parametreler eklendi. API'sindeki düzen şartlarını daha iyi ifade etmek için BottomNavigationItem, RowScope.BottomNavigationItem olarak değiştirildi. (Id683d)
tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter ve pressIndicaitonGestureFilter desteği sonlandırıldı. Bunun yerine Modifier.clickable veya Modifier.pointerInput ile detectTapGestures işlevini kullanın. (I6baf9, b/175294473)
Şeklin createOutline işlevine layoutDirection parametresini ekleyin. Bu sayede, düzen yönüne duyarlı şekiller oluşturabilirsiniz. (I57c20, b/152756983)
Recomposer.current()kaldırıldı. [Abstract]ComposeView artık varsayılan olarak, pencere için ViewTreeLifecycleOwner tarafından yönlendirilen, pencere kapsamlı ve geç oluşturulan Recomposer'ları kullanıyor. Ana makinenin yaşam döngüsü durdurulduğunda yeniden oluşturma ve withFrameNanos tabanlı animasyon işaretleri duraklatılır. (I38e11)
Hata Düzeltmeleri
- Simge artık kendisine uygulanan boyut değiştiricilere uyarak boyutuna göre ölçeklendirilecek. Örneğin,
Icon(.., modifier = Modifier.size(50.dp)artık 50x50 dp alanında çizilecek. (Ib2ba9, b/178796190)
Sürüm 1.0.0-alpha11
28 Ocak 2021
androidx.compose.material:material-*:1.0.0-alpha11 iptal edilir. 1.0.0-alpha11 sürümü şu commit'leri içerir.
API Değişiklikleri
- Bazı Material API'lerinin artık
@Experimentalolmaması sağlanıyor (I5d20e). - Resim ve simgeye içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine açıklama sağlamak için kullanılır (I2ac4c).
- Material'ın durum bilgisi olan parametre arayüzlerini,
State<T>döndüren @Composable işlevlere dönüştürür. Animatable'ı State'e dönüştürmeyi kolaylaştırmak içinAnimatable.asState()ekler. Ayrıca, animateElevation'ı Animatable üzerinde askıya alma uzantısı olarak değiştirir. (If613c) - Snackbar, SnackbarHost ve SnackbarHostState artık
@ExperimentalMaterialAPIdeğil (Id1fb5) - Tipografi, Şekiller ve Sekme Konumu'nun artık veri sınıfları olmaması için değişiklikler yapar. Oluşturulanları değiştirmek için Tipografi ve Şekiller'e kopyalama işlevi ekler. (I40037)
- Daha önce desteği sonlandırılan bazı Material API'leri silindi (Ifaa25).
Hata Düzeltmeleri
- onCommit, onDispose ve onActive, SideEffect ve DisposableEffect API'leri lehine desteği sonlandırıldı (If760e).
- TransitionDefinition tabanlı geçiş kullanımdan kaldırıldı (I0ac57)
- updateTransition'daki Initial State artık destekleniyor (Ifd51d)
- WithConstraints, BoxWithConstraints olarak yeniden düzenlendi ve foundation.layout'a taşındı. (I9420b, b/173387208)
Askıya alınmayan scrollBy işlevinin desteğini sonlandırma, askıya alınmayan scrollTo işlevini kaldırma
Artık kaydırmayı kontrol etmek ve kaydırmanın tamamlanmasını beklemek için askıya alma işlevlerini kullanmanızı öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alma dışı sürümlerinin desteğini sonlandırıyoruz ve/veya bu sürümleri kaldırıyoruz. (Ie9ced)
Askıya alınmayan smoothScrollBy işlevinin desteği sonlandırıldı. Artık kaydırmayı kontrol etmek ve kaydırmanın tamamlanmasını beklemek için askıya alma işlevlerini kullanmanızı öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alma içermeyen sürümlerinin desteğini sonlandırıyoruz. (I12880)
ComposeContentTestRuletanıtıldı. Bu,ComposeTestRuleöğesini genişletir veComposeTestRuleöğesinden kaldırılansetContentöğesini tanımlar.createEmptyComposeRule()döndüren ve sizin için bir Etkinlik başlatmayan bir fabrika yöntemiComposeTestRuleeklendi. Testiniz sırasında Etkinliğinizi başlatmak istediğinizde bu özelliği kullanın. Örneğin,ActivityScenario.launch(I9d782, b/174472899) kullanmaButton ve FloatingActionButton'da kullanılan dalgalanma artık AmbientIndication üzerinden yeni bir Indication sağlanarak özelleştirilemez. Bu, hiçbir zaman bu bileşenleri özelleştirmenin bir yolu olarak tasarlanmamıştı ve artık bu bileşenler diğer Material bileşenleriyle tutarlı hale geliyor. Bir uygulamada dalgalanmaları özelleştirmek için RippleTheme'e bakın. (I546c5)
animateAsState artık animateFooAsState olarak adlandırılıyor. Burada Foo, animasyon uygulanan değişkenin türünü (ör. Float, Dp, Offset vb.) ifade ediyor (Ie7e25).
BasicTextField,
decorationBoxadlı yeni bir parametre aldı. Metin alanına simge, yer tutucu, etiket gibi süslemeler eklemenize ve bu alanın hedef alanını genişletmenize olanak tanır. (I16996)Materyal metin alanının genişliğinin 280 dp'den daha az olarak ayarlanamamasına neden olan hata düzeltildi (I78373).
canDrag parametresi, Modifier.draggable'dan kaldırıldı (Ic4bec, b/175294473).
displaySize, kullanılmaması gerektiğinden kaldırın. Genellikle en azından onRoot() veya pencere boyutunu kullanmak daha iyidir. (I62db4)
Surface artık birden fazla düzen alt öğesine sahip olabilir. (I66a92, b/144488459)
invalidate ve compositionReference() işlevlerinin desteği, sırasıyla currentRecomposeScope ve rememberCompositionReference lehine sonlandırıldı. (I583a8)
PopupPositionProvider, genel koordinatlar yerine pencereye göre koordinatlar kullanacak şekilde değiştirildi. parentGlobalBounds'u anchorBounds olarak yeniden adlandırır ve windowGlobalBounds'u
windowSize: IntSizeolarak değiştirir (I2994a).Süre ve Çalışma Süresi, uzun milisaniye ile değiştirilir. Bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını kaldırır. (Ia33b2, b/175142755, b/177420019)
FlingConfig'i kabul eden AnimatedFloat.fling kaldırıldı. Lütfen bunun yerine suspend Animatable.animateDecay kullanın. (I4659b, b/177457083)
Tıklanabilir, açılıp kapatılabilir ve seçilebilir öğeler artık kompozisyon dışında oluşturulabilir (I0a130, b/172938345, b/175294473)
Yumuşak geçiş, işlevsel bir arayüze (Ib14e5) dönüştürüldü.
ScrollableColumn/Row kullanımdan kaldırıldı. LazyColumn ile yalnızca görünür öğeleri oluşturup ölçüp çizebildiğimiz için, kaydırılabilir çok fazla içeriğiniz olduğunda ScrollableColumn kullanmak LazyColumn'a kıyasla daha az verimlidir. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunun yerine LazyColumn ve LazyRow'un kullanılmasını teşvik etmeye karar verdik. Kullanıcılar, yine de tembel davranışa ihtiyaç duymadıklarına karar verebilir ve değiştiricileri doğrudan şu şekilde kullanabilir: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b, b/170468083)
LazyColumn/LazyRow/LazyVerticalGrid kapsamı için yeni
items(count: Int)fabrika yöntemi.items(items: List)veitemsIndexed(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)veitemsIndexed(Array)(I803fc, b/175562574)Deneysel monotonicFrameAnimationClockOf yöntemleri kaldırıldı (Ib753f, b/170708374)
Genel koordinat yöntemlerinin desteği sonlandırıldı ve yeni pencere tabanlı koordinat yöntemleri oluşturuldu. (Iee284)
İnceleme etkinleştirildiğinde grafik katmanı değiştiricisi ekleyen Modifier.toolingGraphicsLayer eklendi. (I315df)
FocusRequester.createRefs, değişebileceği için artık deneysel olarak işaretleniyor. (I2d898, b/177000821)
SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı. stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. AccessibilityScrollState, ScrollAxisRange olarak yeniden adlandırıldı. horizontalAccessibilityScrollState, horizontalScrollAxisRange olarak yeniden adlandırıldı. verticalAccessibilityScrollState, verticalScrollAxisRange olarak yeniden adlandırıldı. (Id3148)
Testlerde TestCoroutineDispatcher'dan yararlanma (I532b6)
Vektör grafiklerinin köküne uygulanan renklendirmenin ayrıştırılmasını desteklemek için vektör grafikleri API'si güncellendi. (Id9d53, b/177210509)
Sürüm 1.0.0-alpha10
13 Ocak 2021
androidx.compose.material:material-*:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü şu commit'leri içerir.
API Değişiklikleri
- Bileşen parçaları ve matematiksel işlemler içerecek şekilde Velocity değiştirildi. (Ib0447)
@ExperimentalTesting, benzer deneysel API ek açıklamalarıyla (Ia4502, b/171464963) tutarlı olması için@ExperimentalTestApiolarak yeniden adlandırıldı.- Konum, DpOffset olarak yeniden adlandırıldı ve getDistance() kaldırıldı (Ib2dfd)
- Color.useOrElse() işlevinin adı Color.takeOrElse() olarak değiştirildi (Ifdcf5�)
- Toggle'ı foundation Strings.kt dosyasına ekleyin (I4a5b7, b/172366489)
- FlowRow ve FlowColumn'un desteği sonlandırıldı. Lütfen bunun yerine özel bir düzen kullanın. (I09027)
- Modifier.focus() ve Modifier.focusRequester() desteği sonlandırıldı. Bunun yerine Modifier.focusModifier() ve Modifier.focusReference() kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
- nativeClass, ui modülüne taşındı ve dahili hale getirildi. equals uygulamalarındaki nativeClass kullanımları, "is MyClass" kullanacak şekilde güncellendi. (I4f734)
Hata Düzeltmeleri
- Devre dışı bırakılmış ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
animate()artıkanimateAsState()ile değiştirildi. Bu işlev,TyerineState<T>değerini döndürür. Bu sayede, geçersiz kılma kapsamı State değerinin okunduğu yerle sınırlandırılabildiğinden daha iyi performans elde edilir. (Ib179e)- Semantics role API'yi ekleyin ve Role'ü tıklanabilir, seçilebilir ve açılıp kapatılabilir SemanticsModifier'a parametre olarak ekleyin. Slider'ın da kullanabilmesi için Modifier.progressSemantics değiştirildi. (I216cd)
Sürüm 1.0.0-alpha09
16 Aralık 2020
androidx.compose.material:material-*:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü şu commit'leri içerir.
API Değişiklikleri
- Yerleşme animasyonunu manuel olarak tetiklemek ve Modifier.swipeable'ı sürüklemek için API eklendi (Iaa17a, b/162408885).
- ButtonConstants gibi yeniden adlandırılan *Constants nesneleri, ButtonDefaults gibi Defaults ile bitecek şekilde değiştirildi. Ayrıca, bu yeni nesnelerdeki özelliklerden gereksiz
defaultöneklerini kaldırır. (Ibb915, b/159982740) Compose, composable çağrıları yapabilen mülk getter'larını destekler. Bu destek kaldırılmayacak ancak bir mülk alıcısının @Composable olarak bildirilmesiyle ilgili söz dizimi değişecek.
Bunu yapmak için kullanılan ve artık kullanımdan kaldırılan söz dizimi, mülkün kendisini açıklama olarak eklemekti:
@Composable val someProperty: Int get() = ...Bunu yapmak için artık doğru olan söz dizimi, özelliğin alıcı yöntemini açıklama ekleyerek yapmaktır:
val someProperty: Int @Composable get() = ...Her iki söz dizimi de bir süre çalışmaya devam edecek ancak desteği sonlandırılan eski söz dizimi sonunda derleme hatasına neden olacak. (Id9197)
Material kitaplığının geri kalanına ihtiyaç duymadan etkileşimli bileşenler oluşturmaya olanak tanıyan ripple API'lerini içeren
androidx.compose.material:material-ripplekitaplığı eklendi. rememberRippleIndication kullanımdan kaldırıldı ve rememberRipple ile değiştirildi. (Ibdf11)
Hata Düzeltmeleri
- Ofset değiştiricilerdeki lambda'lar artık Float yerine IntOffset döndürüyor. (Ic9ee5, b/174137212, b/174146755)
Çizim ortamının boyutlandırma bilgileri kullanılabilir olduğunda gölgelendirici örneğini geç oluşturmak için ShaderBrush yeniden düzenlendi. Bu, özel DrawModifier uygulamaları kullanmak zorunda kalmadan, kompozisyon sırasında bir composable'ın tam çizim sınırlarını kaplayan gradyanlar tanımlamak için kullanışlıdır.
Gradient nesnesinde fabrika yöntemleri lehine, kullanımdan kaldırılan gradyan işlevi oluşturucu API'leri. (I511fc, b/173066799)
Modifier.focusObserver desteği sonlandırıldı. Bunun yerine Modifier.onFocusChanged veya Modifier.onFocusEvent kullanın (I30f17, b/168511863, b/168511484)
LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed kullanımdan kaldırıldı. Bunun yerine LazyColumn ve LazyRow kullanın (I5b48c)
Dp.VectorConverter, Position.VectorConverter vb. öğeler animation-core'a taşındı ve eski VectorConverter'ların (If0c4b) desteği sonlandırıldı.
Otomatik Doldurma API'si artık deneysel bir API ve etkinleştirme gerektiriyor (I0a1ec)
FocusRequester örnekleri oluşturmak için yapı bozma bildirimleri ekleme (I35d84, b/174817008)
accessibilityLabel, contentDescription olarak yeniden adlandırıldı. accessibilityValue, stateDescription olarak yeniden adlandırıldı. (I250f2)
InfiniteRepeatableSpec oluşturmak için yeni infiniteRepeatable işlevi (I668e5)
Açılır menülerin konumlandırma davranışı, Materyal spesifikasyonuna göre biraz değiştirildi. (I34c72, b/168594123)
TextField'lar için InteractionState desteği eklendi. (I61d91)
Alt öğelerin semantiğini temizlemek ve yeni semantikler ayarlamak için Modifier.clearAndSetSemantics eklendi. (I277ca)
ContentDrawScope, DrawScope ile birlikte olması için ui-graphics modülüne taşındı. (Iee043, b/173832789)
Sürüm 1.0.0-alpha08
2 Aralık 2020
androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ve androidx.compose.material:material-icons-extended:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü şu commit'leri içerir.
API Değişiklikleri
- MaterialTheme artık seçim tutma yerleri ve seçim arka planı için doğru renkleri ayarlıyor. Materyal olmayan uygulamalar, seçim için kullanılan renkleri özelleştirmek üzere AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
- Compose yönergeleriyle tutarlılığı kontrol etmek için composable lambda parametre adlandırma ve konumuyla ilgili lint kontrolü eklendi.
Ayrıca, lint kontrolü ve yönergelere göre, sondaki lambda'ları için ad olarak
childrenkullanan bazı API'lericontentolarak taşıdı. (Iec48e) - VectorAsset, ImageVector olarak yeniden adlandırıldı. VectorAsset, API Konseyi yönergelerine uygun olarak ImageVector'ın iç sınıfı olacak şekilde Builder olarak taşındı ve yeniden adlandırıldı. Uyumluluk için VectorAssetBuilder'ın ImageVector.Builder'a bağlantı oluşturacak typealias'ı eklendi. (Icfdc8)
- ImageAsset ve ilgili yöntemler ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
- Temel anlamsal yapı özellikleri, kullanıcı arayüzüne taşındı (I6f05c).
fun RippleIndication()desteği sonlandırıldı ve diğer API'lerle tutarlılık sağlamak içinrememberRippleIndication()ile değiştirildi. (Id8e2c)- BasicTextField, TextField ve OutlinedTextField'a singleLine parametresi eklendi. Metin alanının yatay olarak kaydırılabilen tek bir satır olması için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)
Hata Düzeltmeleri
- Anlamsal işlem olarak Kapat'ı ekleme (I2b706)
- DrawModifier API'leri androidx.compose.ui paketinden androidx.compose.ui.draw paketine taşındı. Desteği sonlandırılmış API'lerden mevcut API'lere geçişe yardımcı olmak için tür adları/yardımcı yöntemler içeren DrawModifierDeprecated.kt dosyasını oluşturdu. (Id6044, b/173834241)
- Modifier.drawLayer, Modifier.graphicsLayer olarak yeniden adlandırıldı. Ayrıca, API geri bildirimine göre ilgili sınıflar GraphicsLayer olarak güncellendi. (I0bd29, b/173834241)
<T>, SubcomposeLayout bildiriminden kaldırıldı. Artık tür belirtmeden kullanabilirsiniz. (Ib60c8)- drawLayer için kolaylık olarak Modifier.scale/rotate API'leri eklendi.
Modifier.drawOpacity,Modifier.alphaolarak yeniden adlandırıldıModifier.drawShadow,Modifier.shadowolarak yeniden adlandırıldı (I264ca, b/173208140)
- Kutu'nun hizalama parametresi contentAlignment olarak yeniden adlandırıldı. (I2c957)
- offsetPx değiştiricilerinin adı offset olarak değiştirildi. Artık State yerine lambda parametreleri alıyorlar. (Ic3021, b/173594846)
- SweepGradientShader ve SweepGradientBrush API'leri kullanıma sunuldu. (Ia22c1)
- Composable işlevlerindeki Modifier parametreleri için lint denetimi eklendi. Bu lint kontrolü, Compose yönergeleriyle tutarlılık için parametrenin adlandırmasını, dönüş türünü, varsayılan değerini ve sırasını kontrol eder. (If493b)
- TextFieldValue API güncellendi
- TextFieldValue.composition salt okunur hale getirildi
- Geçersiz seçim aralığı için kaldırılan istisna (I4a675, b/172239032)
- Yeni bir
Modifier.drawLayer()aşırı yüklemesi eklendi. Durum değişikliği gerçekleştiğinde yeniden oluşturma ve yeniden düzenleme işlemlerinin atlanmasına olanak tanıyan bir şekilde katman parametrelerini tanımladığınız yeni bir GraphicsLayerScope üzerinde lambda bloğu alır. DrawLayerModifier, mantığını LayoutModifier'ınplaceable.placeWithLayer()yöntemine taşımaya hazırlanmak için artık dahili olarak kullanılıyor (I15e9f, b/173030831). - Sona
Ambienteklenerek adlandırılan ve desteği sonlandırılan Ambients'ı, diğer Ambients ve Compose API yönergelerine uygun olarak Ambient önekiyle başlayan yeni özelliklerle değiştirdik. (I33440) - Değiştirici fabrikalarının
@Composableolarak işaretlenmek yerine dahili olarakandroidx.compose.ui.composed {}kullandığını kontrol etmek için lint kontrolü eklendi. (I3c4bc) - Semantics bağımsız değişkeni mergeAllDescendants, mergeDescendants olarak yeniden adlandırıldı. (Ib6250)
- Testlerdeki zaman kontrolü (TestAnimationClock ve kullanımları) artık deneyseldir (I6ef86, b/171378521).
- Eski ui-test modülünü ve saplarını kaldırma (I3a7cb)
- TextUnit.Inherit, diğer birimlerle tutarlılık sağlamak için TextUnit.Unspecified olarak yeniden adlandırıldı. (Ifce19)
- Hizalama arayüzü güncellendi ve işlevsel hale getirildi. (I46a07, b/172311734)
- id, LayoutIdParentData için layoutId olarak yeniden adlandırıldı. Measurable.id, Measurable.layoutId olarak yeniden adlandırıldı. (Iadbcb, b/172449643)
Sürüm 1.0.0-alpha07
11 Kasım 2020
androidx.compose.material:material:1.0.0-alpha07, androidx.compose.material:material-icons-core:1.0.0-alpha07 ve androidx.compose.material:material-icons-extended:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü şu commit'leri içerir.
API Değişiklikleri
- Emphasis'in desteği sonlandırıldı ve yerine AmbientContentAlpha getirildi. AmbientContentAlpha, AmbientContentColor'ın tercih edilen içerik rengini temsil etmesine benzer şekilde, hiyerarşinin bir bölümü için tercih edilen içerik alfa değerini temsil eden daha basit bir soyutlamadır. Metin ve simge artık varsayılan olarak AmbientContentAlpha'dan geçerli değeri kullanıyor. Bileşenlerinizde aynı efekti elde etmek için
color.copy(alpha = AmbientContentAlpha.current)işlemini manuel olarak yapabilirsiniz. ProvideEmphasis'i kullanmak yerine, AmbientContentAlpha üzerinden doğrudan bir değer sağlayabilir ve eski EmphasisLevels'ın yerine ContentAlpha'daki yeni varsayılan düzeyleri kullanabilirsiniz. (Idf03e, b/159017896) - androidx.compose.foundation.AmbientContentColor yerine androidx.compose.material.AmbientContentColor ekleniyor (I84f7b, b/172067770)
- Yüksek düzeyde, temalandırılabilir bir Text bileşeni olarak androidx.compose.foundation.Text'in yerine androidx.compose.material.Text'i ekler. Temadan renk / metin stili kullanmayan temel bir metin bileşeni için BasicText'i kullanın. (Ie6ae0)
- TextField'lara maxLines eklendi (Ib2a5b)
- TextField'ları KeyboardOptions'ı kabul edecek şekilde güncelleme (Ida7f3)
- Surface artık yükseklik katmanlarını hesaplarken mutlak (toplam) yüksekliği kullanıyor. Bu nedenle, başka bir Surface'e yerleştirilmiş bir Surface, katmanı çizmek için birleşik yüksekliği kullanır. (I7bd2b, b/171031040)
Hata Düzeltmeleri
captureToBitmap,captureToImagekonumuna taşındı. (I86385)- Temel AmbientTextStyle, ProvideTextStyle ve AmbientContentColor işlevlerinin desteği sonlandırıldı. Bunun yerine, Material kitaplığında bulunan yeni sürümleri kullanın. Material olmayan uygulamalar için bunun yerine kendi bileşenlerinizde kullanılabilen, temalandırmaya özel kendi tasarım sisteminizi oluşturmanız gerekir. (I74acc, b/172067770)
- foundation.Text desteği sonlandırıldı ve yerine material.Text getirildi. Bir temadan değer kullanmayan temel ve tarafsız bir metin API'si için androidx.compose.foundation.BasicText'e bakın. (If64cb)
- Rename KeyboardOptions as ImeOptions (I82f36)
- KeyboardType ve ImeAction, KeyboardOptions'a taşındı (I910ce)
- BaseTextField desteği sonlandırıldı. Bunun yerine BasicTextField'ı kullanın. (I896eb)
- ExperimentalSubcomposeLayoutApi notu kaldırıldı. SubcomposeLayout artık @OptIn eklenmeden kullanılabilir (I708ad).
- FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine taşındı (Ied2e7).
- Icon API, ColorFilter olmadan sağlanan öğeyi veya boyayı çizecek olası bir renk tonu olarak Color.Unspecified'ı alacak şekilde güncellendi. Daha önce, Color.Unspecified ile renklendirmeyi yoksayma girişimleri, şeffaf bir renkle renklendirmeye ve hiçbir şeyin oluşturulmamasına neden oluyordu. (I049e2, b/171624632)
- relativePaddingFrom, paddingFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin taban çizgilerine olan mesafeleri belirtme kolaylığı için paddingFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
- LaunchedTask, SideEffect ve DisposableEffect API'leriyle tutarlılık sağlamak için LaunchedEffect olarak yeniden adlandırıldı. En iyi uygulamaları teşvik etmek için LaunchedEffect'in konu parametreleri olmadan kullanılmasına izin verilmez. (Ifd3d4)
- MeasureResult, MeasureScope'un dışına taşındı. (Ibf96d, b/171184002)
- Düzenle ilgili çeşitli semboller androidx.compose.ui'dan androidx.compose.layout.ui'ya taşındı. (I0fa98, b/170475424)
Sürüm 1.0.0-alpha06
28 Ekim 2020
androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 ve androidx.compose.material:material-icons-extended:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü şu commit'leri içerir.
API Değişiklikleri
- androidx.compose.foundation.Icon, androidx.compose.material.Icon'a taşındı. Material kitaplığını kullanmak istemiyorsanız Painter ile birlikte Image bileşenini / Modifier.paint() işlevini de kullanabilirsiniz. (I9f622)
- Farklı durumlarda FAB'ler tarafından kullanılan yüksekliği temsil etmek için FloatingActionButtonElevation'ı ekler. Varsayılan uygulama için FloatingActionButtonConstants.defaultElevation() konusuna bakın (I2d4f5).
- Farklı durumlarda bir Switch tarafından kullanılan renkleri temsil etmek için SwitchColors arayüzünü ekler. Bu renkleri özelleştirmek için SwitchConstants.defaultColors'a bakın. (I93805)
- Farklı durumlardaki düğmeler tarafından kullanılan yüksekliği ve renkleri temsil etmek için ButtonElevation ve ButtonColors arayüzlerini ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevlere bakın. (Ic5b7b)
- RadioButtonColors arayüzünü ekleyerek bir RadioButton tarafından farklı durumlarda kullanılan renkleri temsil eder. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() yöntemine bakın. (I74130)
- Farklı durumlarda bir onay kutusu tarafından kullanılan renkleri temsil etmek için CheckboxColors arayüzünü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için CheckboxConstants.defaultColors() yöntemine bakın. (I7dbdb)
Hata Düzeltmeleri
- Material bileşenleri artık yüksekliği zIndex olarak ayarlamıyor. Bu nedenle, aynı üst öğe içinde daha büyük gölge boyutuna sahip alt öğe, daha küçük gölge boyutuna sahip alt öğenin üzerine otomatik olarak çizilmez. Bu davranışa hâlâ ihtiyacınız varsa lütfen gerektiğinde Modifier.zIndex() işlevini manuel olarak ayarlayın (I70417, b/170623932).
- VectorPainter'ı, composable API'nin kompozisyonlar arasında verileri kalıcı hale getirmek için dahili olarak "remember"dan yararlandığını daha iyi belirtmek amacıyla rememberVectorPainter lehine kullanımdan kaldırın. (Ifda43)
- ComposeTestRule'da geçişleri etkinleştirin. Yanıp sönen imleci etkinleştirme seçeneğini ComposeTestRule'dan kaldırın. (If0de3)
- CoreTextField'e tek satırlık klavye seçeneği eklendi (I72e6d)
- Compose'da nasıl kullanıldığını daha iyi ifade etmek için Radius API'nin adı CornerRadius olarak değiştirildi. Negatif köşe yarıçaplarının sıfıra sabitlendiğini belirten doküman güncellendi. (I130c7, b/168762961)
- DrawScope ve ContentDrawScope, soyut sınıflar yerine arayüzler olarak yeniden düzenlendi.
- DrawScope'un CanvasDrawScope uygulamasını oluşturdu
- DrawScope'un uygulamaları, CanvasScope kullanacak şekilde yeniden düzenlendi.
- DrawScope için bağımlılıkları sarmalamak üzere DrawContext oluşturuldu.
- DrawScope'ta desteği sonlandırılan yöntemler kaldırıldı (I56f5e)
- Box, satır içi işlev haline getirildi. (Ibce0c, b/155056091)
Sürüm 1.0.0-alpha05
14 Ekim 2020
androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 ve androidx.compose.material:material-icons-extended:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü şu commit'leri içerir.
API Değişiklikleri
- Pop-up'lar ve iletişim kutuları artık üst pencereden FLAG_SECURE'u devralıyor. Bunu açıkça yapılandırma seçeneği de eklendi (I64966, b/143778148, b/143778149).
- Modifier.swipeable artık varsayılan olarak durumlar için 56 dp eşiklere sahip (Iab825, b/168610267)
- @Stable olarak işaretlenen tüm iskele durumları. ScaffoldState'teki drawerGesturesEnabled, Scaffold'a taşındı. (I36645, b/168297016)
- Scaffold lambda parametrelerinden null değer atanabilir türü kaldırır. Belirli bir parametre için içerik olmadığını belirtmek üzere emptyContent() işlevini kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
contentColor() ve currentTextStyle() API'lerinin desteği sonlandırıldı ve bunların yerine sırasıyla AmbientContentColor ve AmbientTextStyle ortamları kullanıma sunuldu. Diğer tüm ortamlar gibi, ortam özelliği için
.currentkullanarak geçerli değere erişebilirsiniz. Bu değişiklik, tutarlılık sağlamak ve aynı şeyi yapmanın birden fazla yolunu önlemek için yapılmıştır. Ayrıca, bazı ortam özelliklerinin adını, amaçlarını daha iyi açıklayacak şekilde aşağıdaki gibi değiştirir:- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
AmbientElevationOverlay eklenerek koyu temadaki yüzeylere uygulanan varsayılan yükseklik katmanının özelleştirilmesine / devre dışı bırakılmasına olanak tanındı. (I5b74d)
Hata Düzeltmeleri
- Satır içi sınıflar için sentinel değerlerinin standartlaştırılması kapsamında, diğer satır içi sınıflarla tutarlılık sağlamak amacıyla Color.Unset'i Color.Unspecified olarak yeniden adlandırın (I97611, b/169797763).
- TextOverflow.None kullanıma sunuldu. Taşma None olduğunda Text, taşmayı artık işlemeyecek ve gerçek boyutunu LayoutNode'a bildirecek. (I175c9, b/158830170)
- launchInComposition, Compose API yönergeleriyle eşleşmesi için LaunchedTask olarak yeniden adlandırıldı (I99a8e).
- OnPositionedModifier, OnGloballyPositionedModifier olarak, onPositioned() ise onGloballyPositioned() olarak yeniden adlandırıldı. (I587e8, b/169083903)
Sürüm 1.0.0-alpha04
1 Ekim 2020
androidx.compose.material:material:1.0.0-alpha04, androidx.compose.material:material-icons-core:1.0.0-alpha04 ve androidx.compose.material:material-icons-extended:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü şu commit'leri içerir.
API Değişiklikleri
- Durumlu Material bileşenlerinde InteractionState parametrelerini kullanıma sunarak durumun yükseltilmesine ve durumun okunup kontrol edilmesine olanak tanır. (Iaca5f, b/168025711, b/167164434)
- RadioButton ve TriStateCheckbox'taki
*colorparametrelerini değiştirerek her durumda kullanılan renklerin tamamen özelleştirilmesine ve istenirse renklerin durumlar arasında nasıl animasyon oluşturacağının değiştirilmesine olanak tanır. Daha fazla bilgi için CheckboxConstants ve RadioButtonConstants'taki yeni animateDefault* renk işlevlerine bakın. (I1c532) - rememberBackdropState işlevinin adını rememberBackdropScaffoldState olarak değiştirdik ve animasyon saati için ek bir parametre ekledik. BackdropScaffold'un param backdropScaffoldState'i yalnızca scaffoldState olarak yeniden adlandırıldı. BackdropConstants, BackdropScaffoldConstants olarak yeniden adlandırıldı. (Ib644d)
- Deneysel BottomSheetScaffold bileşeni eklendi. (Ie02f0, b/148996320)
- Deneysel ModalBottomSheetLayout bileşeni eklendi. (Ic209e, b/148996320)
- ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation işlevini defaultElevation olarak yeniden adlandırır ve artık AnimatedValue yerine Dp değeri döndürür. (I5f3ed)
Hata Düzeltmeleri
- Birçok grafik API'si güncellendi.
- DrawScope ve DrawTransform'taki x/y koordinatları için ayrı kayan nokta parametreleri yerine pivot koordinatını temsil etmek üzere tek bir Offset parametresini kullanacak şekilde ölçek ve döndürme dönüştürme API'leri güncellendi
- Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı.
- Yarıçap belgeleri, elipsin yanı sıra oval olarak da belirtilecek şekilde güncellendi.
- Satır içi Radius sınıfının herkese açık oluşturucusunun doğrudan çağrılmaması, bunun yerine Radius nesnelerinin işlev oluşturucuları aracılığıyla oluşturulması gerektiğini belirten dokümanlar eklendi.
- RoundRect API'leri kaldırıldı. Bu API'ler, topRight, bottomRight, bottomCenter vb. sorgulamak için kullanılıyordu.
- Rect.shift yerine Rect.translate kullanımdan kaldırıldı
- RoundRect.grow ve Rect.shrink API'leri kaldırıldı
- RoundRect.outerRect, Rect.boundingRect olarak yeniden adlandırıldı.
- RoundRect.middleRect/tallMiddleRect/wideMiddleRect ve Rect.isStadium yöntemleri kaldırıldı
- RoundRect.longestSide, RoundRect.maxDimension olarak yeniden adlandırıldı
- RoundRect.shortestSide, RoundRect.minDimension olarak yeniden adlandırıldı.
- RoundRect.center işlevi, özellik olarak değiştirildi.
- RoundRect oluşturucusu, x/y yarıçap değerleri için ayrı parametreler yerine Yarıçap özelliklerini kullanacak şekilde güncellendi.
- Kaynak noktası 0,0 olan bir dikdörtgen olduğu varsayılan boyut API'leri kaldırıldı.
- Radius'a bir yıkım API'si eklendi.
- Çeşitli RoundRect uzantısı işlevleri, özellikler olarak taşındı.
- (I8f5c7, b/168762961)
- foundation.Box desteği sonlandırıldı. Lütfen bunun yerine foundation.layout.Box kullanın. (Ie5950, b/167680279)
- Stack'in adı Box olarak değiştirildi. Daha önce mevcut olan Box, compose.foundation.layout'taki yeni Box lehine kullanımdan kaldırılacak. Yeni kutunun davranışı, birden fazla alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, önceki kutunun davranışından farklıdır. Önceki kutu, sütuna benzer şekilde davranıyordu. (I94893, b/167680279)
- Kutu dekorasyonu parametrelerinin desteği sonlandırıldı. Kutunuzda süsleme/dolgu olmasını istiyorsanız bunun yerine değiştiricileri (Modifier.background, Modifier.border, Modifier.padding) kullanın (Ibae92, b/167680279).
- Birçok grafik API'si güncellendi.
- Dönüşümün yalnızca geri çağırma içinde uygulandığını ve geri çağırma çağrıldıktan sonra kaldırıldığını belirtmek için kapsamlı dönüşüm yöntemleriyle DrawScope API'leri güncellendi.
- clipPath belgeleri, yuvarlatılmış dikdörtgen yerine Path'e referans verecek şekilde güncellendi
- clipPath'teki sağ parametre için dokümanlardaki boşluk sorunu düzeltildi.
- DrawScope.drawCanvas, drawIntoCanvas olarak yeniden adlandırıldı ve boyut parametresi kaldırıldı.
- Inset yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı.
- 4 sınıra aynı içe yerleştirme değerini sağlayan içe yerleştirme aşırı yüklemesi eklendi.
- İç kısma yerleştirme yönteminin 4 tarafa da uygulanacağını belirten belgeler kaldırıldı.
- Rect sınıfıyla ilgili dokümanlar güncellendi
- Rect parametreleriyle ilgili yorumlar, kdoc stiline uygun şekilde güncellendi.
- Rect.join ve Rect.expandToInclude kaldırıldı
- Rect.translate(offset) için aşırı yükleme oluşturuldu ve Rect.shift kullanımdan kaldırıldı
- (If086a, b/167737376)
- Düzen kapsamlarındaki içeriklerin (ör. RowScope'ta alignWithSiblings) statik olarak içe aktarılması engellendi. Bunun yerine açık kapsam alternatifi kullanılmalıdır:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)
Sürüm 1.0.0-alpha03
16 Eylül 2020
androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 ve androidx.compose.material:material-icons-extended:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü şu commit'leri içerir.
API Değişiklikleri
BottomNavigationItem'nınonSelectparametresinionClickolarak 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)
disabledBackgroundColorvedisabledContentColorparametrelerini düğmelerden kaldırır. Bunun yerine ButtonConstants içindeki yeni varsayılan renk işlevlerini kullanmanız gerekir. contentColor/backgroundColor'ı zaten açıkça ayarlıyorsanız etkin/devre dışı durumların renginin üzerine yazılmasını önlemek için bu varsayılan işlevleri kullanmalı ve parametrelerin bir kısmını veya tamamını özelleştirmelisiniz. (If9b52)- Metin alanının arka plan rengi artık şeffaflık alfa değerini örtülü olarak uygulamıyor. Bunun yerine, backgroundColor parametresi aracılığıyla sağlanan tüm renkler doğrudan uygulanır. (Iecee9, b/167951441)
- InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
Modifier.swipeableiçindekiresistanceFactorAtMinveresistanceFactorAtMaxparametrelerinin yerini tek bir direnç parametresi aldı.SwipeableConstantssürümüne yeni birdefaultResistanceConfigyöntemi eklendi. (I54238)- Button ve FloatingActionButton için animasyonlu durum bilgisi içeren yükseklik desteği eklendi. Yükseklik artık varsayılan ve basılı durumlar arasında animasyonlu olarak değişiyor. Durumlar arasındaki yüksekliği özelleştirmek için lütfen her durumda düz bir Dp değeri ayarlamak yerine
ButtonConstants.defaultAnimatedElevation()veFloatingActionButtonConstants.defaultAnimatedElevation()değerlerini kullanın. (I37925) - Etiket, TextField ve OutlinedTextField içinde isteğe bağlı bir parametre haline geldi (I267f6, b/162234081).
Hata Düzeltmeleri
onNodeveyawaitForIdlegibi genel test işlevlerinin desteği sonlandırıldı. Lütfen ComposeTestRule'da tanımlanan yeni karşılıklarına geçin (I7f45a).- DpConstraints ve bunu kullanan API'lerin desteği sonlandırıldı. (I90cdb, b/167389835)
- widthIn parametresinin minWidth ve maxWidth parametrelerinin adları min ve max olarak değiştirildi. preferredWidthIn, heightIn, preferredHeightIn parametreleri için de benzer değişiklikler yapıldı. (I0e5e1, b/167389544)
- İleri/geri kaydırma semantik işlemlerini kaldırın. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
- Düzen API'lerinde yer çekimi kullanımları, düzenle veya düzenleme olarak yeniden adlandırıldı. (I2421a, b/164077038)
- Mevcut global yöntemler kullanımdan kaldırılacağından ComposeTestRule'a onNode ve diğer global yöntemler eklendi. (Ieae36)
createAndroidComposeRuleveAndroidInputDispatcher,androidx.ui.test.androidkonumundanandroidx.ui.testkonumuna taşındı (Idef08, b/164060572)
Sürüm 1.0.0-alpha02
2 Eylül 2020
androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 ve androidx.compose.material:material-icons-extended:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü şu commit'leri içerir.
API Değişiklikleri
- Deneysel BackdropScaffold bileşeni eklendi. (Iad908)
Hata Düzeltmeleri
- Matrix4, Matrix ile değiştirildi. Vectormath paketinin diğer tüm bölümleri kaldırıldı. (Ibd665, b/160140398)
Sürüm 1.0.0-alpha01
26 Ağustos 2020
androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ve androidx.compose.material:material-icons-extended:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü şu commit'leri içerir.
Bilinen Sorun
= Bir materyaldeki ilk karakter TextField geri silme tuşuyla (b/165956313) kaldırılamaz.
Sürüm 0.1.0-dev
Sürüm 0.1.0-dev17
19 Ağustos 2020
androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 ve androidx.compose.material:material-icons-extended:0.1.0-dev17 yayınlandı. Version 0.1.0-dev17 contains these commits.
API Değişiklikleri
- Daha önce desteği sonlandırılan RadioGroup ve RadioGroupItems kaldırıldı. Bunun yerine Row ve RadioButton'ı kullanın (I381b7, b/163806637).
- TextField'den onFocusChanged geri çağırmaları kaldırıldı. Bunun yerine Modifier.focusObserver'ı kullanın. (I51089, b/161297615)
- Modifier.drawBorder desteği sonlandırıldı. Bunun yerine Modifier.border kullanın. Border veri sınıfının yerini BorderStroke aldı (I4257d, b/158160576)
- SwipeableState'teki bazı özelliklerin adı değiştirildi: swipeTarget -> targetValue, swipeProgress -> progress, swipeDirection -> direction. SwipeableState oluşturmak için rememberSwipeableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
- Konumlandırma ve uygun sıralama ile snackbar desteği eklendi.
SnackbarHostState.showSnackbaraskıya alma işlevini kullanarak erişebilirsiniz. Ayrıca:- SnackbarHost bileşenleri eklendi. Duruma göre Snackbars'ı barındırır ve Snackbars arasında geçiş yapmaktan sorumludur.
- SnackbarHostState, snackbar'lar ve snackbar ana makineleri üzerinde kontrol sağlamak ve bunları ScaffoldState'ten ayırmak için eklendi. Bu duruma
scaffoldState.snackbarHostStateüzerinden de erişebilirsiniz. - SnackbarHostState ve snackbar'lar arasında ortak arayüzü desteklemek için snackbar aşırı yüklemesi eklendi. (I79aaa)
- IconButton'a etkin parametresi eklenir ve IconToggleButton'daki parametreler yeniden sıralanır (I0a941, b/161809385, b/161807956).
- Dize tabanlı API'ye sahip ListItem sürümü kaldırıldı. Bunun yerine yuva sürümünü kullanın. (Ib8f57, b/161804681)
- Desteği sonlandırılan FilledTextField bileşeni kaldırıldı. Dolu metin alanının Material Design uygulamasını almak için lütfen bunun yerine TextField kullanın. (I5e889)
- AlertDialog artık düğmeler için FlowRow kullanıyor (I00ec1, b/161809319, b/143682374)
- Sınırların ötesine kaydırıldığında direnç miktarını değiştirmek için Modifier.swipeable'a parametreler eklendi. [min/max]Value parametreleri kaldırıldı. (I93d98)
- LinearProgressIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'dan dahili dolgu kaldırıldı. Değerler arasında ilerleme animasyonu yaparken varsayılan AnimationSpec olarak kullanılabilecek yeni ProgressIndicatorConstants.DefaultProgressAnimationSpec eklendi (If38b5, b/161809914, b/161804677).
- Modifier.swipeable'a isteğe bağlı param velocityThreshold eklendi. (I698ba)
- bottomBarSize, fabSize ve diğerleri artık ScaffoldState'te kullanılamaz. Boyutunu öğrenmek istediğiniz bileşende Modifier.onPosition yerine Modifier.onPosition'ı kullanın. contentColor ve Modifier parametreleri Scaffold'a eklendi (Ic6f7b, b/161811485, b/157174382).
- Diğer API'lerle tutarlılık sağlamak için Tab'deki bazı parametreleri yeniden adlandırır ve yeniden sıralar (Ia2d12, b/161807532).
- TabRow'u TabRow ve ScrollableTabRow olarak böler, isScrollable'ı TabRow'dan kaldırır. Ayrıca, sekmelerin öncesindeki / sonrasındaki boş alanı kontrol etmeye olanak tanıyan ScrollableTabRow'da edgePadding'i kullanıma sunar. (I583e8, b/161809544)
TabRownesnesi kaldırıldı ve yerine TabConstants eklendi. TabRow.TabPosition üst düzeye (TabPosition) taşındı ve indicatorContainer,indicatorolarak yeniden adlandırıldı. Güncellenen API'nin ve varsayılanların nasıl kullanılacağı hakkında ayrıntılı bilgi için örneklere ve dokümanlara bakın. (I54d45, b/161809544)- Modifier.swipeable'daki eşikler parametresi ayarlandı. Artık T türünde bir durum çifti alıyor ve aralarındaki eşiği ThresholdConfig biçiminde döndürüyor. SwipeToDismiss'e bir param dismissThresholds eklendi. Bu, lambda (DismissDirection) -> ThresholdConfig'dir. (Ie1080)
- Kaydırma çubuğunda ayrıntılı özelleştirme için daha fazla renk bulunur (I73e64, b/161810475)
- Kartın renk parametresi backgroundColor olarak yeniden adlandırıldı (I01fc1, b/161809546)
- Snackbar'ın arka plan ve içerik renkleri artık özelleştirilebilir (I238f2, b/161804381)
- modifier, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri Drawers'a eklendi (I23655, b/161804378)
state { ... }composable'ı artık netlik içinremember { mutableStateOf(...) }'e yapılan açık çağrılar lehine kullanımdan kaldırıldı. Bu, durum yönetimi için genel API yüzeyini ve kavram sayısını azaltır ve sınıf özelliği temsilcisi içinby mutableStateOf()kalıbıyla eşleşir. (Ia5727)- Button'ın dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
- Deneysel bir malzeme bileşeni olan SwipeToDismiss'i ekleyin. (I129e5)
Hata Düzeltmeleri
onChildPositionedveOnChildPositionedModifierkaldırıldı. Geliştiriciler bunun yerine çocuk düzenindeonPositionedveOnPositionedModifierkullanmalıdır. (I4522e, b/162109766)- SemanticsPropertyKey'e mergePolicy lambda'sı eklendi. Bu, mergeAllDescendants anlamsal yapısı birleştirme için özel bir politika tanımlamak üzere kullanılabilir. Varsayılan politika, üst değer zaten mevcutsa onu, aksi takdirde alt değeri kullanmaktır. (Iaf6c4, b/161979921)
- IntSize artık satır içi bir sınıf (I2bf42)
PlacementScope.placeAbsolute(),PlacementScope.place()olarak yeniden adlandırıldı ve öncekiPlacementScope.place(),PlacementScope.placeRelative()olarak yeniden adlandırıldı. Bu nedenle,PlacementScope.place()yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmayacak. Bu isteniyorsa bunun yerinePlacementScope.placeRelative()politikasını kullanın. (I873ac, b/162916675)- Rect lehine PxBounds desteği sonlandırıldı. PxBounds'un tüm kullanımları rect ile güncellendi ve geçişe yardımcı olmak için uygun kullanımdan kaldırma/değiştirme notları eklendi. (I37038, b/162627058)
- Compose adlandırma kalıplarına daha iyi uyması için RRect, RoundRect olarak yeniden adlandırıldı. RRect'e benzer işlev oluşturucular oluşturuldu ve RRect işlev oluşturucularının desteği sonlandırıldı (I5d325).
Sürüm 0.1.0-dev16
5 Ağustos 2020
androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 ve androidx.compose.material:material-icons-extended:0.1.0-dev16 yayınlandı. 0.1.0-dev16 sürümü şu commit'leri içerir.
API Değişiklikleri
- Colors artık arayüz yerine nihai bir sınıf. Genişletip özel bir uygulama sağlamak yerine, özel tema nesneniz için yeni bir ortam oluşturmalı ve bileşenlerinizde tema nesnesine yeni ortam üzerinden erişmelisiniz. Bu, MaterialTheme'in dahili olarak çalışma şekline benzer. (Ibae84)
- Renk paletini, Materyal renk sistemiyle daha iyi eşleşmesi ve Materyal renk sisteminin belirli bir uygulaması olmaktan ziyade "genel" bir tema oluşturma nesnesi olduğu yönündeki kafa karışıklığını gidermek için Renkler olarak yeniden adlandırdık. Ayrıca lightColorPalette ve darkColorPalette'i sırasıyla lightColors ve darkColors olarak yeniden adlandırır. (I9e976, b/161812111)
- BottomNavigationItem'ın
textparametresinilabel,onSelectedparametresinionSelect,activeColorparametresiniselectedContentColor,inactiveColorparametresiniunselectedContentColorolarak yeniden adlandırır ve parametre sıralamasını yönergelere uyacak şekilde günceller. (Icb605, b/161809324) Modifier.stateDraggabletamamen yeniden işlendi ve Modifier.swipeable olarak yeniden adlandırıldı. Yeni bir SwipeableState sınıfı kullanıma sunuldu ve DrawerState ile BottomDrawerState, bu sınıftan devralacak şekilde yeniden düzenlendi. [Modal/Bottom]DrawerLayout artık onStateChange parametresini almıyor. (I72332, b/148023068)- foundation.shape.corner paketi, foundation.share olarak düzleştirildi (I46491, b/161887429).
- ExperimentalMaterialApi ek açıklaması eklendi. RippleTheme deneysel olarak işaretlendi (Ic5fa0, b/161784800)
- İstenen en basit API'nin kolayca bulunup kullanılabilmesi için Material FilledTextField, TextField olarak, temel TextField ise BaseTextField olarak yeniden adlandırıldı (Ia6242, b/155482676).
Hata Düzeltmeleri
- OnChildPositioned desteği sonlandırıldı. Bunun yerine alt öğede OnPositioned'ı kullanın. (I87f95, b/162109766)
- Geniş kapsamlı API düzeltmelerini ele alma (I077bc)
- Kullanılmayan OffsetBase arayüzünü kaldırın
- Tutarlı bir API yüzeyine sahip olmak için Offset ve IntOffset sınıflarını hizalama
- Offset API ile tutarlı olması için IntOffset.Origin'i IntOffset.Zero olarak yeniden adlandırın.
- Tüketicilerin kendi Canvas örneklerini oluşturabilmesi için nativeCanvas yöntemi Canvas arayüzünden kaldırıldı.
- DrawScope'u lateinit yerine boş olmayan bir parametre olacak şekilde yeniden düzenlemek ve alanın boş olmamasını sağlamak için boş EmptyCanvas sınıfı oluşturuldu.
- ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı.
- FilterQuality enum'ları Pascal Case olarak yeniden adlandırıldı.
- StrokeJoin enum'ları Pascal Case olarak yeniden adlandırıldı.
- PointMode enums, Pascal Case olacak şekilde yeniden adlandırıldı.
- Renamed PaintingStyle enums to be Pascal Case
- PathFillType enum'ları Pascal Case olarak yeniden adlandırıldı.
- StrokeCap enum'ları Pascal Case olarak yeniden adlandırıldı.
- DrawCache uygulaması, lateinit parametrelerini kullanmayacak şekilde güncellendi.
- DrawScope, fillPaint ve strokePaint dahili parametreleri için artık geç yetkilendirme kullanmayacak şekilde güncellendi.
- Daha az ek yük için Box kullanımını önlemek üzere Image composable'ı güncelledi.
- Outline sınıfı, @Immutable ek açıklamaları içerecek şekilde güncellendi.
- Her yol talimatı için @Immutable ek açıklamaları içerecek şekilde PathNode güncellendi.
- Compose bu kontrolleri zaten işlediğinden, gereksiz eşitlik koşullu kontrollerini kaldırmak için Vector alt bileşimi güncellendi.
- İşlev oluşturucular lehine desteği sonlandırılan Rect yardımcı oluşturucu yöntemleri
- @Immutable ve @Stable API'lerle güncellenen Brush sınıfları ve işlev oluşturucuları
- VertexMode enum'ı PascalCase olacak şekilde güncellendi
- DrawScope selectPaint yöntemi, değişmişse boyadaki kontur parametrelerini koşullu olarak üzerine yazacak şekilde güncellendi.
- Yapı bozma API'si eklemek, UnspecifiedSize'ı Unspecified olarak yeniden adlandırmak ve kullanılmayan yöntemleri kaldırmak için Boyut güncellendi.
- İletişim kutusunu kullanıcı arayüzüne taşıma (I47fa6)
SemanticsNodeInteraction.performPartialGesturekaldırıldı. Bunun yerineSemanticsNodeInteraction.performGesturekullanın. (Id9b62)SemanticsNodeInteraction.getBoundsInRoot(),SemanticsNodeInteraction.getUnclippedBoundsInRoot()olarak yeniden adlandırıldı (Icafdf, b/161336532)- Sağdan sola dil desteği için API'ler güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilecek LayoutDirectionAmbient eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
- Modifier.deternimateProgress, Modifier.progressSemantics olarak yeniden adlandırıldı (I9c0b4).
- Material.io/icons'a eklenen en son simgelerle material-icons-extended'ı günceller (I4b1d3).
- transitionDefinition için T türünün açıkça belirtilmesini zorunlu kılın. (I1aded)
- Modifier.plus desteği sonlandırıldı. Bunun yerine Modifier.then kullanın. "Sonra" kelimesi, sıralama konusunda daha güçlü bir sinyal verirken
Modifier.padding().background() + anotherModifieryazı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.globalBoundskaldı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-dev15sürümünü kullanmak için Bağımlılıkları bildirme bölümünde yukarıda gösterilen yeni kod snippet'lerine göre bağımlılıklarınızı güncellemeniz gerekir.
API Değişiklikleri
@Modelek açıklamasının desteği sonlandırıldı. Alternatif olarak state ve mutableStateOf'u kullanın. Bu desteği sonlandırma kararı, dikkatli bir şekilde yapılan görüşmelerin ardından alınmıştır.Gerekçe
Gerekçe aşağıdakileri kapsar ancak bunlarla sınırlı değildir:
- API yüzey alanını ve öğretmemiz gereken kavramları azaltır.
- Diğer karşılaştırılabilir araç setleriyle (Swift UI, React, Flutter) daha uyumlu
- Geri alınabilir karar.
@Modelözelliğini daha sonra istediğimiz zaman geri getirebiliriz. @Modelyapılandırmasıyla ilgili, ele almamız gereken zor soruları ve nadir kullanım durumlarını ortadan kaldırır.@Modelveri sınıfları, equals, hashcode vb.- Bazı mülklerimin "gözlemlenmesini" nasıl sağlarım?
- Gözlemde kullanılacak yapısal ve referans eşitliğini nasıl belirtirim?
- Sistemdeki "sihri" azaltır. Kullanıcıların sistemin olduğundan daha akıllı olduğunu (ör. bir listeyi nasıl karşılaştıracağını bildiğini) düşünme olasılığını azaltır.
- Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
- Sınıftaki değişken -> özellikten yeniden düzenlenebilirliği iyileştirir.
- Eyalete özel, el yapımı optimizasyonlar yapma olasılığını artırır.
- Ekosistemin geri kalanıyla daha uyumlu hale gelir ve değişmezlik veya "değişebilir durumu benimseme" konusundaki belirsizlik azalır.
Taşıma notları
@Modelöğesinin mevcut kullanımlarının neredeyse tamamı iki şekilde kolayca dönüştürülebilir. Aşağıdaki örnekte, yalnızca örnek olması için iki özelliği olan bir@Modelsınıfı ve bu sınıfın bir composable'da kullanıldığı gösterilmektedir.@Model class Position( var x: Int, var y: Int ) @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }1. alternatif:
State<OriginalClass>simgesini kullanarak kopya oluşturun.Bu yaklaşım, Kotlin'in veri sınıflarıyla daha kolay hale gelir. Temel olarak, daha önce
varolan tüm mülkleri bir veri sınıfınınvalmülklerine dönüştürün, ardındanrememberyerinestatekullanın ve veri sınıfıcopy(...)kolaylık yöntemini kullanarak orijinalin klonlanmış kopyalarına durum değerini atayın.Bu yaklaşımın yalnızca söz konusu sınıfta yapılan tek mutasyonlar
Stateörneğinin oluşturulduğu kapsamda yapıldığında işe yaradığını unutmayın. Sınıf, kullanım kapsamı dışında kendi içinde değişiyorsa ve bu değişimi gözlemlemeye güveniyorsanız kullanmak isteyeceğiniz yaklaşım bir sonraki yaklaşımdır.data class Position( val x: Int, val y: Int ) @Composable fun Example() { var p by state { Position(0, 0) } PositionChanger( position=p, onXChange={ p = p.copy(x=it) } onYChange={ p = p.copy(y=it) } ) }2. alternatif: mutableStateOf ve özellik temsilcilerini kullanma
Bu yaklaşım, Kotlin'in özellik temsilcileri ve
mutableStateOfAPI 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ümvarözelliklerini, özellik temsilcisi olarakmutableStateOfolanvarözellikleriyle değiştirin. Bu, sınıfın kullanımının hiç değişmeyeceği, yalnızca dahili uygulamasının değişeceği avantajını sunar. Ancak her özellik artık ayrı ayrı gözlemlendiği/abone olunduğu için davranış, orijinal örnekle tamamen aynı değildir. Bu nedenle, bu yeniden düzenlemeden sonra gördüğünüz yeniden oluşturmalar daha dar olabilir (bu iyi bir şeydir).class Position(x: Int, y: Int) { var x by mutableStateOf(x) var y by mutableStateOf(y) } // source of Example is identical to original @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }(I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/143263925, b/139653744)
Metin alanlarındaki onFocusChange geri çağırma işlevi onFocusChanged olarak yeniden adlandırıldı (Ida4a1).
Çapalar arasındaki eşikleri belirtmek için stateDraggable'a eşik parametresi eklendi. Bu, alt çekmecede 56 dp eşiği ayarlamak için kullanıldı. Ayrıca BottomDrawerLayout artık ayrı bir BottomDrawerState enum'ı kullanıyor. (I533fa)
Daha önce desteği sonlandırılan Modifier.ripple kaldırıldı. Clickable artık varsayılan gösterge olarak dalgalanma efektini kullanıyor (uygulamanızda MaterialTheme {} ayarlanmışsa). Bu nedenle, çoğu durumda yalnızca clickable'ı kullanabilir ve dalgalanma efektini ücretsiz olarak alabilirsiniz. Dalgalanmanın rengini, boyutunu veya sınırlı parametresini özelleştirmeniz gerekiyorsa RippleIndication'ı manuel olarak oluşturabilir ve bunu tıklanabilir öğeye gösterge parametresi olarak iletebilirsiniz. (I663b2, b/155375067)
Desteği sonlandırılan FilledTextField composable'ın geçersiz kılınması kaldırıldı (I7f8f8).
Düğme işlevi tarafından kullanılan varsayılanları içeren Düğme nesnesini ButtonConstants olarak yeniden adlandırın (I7c5f7, b/159687878).
Düğme'nin içerik alanı artık Satır olarak davranıyor (metinle birlikte bir simgeye ihtiyacınız olduğunda kullanışlıdır. Düğme'ye nasıl yazılacağıyla ilgili örnekleri inceleyin) (I0ff10, b/158677863)
RadioGroup ve RadioGroupItem kullanımdan kaldırıldı. Tasarımınıza göre uygun bir radyo düğmesi seçimi grubu oluşturmak için Modifier.selectable, Row ve Column ile birlikte Box'ı kullanın (I7f5cf, b/149528535).
Added Material Outlined Textfield (I1a518)
androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Bu türü kullanan TextField, FilledTextField ve CoreTextField composable'ları da desteği sonlandırılmış olarak işaretlenir. Lütfen bunun yerine androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005).
TabRow.TabPosition, Dp'deki konumu içeriyor ancak IntPx'teki konumu içermiyor (I34a07, b/158577776)
IntPx kullanımı Int ile değiştirildi. IntPxPosition, IntOffset ile değiştirildi. IntPxSize, IntSize ile değiştirildi. (Ib7b44)
Boyutlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxSize yerine Size sınıfının kullanımını standartlaştırın. Bu, genişliği ve yüksekliği kayan sayılar olarak temsil etmek için 2 kayan sayı değerini paketlemek üzere uzun bir satır içi sınıfın avantajlarını sağlar. (Ic0191)
Modifier.ripple desteği sonlandırıldı. Clickable, artık varsayılan gösterge olarak dalgalanma efektini kullanıyor (uygulamanızda MaterialTheme {} ayarlanmışsa). Bu nedenle, çoğu durumda yalnızca clickable'ı kullanabilir ve dalgalanma efektini ücretsiz olarak alabilirsiniz. Dalgalanmanın rengini, boyutunu veya sınırlı parametresini özelleştirmeniz gerekiyorsa RippleIndication'ı manuel olarak oluşturabilir ve bunu tıklanabilir öğeye gösterge parametresi olarak iletebilirsiniz. (I101cd, b/155375067)
Scaffold API yeniden düzenlendi: Bazı parametrelerin adı değiştirildi ve daha iyi özelleştirme için yeni parametreler eklendi. Fab, TopBar ve BottomBar boyutlarını sorgulamak için getter eklendi (I0e7ce)
ui-material'da, Materyal Tasarım menü uygulaması olan DropdownMenu bileşeni eklendi. (I9bb3d)
SoftwareKeyboardController'ı kullanarak yazılım klavyesinin manuel olarak gösterilmesine/gizlenmesine izin verin (Ifb9d6, b/155427736)
Modifier.indication, temel pakete eklendi. Özel etkileşimli öğelerinizde basma/sürükleme/diğer işlemleri göstermek için kullanın (I8425f, b/155287131).
CanvasScope uygulamaları birleştirildi. Artık yalnızca DrawScope ve ContentDrawScope var. CanvasScope, DrawScope olarak yeniden adlandırıldı. Density arayüzünü uygulamak ve LayoutDirection sağlamak için DrawScope güncellendi. ContentDrawScope'taki silinen DrawScope alt sınıfı Painter ve PainterModifier, DrawScope bunu zaten sağladığı için artık RTL özelliğini kendileri korumayacak şekilde güncellendi (I1798e).
Emphasis.emphasize() işlevini Emphasis.applyEmphasis() olarak yeniden adlandırır (Iceebe)
Devre dışı bırakılan düğmeler artık görsel olarak Materyal Tasarım spesifikasyonuna uygun (I47dcb, b/155076924)
FilledTextField, IME işlemi, görsel dönüştürme ve klavye türü desteği alır (I1f9cf, b/155075201)
Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a strokeWidth parametresini ekler. LinearProgressIndicator'ın kontur boyutunu (yüksekliğini) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştirici kullanabilirsiniz. (Icea16, b/154919081)
Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a strokeWidth parametresini ekler. LinearProgressIndicator'ın kontur boyutunu (yüksekliğini) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştirici kullanabilirsiniz. (Icea16, b/154919081)
FilledTextField'deki sondaki ve baştaki simgeler için yuva API'si ve hata durumunun işlenmesi (Ic12e0) eklendi.
FAB'lerin ve genişletilmiş FAB'lerin varsayılan rengi MaterialTheme.colors.secondary olarak değiştirildi. (I3b9b9, b/154118816)
API'deki tüm null değer atanabilir Color kullanımları, null değer atanabilir olmayanlarla değiştirildi ve null yerine Color.Unset kullanıldı (Iabaa7).
EdgeInsets, InnerPadding olarak yeniden adlandırıldı. Materyal düğmelerinin innerPadding parametresi padding olarak yeniden adlandırıldı. (I66165)
Kaydırma çubuğu artık durum bilgisi içermiyor. Kullanıcıların, diğer kontrollerde olduğu gibi durumu kendilerinin iletmesi ve güncellemesi gerekir. (Ia00aa)
StaticDrawer kaldırıldı. Gerekirse bunun yerine malzeme özellikli genişliğe sahip Box'ı kullanın (I244a7).
Dolu metin alanı için Material Design uygulaması eklendi (Ic75cd)
ListItem'a değiştirici parametresi eklendi ve parametreler, sondaki lambda gövdesini destekleyecek şekilde yeniden sıralandı (I66e21).
Typography'ye defaultFontFamily oluşturucu parametresini ekler. Bu parametre, ailesi ayarlanmamış tüm TextStyles için kullanılacak varsayılan yazı tipi ailesinin belirtilmesine olanak tanır. (I89d07)
Materyal Veri Tabloları, API yüzeyinden geçici olarak kaldırıldı. (Iaea61)
Divider composable'daki parametreler yeniden adlandırıldı (Ic4373)
çocuklar (Ia6d19)
MaterialTheme.emphasisLevels kaldırıldı. Bunun yerine, vurgu düzeylerini almak için EmphasisAmbient.current kullanılacak (Ib5e40).
Şekil temalandırma sistemi, Materyal Tasarım spesifikasyonuna göre güncellendi. Artık bileşenlerin çoğu tarafından kullanılacak küçük, orta ve büyük şekiller sağlayabilirsiniz (Ifb4d1).
MaterialTheme.colors() ve MaterialTheme.typography() gibi MaterialTheme API'leri işlev yerine özellik olacak şekilde değiştirildi. Mevcut çağrılardan parantezleri kaldırın. Davranışta herhangi bir değişiklik beklenmez. (I3565a)
FloatingActionButton API'leri, temel öğeler yerine composable lambda'ları kabul edecek şekilde yeniden düzenlendi. Kullanım bilgileri için güncellenen örneklere bakın. (I00622)
Checkbox, Switch ve Toggleable'a
enabledparametresi eklendi (I41c16)Ripple artık bir değiştirici. Clickable henüz dönüştürülmediğinden önerilen kullanım
Clickable(onClick = { ... }, modifier = ripple())'dır (Ie5200, b/151331852, b/150060763).Surface ve Card, androidx.ui.material.surface'ten androidx.ui.material'a taşındı (I88a6d, b/150863888).
Button, FloatingActionButton ve Clickable artık ayrı bir
enabledparametresine sahip. Düğmedeki bazı parametreler yeniden adlandırıldı veya yeniden sıralandı. (I54b5a)Resim verileri ile düzene katılmak ve içerik çizmek için kullanılan, yakında kullanıma sunulacak Image composable arasındaki farkı daha iyi ayırt etmek için Image, ImageAsset olarak yeniden adlandırıldı. _Body:Geleneksel Android uygulama geliştirme ile Compose çerçevesini birleştirmek için yararlı bir ImageAsset örneği oluşturmak üzere android.graphics.Bitmap üzerinde Bitmap.asImageAsset() adlı bir uzantı yöntemi oluşturuldu (Id5bbd).
Composable lambda'ları kabul eden aşırı yüklemeyi kullanmak için String parametreleri içeren Snackbar API'si kaldırıldı. Kullanım bilgileriyle ilgili güncellenmiş örneklere göz atın (I55f80)
textveiconlambda'larını kabul etmek için Sekme API'leri yeniden düzenlendi (Ia057e).BottomNavigation bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I731a0).
AppBarIcon kaldırıldı ve Icon, IconButton ve IconToggleButton eklendi. AppBarIcon'un mevcut kullanımlarını doğrudan IconButton ile değiştirebilirsiniz. Bu durumda, doğru dokunma hedefi kullanılır. Kullanım bilgileri için örneklere, bu bileşenlerle doğrudan kullanabileceğiniz Material Icons için de Simge bölümüne bakın. (I96849)
ButtonStyle, ayrı işlevlerle değiştirildi ve metin (dize) aşırı yüklemesi kaldırıldı. Kullanım bilgileri için güncellenen örneklere bakın. (If63ab, b/146478620, b/146482131)
BorderdeğiştiricisiniDrawBorderolarak yeniden adlandırın (I8ffcc)LayoutCoordinates artık bir konum özelliğine sahip değil. LayoutModifiers, döndürme veya ölçekleme göz önünde bulundurulduğunda konum özelliği anlamlı değildir. Bunun yerine geliştiriciler, bir LayoutCoordinate'den diğerine dönüşümü hesaplamak için parentCoordinates ve childToLocal() işlevlerini kullanmalıdır.
LayoutCoordinates, boyut özelliği için PxSize yerine IntPxSize kullanıyor. Düzenlerde tam sayı piksel boyutları kullanılır. Bu nedenle, tüm düzen boyutlarında kayan nokta değerleri değil, tam sayılar kullanılmalıdır. (I9367b)
Ambients API'de zarar veren değişiklikler yapıldı. Ayrıntılar için günlük ve
Ambient<T>belgelerine bakın (I4c7ee, b/143769776)İskele materyali bileşeni eklendi. İskele uygulamaları (I7731b)
Border Modifier (Id335a) lehine DrawBorder değiştirildi.
Hata Düzeltmeleri
- FocusModifier, Modifier.focus, Modifier.focusRequester ve Modifier.focusObserver lehine kullanımdan kaldırıldı. FocusState ve FocusDetailedState, FocusState2 (I46919, b/160822875, b/160922136) lehine kullanımdan kaldırıldı.
- VerticalScroller ve HoriziontalScroller desteği sonlandırıldı. Column/Row davranışı ve parametreleriyle yerleşik deneyim için ScrollableColumn ve ScrollableRow'u veya kendi öğenizde Modifier.verticalScroll ve Modifier.horizontalScroll'u kullanın. Benzer şekilde, ScrollerPosition, ScrollState' (I400ce, b/157225838, b/149460415, b/154105299) lehine kullanımdan kaldırıldı.
- Modifier.draggable ve Modifier.scrollable API'leri yeniden düzenlendi. Orientation lehine DragDirection kaldırıldı. Kaydırılabilir için gerekli durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
runOnIdleCompose,runOnIdleolarak yeniden adlandırıldı (I83607)- Tek değerli anlamsal yapı özellikleri artık bir çağırma stili kullanıyor. Örneğin, "semantics { hidden = true }" artık şu şekilde yazılıyor: "semantics { hidden() }". (Ic1afd, b/145951226, b/145955412)
- Birkaç test API'si daha sezgisel olacak şekilde yeniden adlandırıldı. Tüm findXYZ API'leri onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri performXYZ olarak yeniden adlandırıldı. (I7f164)
- Transition API, TransitionState'i alt öğelere iletmek yerine TransitionState döndürecek şekilde değiştirildi. Bu değişiklik, API'nin animate() API'leriyle daha tutarlı olmasını sağlar. (I24e38)
- Düzenin tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider'ın API'si, bu işlevi kullanacak şekilde güncellendi. (I0d8d0, b/159596546)
- Test bulucularına isteğe bağlı yeni bir işaret olan useUnmergedTree eklendi. (I2ce48)
- Eski boyut testi API'leri kaldırıldı. (Iba0a0)
- NativeShader sınıfını sarmalayan Shader satır içi sınıfı kaldırıldı. NativeShader, Shader olarak yeniden adlandırıldı. Sarmalanmış Shader satır içi sınıfı, API yüzeyine değerli bir şey eklemedi ve satır içi bir sınıftı. Bu nedenle, NativeShader sınıfını doğrudan kullanın. (I25e4d)
- Pop-up'lar, iletişim kutuları ve menüler artık bağlamsal MaterialTheme'i devralıyor (Ia3665, b/156527485)
- Material DropdownMenu artık kaydırılabilir. (Ide699)
- Layout() işlevinin ölçü bloğundan düzen yönü parametresi kaldırıldı. Ancak düzen yönü, geri çağırma işlevi içinde ölçü kapsamı nesnesi (Ic7d9d) aracılığıyla kullanılabilir.
- Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın. -Tween ve spring gibi AnimationSpec'ler oluşturmak için lambda şartını kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, doğrudan oluşturucu parametrelerini alır. -Oluşturuculara güvenmek yerine oluşturucuları açarak AnimationSpec'in genel kullanım kolaylığını iyileştirin. -KeyFrame'lerin ve Tween'in süresini ve gecikmesini Int olarak değiştirin. Bu, gereksiz tür yayınlarını ve yöntem aşırı yüklemesini (hem Long hem de Int'i desteklemek için) ortadan kaldırır. (Ica0b4)
- Şimdi geçiş yap seçeneği,
enabledfalse olarak ayarlandığında devre dışı durumda gösteriliyor (If4624, b/155941869, b/159331694) - Modifier.tag, Modifier.testTag ile karışıklığı önlemek için Modifier.layoutId olarak yeniden adlandırıldı. (I995f0)
- Placeable#get(AlignmentLine) işlevinden döndürülen hizalama çizgisi Int konumları artık boş değer içermiyor. Sorgulanan hizalama çizgisi eksikse AlignmentLine.Unspecified döndürülür. (I896c5, b/158134875)
Radius sınıfı, satır içi sınıf olacak şekilde yeniden düzenlendi. Y ekseni boyunca yarıçapın zorunlu x ekseni yarıçap parametresine uyması için varsayılan parametreye sahip işlev oluşturucu lehine, eşlik eden öğe oluşturma yöntemleri kaldırıldı.
DrawScope.drawRoundRect, x ve y eksenleri boyunca yarıçap için 2 ayrı kayan nokta değeri yerine tek bir Yarıçap parametresi kullanacak şekilde güncellendi (I46d1b).
Konumlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, kayan değerler olarak temsil edilen x ve y uzaklıklarını temsil etmek için 2 kayan değer paketlemek üzere uzun bir değerden yararlanmak için satır içi sınıfın avantajlarını sağlar. (I3ad98)
Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasını sağlamak amacıyla büyük bir yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi. Px sınıfı tamamen silindi (I3ff33)
Açılıp kapatılabilen bileşen kullanımdan kaldırıldı. Bunun yerine Modifier.toggleable kullanın (I35220, b/157642842)
Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (I086f4).
Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (Id3434).
Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (I97a5a).
DropdownMenuItems için onClick'in çağrılmaması sorunu düzeltildi. (I3998b, b/157673259)
MutuallyExclusiveSetItem desteği sonlandırıldı. Bunun yerine Modifier.selectable kullanın. (I02b47, b/157642842)
TestTag desteği sonlandırıldı. Bunun yerine Modifier.testTag kullanın. (If5110, b/157173105)
TextField'ın imleci yanıp sönme animasyonuna sahip (Id10a7)
Piksel parametreleri için yalnızca Dp ve temel türlerin kullanılmasına yönelik büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (I19d02).
VerticalScroller artık kullanıma hazır bir şekilde Column sağlıyor. HorizontalScroller artık kutudan çıkar çıkmaz Row'u sağlar. (Ieca5d, b/157020670)
Piksel parametreleri için yalnızca Dp ve temel türlerin kullanıldığı büyük yeniden düzenleme çalışması kapsamında çeşitli Compose sınıflarında Px sınıfının kullanımı değiştirildi (Iede0b).
Yüksek düzeyli bileşenlerin kullanılmasına izin vermek için Modifier.semantics kullanımdan kaldırılma işlemi geri alındı. (I4cfdc)
DrawLayer değiştiricileri API'si değiştirildi: outlineShape, shape olarak yeniden adlandırıldı ve RectangleShape varsayılan değerine sahip olup artık null değer içermiyor; clipToOutline, clip olarak yeniden adlandırıldı; clipToBounds, RectangleShape ile clip == true aynı olduğundan kaldırıldı (I7ef11, b/155075735).
Tuval yerine CanvasScope'u kullanıma sunan, daha üst düzeydeki Compose API'leri güncellendi. Bu sayede tüketicilerin kendi Paint nesnelerini korumasına gerek kalmaz. Hâlâ bir Canvas'a erişmesi gereken tüketiciler, temel Canvas ile çizim komutları vermek için geri çağırma sağlayan drawCanvas uzantı yöntemini kullanabilir. (I80afd)
AlignmentLineOffset composable kullanımdan kaldırıldı. Lütfen bunun yerine relativePaddingFrom() değiştiricisini kullanın. CenterAlignmentLine composable'ı kaldırıldı. (I60107)
WithConstraints sondaki lambda API'si değiştirildi. Artık iki parametre yerine, kısıtlamalara ve layoutDirection'a ek olarak Dp'de minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlayan bir alıcı kapsamı var (I91b9a, b/149979702).
Varsayılan minimum boyut kısıtlamaları düzen değiştiricisi eklendi. Bu değiştirici, gelen ilgili kısıtlamalar belirtilmediğinde (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuz) boyut kısıtlamalarını yalnızca sarmalanmış düzene ayarlar. (I311ea, b/150460257)
FocusManagerAmbient kaldırıldı. Odağı almak için FocusModifier.requestFocus'i kullanın. (Ic4826)
Durum bilgisi içermeyen, bildirim temelli bir çizim API'si yüzeyi sunmak için Canvas nesnesini sarmalayan CanvasScope API'si oluşturuldu. Dönüşümler kendi alıcı kapsamlarında yer alır ve boyutlandırma bilgileri de ilgili yerleştirme sınırlarıyla sınırlıdır. Çizim işlemlerini yapılandırmak için tüketicinin kendi Paint durumu nesnesini koruması gerekmez.
CanvasScopeSample eklendi ve demo uygulaması, bildirim temelli grafikler demosunu (Ifd86d) içerecek şekilde güncellendi.
TextField'a imleç rengi özelleştirme özelliği ekleyin (I6e33f)
TextField ile kullanılan TextFieldValue artık şu şekilde kullanıldığında etkinlik yeniden oluşturulsa bile korunabilir:
var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() }(I5c3ce, b/155075724)LayoutModifier2, LayoutModifier olarak yeniden adlandırıldı. (Id29f3)
Desteği sonlandırılan LayoutModifier arayüzü kaldırıldı. (I2a9d6)
Odak alt sistemiyle entegrasyon için CoreTextField/TextField odak tanımlayıcı <0x0A> parametresi FocusNode ile değiştirildi. (I7ea48)
Layout ve LayoutModifier2'deki Intrinsic ölçüm işlevleri artık IntrinsicMeasureScope alıcısına sahip. Bu alıcı, örtülü olarak yayılmış düzen yönüyle Intrinsic sorgu API'si sağlar. (Id9945)
Aynı üst düzen içindeki alt öğelerin çizim sırasını kontrol etmek için yeni Modifier.zIndex() eklendi. DrawLayerModifier üzerindeki elevation özelliği, shadowElevation olarak yeniden adlandırıldı ve artık çizim sırasını kontrol etmiyor. DrawShadow için parametre sırası değiştirildi: Yükseklik artık ilk parametre, şekil ise RectangleShape varsayılanıyla ikinci parametre. (I20150, b/152417501)
RectangleShape, androidx.ui.foundation.shape.* konumundan androidx.ui.graphics.* konumuna taşındı. (Ia74d5, b/154507984)
TextField API güncellemesi: onFocus ve onBlur geri çağırmaları, parametreli tek bir onFocusChange(Boolean) geri çağırmasında birleştirildi (I66cd3).
Satır ve Sütun'a sırasıyla verticalGravity ve horizontalGravity parametreleri eklendi. (I7dc5a)
wrapContentWidth ve wrapContentHeight, herhangi bir hizalama yerine dikey veya yatay hizalama bekleyecek şekilde güncellendi. Yer çekimi değiştiricisi, dikey veya yatay hizalamayı kabul edecek şekilde güncellendi. Satır, sütun ve yığın, özel sürekli hizalamaları destekleyecek şekilde güncellendi. (Ib0728)
ImageAsset'ten piksel bilgileri sorgulamayı desteklemek için PixelMap API'si oluşturuldu. (I69ad6)
ProvideContentColor kaldırıldı. Bunun yerine doğrudan
Providers(Iee942) ile ContentColorAmbient kullanılacak.ui-text-compose modülünün adı ui-text olarak değiştirildi. ui-text artık CoreText ve CoreTextField composable'larını içeriyor (Ib7d47).
ui-text modülünün adı ui-text-core olarak değiştirildi (I57dec).
ui-framework/CoreText ve CoreTextField composable'ları ui-text-compose altına taşındı. Projenize ui-text-compose'u eklemek isteyebilirsiniz. (I32042)
DrawModifier API'yi iyileştirme:
- draw() ContentDrawScope için alıcı kapsamı oluşturuldu.
- draw() işlevindeki tüm parametreler kaldırıldı
- DrawScope, eski CanvasScope ile aynı arayüze sahiptir.
- ContentDrawScope'un drawContent() yöntemi var (Ibaced, b/152919067)
runOnIdleComposeverunOnUiThreadartık ComposeTestRule'daki yöntemler yerine genel işlevlerdir. (Icbe8f)[Mutable]State özellik temsilcisi operatörleri, Kotlin 1.4 özellik temsilcisi optimizasyonlarını desteklemek için uzantılara taşındı. Arayanların
by state { ... }veyaby mutableStateOf(...)kullanmaya devam etmek için içe aktarma işlemleri eklemesi gerekir. (I5312c)LayoutCoordinates için positionInParent ve boundsInParent eklendi. (Icacdd, b/152735784)
ColoredRect desteği sonlandırıldı. Bunun yerine Box(Modifier.preferredSize(width, height).drawBackground(color)) kullanın. (I499fa, b/152753731)
LayoutResult, MeasureResult olarak yeniden adlandırıldı. (Id8c68)
Düzen değiştiricileri tanımlamak için yeni bir API olan LayoutModifier2 eklendi. LayoutModifier (If32ac) desteği sonlandırıldı.
Değiştirici artı operatör, fabrika uzantısı işlevleriyle (I225e4) değiştirildi.
Sürüklenebilir, değiştiriciye taşındı (Id9b16, b/151959544)
ParentData composable'ın desteği sonlandırıldı. ParentDataModifier arayüzünü uygulayan bir değiştirici oluşturmanız veya yalnızca düzen alt öğelerini ölçü bloğunda tanımak için etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmanız gerekir. (I51368, b/150953183)
Kullanımdan kaldırılan Center composable'ı. Bu, LayoutSize.Fill + LayoutAlign.Center değiştiricisiyle veya uygun değiştiricilerin uygulandığı Box ya da Stack composable'larından biriyle değiştirilmelidir (Idf5e0).
Vektör grafikler için mevcut alt bileşen API'sinin yerini alacak VectorPainter API eklendi. Alt kompozisyonun sonucu, DrawModifier yerine VectorPainter nesnesidir. VectorPainter lehine önceki DrawVector composables'ın desteği sonlandırıldı.
Image(Painter) API'sinin adı PaintBox(Painter) olarak değiştirildi. ImageAsset yerine VectorAsset ile Image composable gibi davranan Vector composable oluşturuldu (I9af9a, b/149030271)
LayoutFlexible, LayoutWeight olarak yeniden adlandırıldı. Sıkı parametrenin adı doldurma olarak değiştirildi. (If4738)
DrawLayerModifier lehine RepaintBoundary kaldırıldı (I00aa4)
DrawVector, normal bir composable işlevden, vektörü bir düzenin arka planı olarak çizecek bir Modifier drawVector() döndürecek şekilde değiştirildi. (I7b8e0)
Opacity composable işlevinin yerini drawOpacity değiştiricisi aldı. (I5fb62)
Clip composable işlevini drawClip() değiştiricisiyle değiştirin. DrawClipToBounds, yalnızca dikdörtgen şekliyle katman sınırlarını kırpmanız gerektiğinde kullanabileceğiniz kullanışlı bir değiştiricidir. (If28eb)
DrawShadow composable işlevi, drawShadow() değiştiricisiyle değiştirildi. Gölgeler artık LayerModifier'ın bir parçası olarak çiziliyor. (I0317a)
Düzen için RenderNode eklemeye olanak tanıyan bir değiştirici olan LayerModifier eklendi. Kırpma, opaklık, döndürme, ölçeklendirme ve gölge ayarlamaya olanak tanır. Bu, RepaintBoundary'nin yerini alacak. (I7100d, b/150774014)
androidx.compose.ViewComposer, androidx.ui.node.UiComposer'a taşındı. androidx.compose.Emittable kaldırıldı. ComponentNode ile gereksizdi. androidx.compose.ViewAdapters kaldırıldı. Bu özellik artık desteklenen bir kullanım alanı değildir. Compose.composeInto desteği sonlandırıldı. Bunun yerine
setContentveyasetViewContentkullanın. Compose.disposeComposition desteği sonlandırıldı. Bunun yerinesetContenttarafından döndürülenCompositionüzerindedisposeyöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto konumuna taşındı. ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı. ComponentNode#emitRemoveAt, ComponentNode#removeAt olarak yeniden adlandırıldı. ComponentNode#emitMode, ComponentNode#move olarak yeniden adlandırıldı (Idef00).Belirli bir ImageAsset'i ekrana çizmenin yanı sıra boyutlandırma/düzenlemeyi de işlemek için CreatedImage composable'ı. Bu composable, kendi boyutuna uygun şekilde herhangi bir Painter örneğinin çizilmesini desteklemenin yanı sıra belirli bir sabit boyutu veya minimum boyutu da destekler (Ibcc8f).
Desteği sonlandırılan Wrap composable'ı. LayoutAlign değiştiricisi veya Stack composable (Ib237f) ile değiştirilebilir.
WithConstraints, LayoutDirection parametresini aldı (I6d6f7)
Yerleşim yönünün üst yerleşim düğümünden alt öğelere yayılması sağlandı. Düzen yönü değiştiricisi eklendi. (I3d955)
Stack bileşeni, sağdan sola yönü destekler (Ic9e00).
DrawShape composable'ı kaldırıldı. Bunun yerine DrawBackground değiştiricisini kullanın. (I7ceb2)
LayoutPadding değiştiricisinde sağdan sola yönü destekleme (I9e8da)
Yalnızca görünür öğeleri oluşturan ve yerleştiren kaydırma listesi bileşeni AdapterList eklendi. Şu anda bilinen sorunlar arasında yalnızca dikey olması ve alt öğelerinde yapılan değişikliklerin tümünü tam olarak ele almaması yer almaktadır. (Ib351b)
ComposeFlags.COMPOSER_PARAMişaretinitrueolarak güncelledik. Bu değişiklik, Compose eklentisinin kod oluşturma stratejisini etkileyecek. Bu durum, @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametre, çalışma zamanının yürütmeyi düzgün bir şekilde yönetebilmesi için sonraki @Composable çağrılarına iletilir. Bu, önemli bir ikili uyumluluğu bozan değişikliktir ancak Compose'un izin verilen tüm kullanımlarında kaynak düzeyinde uyumluluğu korur. (I7971c)Canvas bileşeni eklendi. Bu composable, belirli bir boyutu (kullanıcı tarafından sağlanır) kaplar ve CanvasScope (I0d622) kullanarak çizim yapmanıza olanak tanır.
Yoğunluk ve DensityScope tek bir arayüzde birleştirildi. Artık ambientDensity() yerine DensityAmbient.current kullanabilirsiniz. withDensity(density) yerine yalnızca with(density) kullanılmalıdır (I11cb1).
LayoutCoordinates, sağlananAlignmentLines'ı Map yerine Set olacak şekilde değiştirildi ve LayoutCoordinates'in değer almak için get() operatörünü uygulaması sağlandı. Bu sayede, her değiştirici için yeni bir koleksiyon oluşturmaya gerek kalmadan değiştiricilerin, kümenin bir veya daha fazla değerini değiştirmesi kolaylaşır. (I0245a)
Kaydırma çubukları artık yerel Android hızlı kaydırma hareketi davranışını sergiliyor. (I922af, b/147493715)
Kısıtlamaların API yüzeyinde iyileştirmeler (I0fd15)