Materyal Oluşturma
androidx.compose.material
androidx.compose.material.icons
(Tüm oluşturma paketleri için API referans belgelerini inceleyin)
Son Güncelleme | Kararlı Sürüm | Yayın Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
26 Haziran 2024 | 1.6.8 | - | 1.7.0-beta04 | - |
Yapı
Oluşturma, androidx
içindeki 7 Maven grubu kimliğinin kombinasyonudur. Her Grup, her biri kendi sürüm notu kümesine sahip olan hedeflenen bir işlev alt kümesi içerir.
Bu tabloda, gruplar ve her sürüm notu grubunun bağlantıları açıklanmaktadır.
Gruplandır | Açıklama |
---|---|
compose.animation | Jetpack Compose uygulamalarında animasyonlar oluşturarak kullanıcı deneyimini zenginleştirin. |
compose.derleyici | @Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisiyle optimizasyonları etkinleştirin. |
compose.temel | 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şenleri ile Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, Compose'un www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış üst düzey giriş noktasıdır. |
compose.material3 | Materyal Tasarım'ın yeni evrimi olan Materyal Tasarım 3 Bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Güncellenmiş tema ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özellikleri içeren Material 3, yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak. |
compose.runtime | Compose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Compiler eklentisinin hedefleyeceği temel çalışma zamanı. |
compose.ui | Düzen, çizim ve giriş de dahil olmak üzere cihazla etkileşimde bulunmak için gereken yazma kullanıcı arayüzünün temel bileşenleri. |
Bağımlılıkları bildirme
Compose'a bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.
Uygulamanız veya modülünün build.gradle
dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:
Modern
dependencies { implementation "androidx.compose.material:material:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.14" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material:material:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.14" } kotlinOptions { jvmTarget = "1.8" } }
Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici dokümanlarına bakın.
Sürüm 1.7
Sürüm 1.7.0-beta04
26 Haziran 2024
androidx.compose.material:material-*:1.7.0-beta04
yayınlandı. Sürüm 1.7.0-beta04 bu kayıtları içerir.
Sürüm 1.7.0-beta03
12 Haziran 2024
androidx.compose.material:material-*:1.7.0-beta03
yayınlandı. Sürüm 1.7.0-beta03 bu kayıtları içerir.
Sürüm 1.7.0-beta02
29 Mayıs 2024
androidx.compose.material:material-*:1.7.0-beta02
yayınlandı. Sürüm 1.7.0-beta02 bu kayıtları içerir.
API Değişiklikleri
- Bağlantıların stilini belirlemek için güncelleme API'si:
TextLinkStyles
öğesiTextStyle
öğesine taşındı veTextDefaults
öğesi materyalden kaldırıldı (I5477b)
Sürüm 1.7.0-beta01
14 Mayıs 2024
androidx.compose.material:material-*:1.7.0-beta01
yayınlandı. Sürüm 1.7.0-beta01 bu kayıtları içerir.
API Değişiklikleri
- Metinde Materyal temalı bağlantılar alma API'si güncellendi. Özellikle, temalı
LinkAnnotations
oluşturma ve temalı bağlantılara sahip HTML ayrıştırma yöntemleriTextDefaults
öğesinden kaldırıldı. Bunun yerine, bağlantıları metin composable'a parametre olarak biçimlendirmeye olanak tanıyan birTextLinkStyles
sınıfı eklendi. (I31b93)
Sürüm 1.7.0-alpha08
1 Mayıs 2024
androidx.compose.material:material-*:1.7.0-alpha08
yayınlandı. Sürüm 1.7.0-alpha08 bu kaydetmeleri içerir.
API Değişiklikleri
TextFieldDecorationBox
veOutlinedTextFieldDecorationBox
için geçerli olmayanbackgroundColor
sorununu düzeltin. Dekorasyon kutuları artıkshape
parametresini kabul etmektedir. (I371c2, b/307694651)RippleConfiguration#isEnabled
kaldırıldı veLocalRippleConfiguration
geçersiz kılınabilir hale getirildi. Dalgayı devre dışı bırakmak içinisEnabled = false
ileRippleConfiguration
sağlamak yerineLocalRippleConfiguration
öğesinenull
sağlayın. (I22725)- Metin bağlantılarında, normal stile ek olarak basılı durum stil seçeneği bulunur, imleçle üzerine gelindiğinde odaklanılır.
TextDefaults
yöntemlerinin her birinde bunu destekleyen birpressedStyle
bağımsız değişkeni vardır. (Ic473f, b/139312671)
Hata Düzeltmeleri
OutlinedTextField
etiketinin üst dolgusu artık sistem yazı tipi boyutunu dikkate alıyor. (Idc781)
Sürüm 1.7.0-alpha07
17 Nisan 2024
androidx.compose.material:material-*:1.7.0-alpha07
yayınlandı. Sürüm 1.7.0-alpha07 bu kaydetmeleri içerir.
API Değişiklikleri
- Metin bağlantılarına, normal stile ek olarak basılı durum stil seçeneği eklendi, imleçle üzerine gelindi ve odaklanıldı. (I5f864, b/139312671)
LinkAnnotation
oluşturma ve bağlantılaraMaterialTheme
işlemini uygulayan HTML etiketli dizeyi ayrıştırma yöntemlerini içeren birTextDefaults
nesnesi eklendi. (I98532, b/139312671)
Sürüm 1.7.0-alpha06
3 Nisan 2024
androidx.compose.material:material-*:1.7.0-alpha06
yayınlandı. Sürüm 1.7.0-alpha06 bu kaydetmeleri içerir.
Duyuru
androidx.compose.material
artık bu maven grubundaki her yapının aynı sürümünün kullanılmasını gerektirmiyor. Kullanıcılar, Compose temel kitaplıklarının (Ie5fba) farklı sürümlerini karıştırıp eşleştirebilir
API Değişiklikleri
- Daha fazla
ModalDrawer
veBottomDrawer
varsayılanıDrawerDefaults
nesnesine taşındı. (Ib5b2e)
Sürüm 1.7.0-alpha05
20 Mart 2024
androidx.compose.material:material-*:1.7.0-alpha05
yayınlandı. Sürüm 1.7.0-alpha05 bu kaydetmeleri içerir.
API Değişiklikleri
ScaffoldSubcomposeInMeasureFix
işareti kaldırıldı. (I67363)
Sürüm 1.7.0-alpha04
6 Mart 2024
androidx.compose.material:material-*:1.7.0-alpha04
yayınlandı. Sürüm 1.7.0-alpha04 bu kaydetmeleri içerir.
Yeni Özellikler
- Gezinme Yazma Oluşturma özelliği kullanılırken alt sayfalar için hedef olarak destek sağlayan yeni bir
androidx.compose.material:material-navigation
yapısı eklendi. Bu, Accompanist 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
yayınlandı. 1.7.0-alpha03 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
BottomDrawer
, deneme sürümünden kararlı sürüme yükseltildi.BottomDrawerState
artık ilerlemeyi bir işlev olarak göstererek belirli hedefler arasındaki ilerleme durumunun sorgulanmasına olanak tanır.BottomDrawerState
artık animasyon spesifikasyonunun özelleştirilmesine izin veriyor veconfirmStateChange
artık sona eren bir lambda değil. (I9c029, b/261423850)BackdropScaffold
, deneme sürümünden kararlı sürüme yükseltildi. Animasyon spesifikasyonu artık yönergelere uygun birtween
spesifikasyonu oldu. Sondaki lambdalarla karışıklığı önlemek içinBackdropScaffold
öğesininsnackbarHost
parametresi artık son parametre değil.BackdropScaffoldState
, çapalar arasında ilerleme durumunu sorgulamak için birprogress(from, to)
API'si sunar. (I73f48, b/261423218)- Standart alt sayfalar, deneme sürümünden kararlı sürüme yükseltildi. Desteği sonlandırılan kurucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir tween spesifikasyonu oldu. (I3c1a8, b/278692145, b/261409034)
- Kalıcı alt sayfalar, deneme aşamasından kararlı sürüme yükseltildi. Desteği sonlandırılan kurucular kaldırıldı. Animasyon spesifikasyonu artık yönergelere uygun bir
tween
spesifikasyonu oldu. (Ic53f4, b/278692145, b/266780235, b/261409034)
Hata Düzeltmeleri
LookaheadScope
ile birlikte belirli senaryolardaBackdropScaffold
uygulamasının kilitlenmesine neden olan sorun düzeltildi. (I51396)- Performansı artırmak için
BottomSheetScaffold
içindeki alt beste kaldırıldı.LookaheadScope
ile birlikte belirli senaryolardaBottomSheetScaffold
uygulamasının kilitlenmesine neden olan sorun düzeltildi. (I2f90c) ModalBottomSheetLayout
içindeki alt beste kaldırıldı ve performans artırıldı. (I7a025)
Sürüm 1.7.0-alpha02
7 Şubat 2024
androidx.compose.material:material-*:1.7.0-alpha02
yayınlandı. 1.7.0-alpha02 sürümü bu kaydetmeleri içerir.
Sürüm 1.7.0-alpha01
24 Ocak 2024
androidx.compose.material:material-*:1.7.0-alpha01
yayınlandı. 1.7.0-alpha01 sürümü bu kaydetmeleri içerir.
Davranış Değişiklikleri
- Malzeme bileşenleri, yeni ripple API'lerini kullanmak için taşındı ve artık
RippleTheme
sorgusu gerçekleştirmiyor.
API Değişiklikleri
rememberRipple
veRippleTheme
, malzeme ripple aracındaki desteği sonlandırılmıştır. Materyal ve diğer tasarım sistemi kitaplıklarına yeni ripple veRippleConfiguration
API'leri eklenmiştir.Daha önce bir
MutableInteractionSource
kabul eden ve varsayılan olarak{ MutableInteractionSource() }
öğesini hatırlayan materyal bileşenleri artık null (boş değer)MutableInteractionSource
kabul ediyor ve bunun yerine varsayılan olarak null (boş değer) değerini alıyor. Kaldırmıyor veMutableInteractionSource
öğesini kullanmıyorsanız null değerini iletmeniz gerekir. Bu, bazı bileşenlerin yalnızca gerektiğinde geç bir şekilde örnek oluşturmasına olanak tanıyarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.
Sürüm 1.6
Sürüm 1.6.8
12 Haziran 2024
androidx.compose.material:material-*:1.6.8
yayınlandı. Sürüm 1.6.8 bu taahhütleri içerir.
Sürüm 1.6.7
1 Mayıs 2024
androidx.compose.material:material-*:1.6.7
yayınlandı. Sürüm 1.6.7 bu taahhütleri içerir.
Sürüm 1.6.6
17 Nisan 2024
androidx.compose.material:material-*:1.6.6
yayınlandı. Son sürümden bu yana değişiklik yok.
Sürüm 1.6.5
3 Nisan 2024
androidx.compose.material:material-*:1.6.5
yayınlandı. Sürüm 1.6.5 bu taahhütleri içerir.
Sürüm 1.6.4
20 Mart 2024
androidx.compose.material:material-*:1.6.4
yayınlandı. Sürüm 1.6.4 bu kaydetmeleri içerir.
Sürüm 1.6.3
6 Mart 2024
androidx.compose.material:material-*:1.6.3
yayınlandı. Sürüm 1.6.3 bu taahhütleri içerir.
Hata Düzeltmeleri
- Tekrar odaklanılabilir hale getirmek için
ExposedDropdownMenu
işlevindeki regresyonu düzeltin. (c0e0ed, b/323694447)
Sürüm 1.6.2
21 Şubat 2024
androidx.compose.material:material-*:1.6.2
yayınlandı. 1.6.2 sürümü bu kaydetmeleri içerir.
Sürüm 1.6.1
7 Şubat 2024
androidx.compose.material:material-*:1.6.1
yayınlandı. Sürüm 1.6.1 bu kaydetmeleri içerir.
Sürüm 1.6.0
24 Ocak 2024
androidx.compose.material:material-*:1.6.0
yayınlandı. 1.6.0 sürümü bu kaydetmeleri içerir.
Sürüm 1.6.0-rc01
10 Ocak 2024
androidx.compose.material:material-*:1.6.0-rc01
yayınlandı. Sürüm 1.6.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.6.0-beta03
13 Aralık 2023
androidx.compose.material:material-*:1.6.0-beta03
yayınlandı. Sürüm 1.6.0-beta03 bu kaydetmeleri içerir.
Sürüm 1.6.0-beta02
29 Kasım 2023
androidx.compose.material:material-*:1.6.0-beta02
yayınlandı. Sürüm 1.6.0-beta02 bu kaydetmeleri içerir.
Sürüm 1.6.0-beta01
15 Kasım 2023
androidx.compose.material:material-*:1.6.0-beta01
yayınlandı. Sürüm 1.6.0-beta01 bu kaydetmeleri içerir.
Sürüm 1.6.0-alpha08
18 Ekim 2023
androidx.compose.material:material-*:1.6.0-alpha08
yayınlandı. 1.6.0-alpha08 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
autoMirror
parametresi alan aşırı yük nedeniylematerialIcon
işlevini kullanımdan kaldırın. (Ia338d)
Hata Düzeltmeleri - Büyük içerik için gezinme öğesinin yüksekliğini otomatik olarak artır. (0c4ecc, b/272336962)
Sürüm 1.6.0-alpha07
4 Ekim 2023
androidx.compose.material:material-*:1.6.0-alpha07
yayınlandı. 1.6.0-alpha07 sürümü bu kaydetmeleri içerir.
- Bağımlılık güncellemeleri
Sürüm 1.6.0-alpha06
20 Eylül 2023
androidx.compose.material:material-*:1.6.0-alpha06
yayınlandı. 1.6.0-alpha06 sürümü bu kaydetmeleri içerir.
Davranış Kırıcı Değişim
- Çekmeceyle ilgili işlev,
BottomSheetScaffold
ürününden kaldırıldı. Önceki işlevi elde etmek içinBottomSheetScaffold
cihazınızı bir Çekmece composable'a sarın. Örnek için bkz.BottomSheetScaffoldWithDrawerSample
. (I1dcc8)
API Değişiklikleri
- İskele'nin ölçüm veya yerleştirme sırasında alt öğelerini ölçmesi gerekip gerekmediğini kontrol etmek için geçici bir işaretleme eklendi. Varsayılan olarak bu, ölçümde ölçülür. Yeni davranışla ilgili sorun yaşıyorsanız lütfen sorun bildirin. (If6e3b)
Sürüm 1.6.0-alpha05
6 Eylül 2023
androidx.compose.material:material-*:1.6.0-alpha05
yayınlandı. 1.6.0-alpha05 sürümü bu kaydetmeleri içerir.
Yeni Özellikler
- Sağdan sola düzenlerde oluşturulan otomatik yansıtılan simgeler için destek eklendi. Materyal-simgeler-çekirdek ve materyal-simgeleri ile genişletilmiş modüllerdeki simgeler, artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge grupları sağlıyor. Yeni grupların başında
Icons.AutoMirrored.Filled...
vb. bulunur ve bunların sağ alt düzeninde otomatik olarak yansıtılacak simgeler basılı tutulur. Otomatik olarak yansıtılabilen (ve olması gereken) simgelerin listesi için Materyal simgeleri listesine bakın.
API Değişiklikleri
- Sağdan sola düzenlerde oluşturulan otomatik yansıtılan simgeler için destek eklendi. Materyal-simgeler-çekirdek ve materyal-simgeleri ile genişletilmiş modüllerdeki simgeler, artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge grupları sağlıyor. Yeni grupların başında
Icons.AutoMirrored.Filled...
vb. bulunur ve bunların sağ alt düzeninde otomatik olarak yansıtılacak simgeler basılı tutulur. Otomatik olarak yansıtılabilen (ve olması gereken) simgelerin listesi için Materyal simgeleri listesine bakın. Bu simgeler için daha önce sağlanan simge özellikleri artık "desteği sonlandırılmış" olarak işaretlenmiştir ve taşıma işlemine yardımcı olmak için, yeni bir engelleme önerisi sunar. Sağdan sola simge yansıtma işlemi için özel bir işlem yapmanız gerekmiyorsa yeni simge grubuna geçiş yapmanızı öneririz. Örneğin,Icons.Filled.ArrowBack
,Icons.AutoMirrored.Filled.ArrowBack
olarak yeniden düzenlenmelidir. (I4b511)
Sürüm 1.6.0-alpha04
23 Ağustos 2023
androidx.compose.material:material-*:1.6.0-alpha04
yayınlandı. 1.6.0-alpha04 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
LookaheadScope
içindeki bir İskele içindeSubcomposition
(ör.BottomSheetScaffold
) kullanan bazı bileşenlerin boyutlarını çok erken okumaya çalışmasıyla ilgili sorun düzeltildi. (If2c5d)- Menü ekranın alt kısmına yakın olduğunda x ofsetlerinin yalnızca yerel düzen yönüne bağlı olması ve y ofsetlerinin artık geri alınmaması için
DropdownMenu
ürünününoffset
hesaplaması düzeltildi. (Iccc74, b/294103942) BottomSheetScaffold
öğesinin düzen dahili öğeleri optimize edildi veLookaheadLayout
içindekiBottomSheetScaffold
ile ilgili olası sorun düzeltildi. (Ic0afa)
Sürüm 1.6.0-alpha03
9 Ağustos 2023
androidx.compose.material:material-*:1.6.0-alpha03
yayınlandı. 1.6.0-alpha03 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Material2 bileşenleri, Android'de uçtan uca işlevselliği desteklemek için artık
windowInsets
iletilecek ayrı bir API'ye sahip. malzeme3 bileşenlerinden farklı olarak, malzeme2 bileşenleri varsayılan olarak ekleri desteklemez ve değer manuel olarak iletilmelidir. Yol göstermesi için ilgili örneklere bakın. (I655e8)
Sürüm 1.6.0-alpha02
26 Temmuz 2023
androidx.compose.material:material-*:1.6.0-alpha02
yayınlandı. 1.6.0-alpha02 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, şu bileşenler için geçerlidir:
SwipeToDismiss
ve e-tablo tabanlı bileşenler. Lütfen yoğunluk parametresi olan, sağlanan yeni aşırı yükü kullanın. (I1846e) - composable'lara izin verilen girişleri belirtmek için ek ek açıklamalar (I51109)
- API dosyaları, uyumluluk engellemesine açıklama ekleyecek şekilde güncellendi (I8e87a, b/287516207)
FabPosition
için yeni Başlangıç hizalaması eklendi (Ib7aea, b/170592777)- Materyal 2'de
TextFieldColorsWithIcons
desteği sonlandırılarakTextFieldColors
kullanıma sunuldu.leadingIconColor
veyatrailingIconColor
değerini geçersiz kılarken, aşırı yüklemeyiinteractionSource
ile de geçersiz kılın. (Id57ed, b/199377790)
Sürüm 1.6.0-alpha01
21 Haziran 2023
androidx.compose.material:material-*:1.6.0-alpha01
yayınlandı. 1.6.0-alpha01 sürümü bu kaydetmeleri içerir.
Davranış Değişiklikleri
includeFontPadding
artık Materyal 2 tipografisinde varsayılan olarakfalse
oldu. Varsayılan satır yüksekliği stili deTrim.None
veAlignment.Center
olarak değiştirildi. AyrıcaTypography
öğesininTextStyle
öğelerine açıkçalineHeight
(sp cinsinden) eklendi. Bu değerleri özelleştirmek isterseniz API belgelerine bakın ve bu değişiklikleri ayrıntılı bir şekilde açıklamak için blog yayınını inceleyin. (Icabc3, I3f801, I04c03)
API Değişiklikleri
- Material'ın
Swipeable
API'leri kullanımdan kaldırıldı. Lütfen Foundation'ın hem basit hem de karmaşık kullanım alanları için optimize edilmişAnchoredDraggable
API'lerini inceleyin. (I732e0)
Hata Düzeltmeleri
BottomSheetState
,ModalBottomSheetState
veBottomDrawerState
artık geçerli (düzeltilmiş) sabit ile kaydırma yönünde en yakın bağlantı arasındaki ilerlemeyi gösteren bir ilerleme durumu özelliği gösterir. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Sürüm 1.5
Sürüm 1.5.4
18 Ekim 2023
androidx.compose.material:material-*:1.5.4
yayınlandı. 1.5.4 sürümü bu kaydetmeleri içerir.
Sürüm 1.5.3
4 Ekim 2023
androidx.compose.material:material-*:1.5.3
yayınlandı. Bu sürümde değişiklik yok
Sürüm 1.5.2
27 Eylül 2023
androidx.compose.material:material-*:1.5.2
yayınlandı. Sürüm 1.5.2 bu kaydetmeleri içerir.
Sürüm 1.5.1
6 Eylül 2023
androidx.compose.material:material-*:1.5.1
hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.5.1 bu kaydetmeleri içerir.
Sürüm 1.5.0
9 Ağustos 2023
androidx.compose.material:material-*:1.5.0
yayınlandı. 1.5.0 sürümü bu kaydetmeleri içerir.
1.4.0'dan bu yana önemli değişiklikler
API Değişiklikleri
BottomSheetScaffold
ürünündeki Kaydırılabilir 1 API'lerde yapılan değişiklikler eklendi.BottomSheetState
adlı kullanıcınınconfirmStateChange
parametresi,confirmValueChange
olarak yeniden adlandırıldı.progress
artık kayan noktalı değer olarak gösteriliyor.animateTo
vesnapTo
dahilidir. Bunun yerineexpand()
vecollapse()
kullanın.direction
veoverflow
kaldırıldı.offset
,requireOffset()
ile değiştirildi. I323b4- Çekmece'deki
snapTo
işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368) - Dairesel ilerleme göstergeleri için bir parkur rengi parametresi, hem dairesel hem de doğrusal ilerleme göstergeleri için bir çizgi sınırı parametresi eklendi. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState
,ModalBottomSheetState.Saver
verememberModalBottomSheetState
adlı çocuğunconfirmStateChange
öğesiconfirmValueChange
olarak yeniden adlandırıldı. (Ib48d1)Modifier.minimumInteractiveComponentSize
ekleyin. Öğe daha küçükse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)ModalBottomSheetLayout
ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi.ModalBottomSheetState
ürününün animasyonluTonu artıkanimationSpec
parametresi almıyor ve gösterilen ofset artık null değerine ayarlanıyor. Ofseti zorunlu kılmak içinrequireOffset
değerini kullanın. (Ia2e79)@JvmDefaultWithCompatibility
ek açıklaması ekleniyor (I8f206)ModalDrawer. DrawerState
ürünününanimateTo
içindeki Kaydırılabilir API'lerde yapılan değişiklikler, açma ve kapatma yöntemleriyle değiştirildi ve ofset artık null hale getirilebilir. Ofseti zorunlu kılmak içinrequireOffset
değerini kullanın. (I3de9e)- Hareketlerin kaydırma etkinliklerine dönüşmesi durumunda basmaları doğru şekilde geciktirmek için Çekmeceler ve E-Tablolar güncellendi.
- Malzeme ve malzeme3 Metin,
TextField
veOutlinedTextField
özelliklerineminLines
parametresi eklendi. Bu parametre, satır sayısı açısından bileşenin minimum yüksekliğinin ayarlanmasına olanak tanır (I4af1d)
Hata Düzeltmeleri
pullRefresh
öğesinin hızı tüketmemesine ve fazla kaydırmanın gösterilmesine neden olan bir sorunu düzeltir. Ayrıca,Modifier.pullRefresh
ürünündeonRelease
lambda'nın API imzası, tüketilen hız için bir Kayan değer döndürecek şekilde değiştirildi (I7db65, b/266874741)BottomSheetState
,ModalBottomSheetState
veBottomDrawerState
artık geçerli (düzeltilmiş) sabit ile kaydırma yönünde en yakın bağlantı arasındaki ilerlemeyi gösteren bir ilerleme durumu özelliği gösterir. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)- İşlemler iletişim kutusunun genişliğine sığacak şekilde birbirinin üzerine yığıldığında
AlertDialog
kapatma işlemi, onaylama işleminin altında görünecek şekilde düzeltildi. Bu düzeltme, uygulamanın Materyal Tasarım spesifikasyonuyla uyumlu olmasını sağlar. (I029de, b/235454277) gesturesEnabled
yanlış değerine ayarlandığındaBottomSheetScaffold
artık iç içe yerleştirilmiş kaydırmada yer almaz. (I634f3, b/215403277)- Alanlar için boş içerik sağlandığında
BottomSheetScaffold
uygulamasının kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730) PullRefreshIndicator
araya giren tıklamaları/işaretçi etkinliklerini düzeltir. (2494256, b/271777421)- Yön değişikliğinde uç büyük/küçük harf kullanımının
ModalBottomSheetLayout
kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğinin içindeki/içindeki düzen animasyonları (ör.Modifier.animateContentSize
) artık sorunsuz çalışıyor. (I2f981, b/266780234)
Sürüm 1.5.0-rc01
26 Temmuz 2023
androidx.compose.material:material-*:1.5.0-rc01
yayınlandı. Sürüm 1.5.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.5.0-beta03
28 Haziran 2023
androidx.compose.material:material-*:1.5.0-beta03
yayınlandı. Sürüm 1.5.0-beta03 bu kaydetmeleri içerir.
Hata Düzeltmeleri
BottomSheetState
,ModalBottomSheetState
veBottomDrawerState
artık geçerli (düzeltilmiş) sabit ile kaydırma yönünde en yakın bağlantı arasındaki ilerlemeyi gösteren bir ilerleme durumu özelliği gösterir. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
Sürüm 1.5.0-beta02
7 Haziran 2023
androidx.compose.material:material-*:1.5.0-beta02
yayınlandı. Sürüm 1.5.0-beta02 bu kaydetmeleri içerir.
Sürüm 1.5.0-beta01
24 Mayıs 2023
androidx.compose.material:material-*:1.5.0-beta01
yayınlandı. Sürüm 1.5.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
DrawerState
veBottomDrawerState
ofsetleri artık null değil. Bunun yerine, ofsetin olmadığını belirtmek içinFloat.NaN
değerini döndürürler. (Ie9855)- Görüntülenen menü öğelerinin dikey kaydırma durumunu kontrol etmek için
DropdownMenu
veyaExposedDropdownMenu
oluştururkenScrollState
içinde geçiş yapma seçeneği eklendi. (Idb009, b/185304441) ModalBottomSheetLayout
hareketini etkinleştirme/devre dışı bırakma desteği ekleyin. Böylece kullanıcı, daha fazla öne çıkan alt sayfada bu hareketi yapılandırabilir (I40af0)- Metin renginin verimli bir şekilde animasyona veya ayarlanmasına olanak tanımak için
BasicText
öğesine bir renk parametresi eklendi. (Iffd88, b/246961787) isContainer
anlamsal özelliğiisTraversalGroup
(I121f6) olarak yeniden adlandırılıyor
Hata Düzeltmeleri
- İşlemler iletişim kutusunun genişliğine sığacak şekilde birbirinin üzerine yığıldığında
AlertDialog
kapatma işlemi, onaylama işleminin altında görünecek şekilde düzeltildi. Bu düzeltme, uygulamanın Materyal Tasarım spesifikasyonuyla uyumlu olmasını sağladı. (I029de, b/235454277)
Sürüm 1.5.0-alpha04
10 Mayıs 2023
androidx.compose.material:material-*:1.5.0-alpha04
yayınlandı. 1.5.0-alpha04 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, şu bileşenler için geçerlidir:
BottomDrawer
,ModalBottomSheetLayout
,BottomSheetScaffold
,Switch
,ModalDrawer
. Lütfen yoğunluk parametresi olan, sağlanan yeni aşırı yükü kullanın. (I8fbd8)
Sürüm 1.5.0-alpha03
19 Nisan 2023
androidx.compose.material:material-*:1.5.0-alpha03
yayınlandı. 1.5.0-alpha03 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Yeni
SwipeableV2
API'lerini kullanmak içinBottomDrawer
dahili öğeyi güncelleyin. BuBottomDrawerState
nedeniyle artık yalnızca sınıf düzeyinde tanımlanmış API'ler olacak veSwipeableState
kaynağındaki yöntemleri/özellikleri devralmayacak. DahiliSwipeableV2State
özelliğine sahip beste kullanıyoruz. Offset artık boş değer atanabilir bir kayan nokta mülküdür. Geçerli değere ve kaydırma hedefi değerine, currentValue ve targetValue özellikleri üzerinden erişmeye devam edebilirsiniz. Aç/genişlet/kapat gibi önceki sınıf düzeyinde yöntemler veisOpen/isClosed
gibi özellikler desteklenmeye devam etmektedir. (Iad40c, b/178529942, b/220676296)
Hata Düzeltmeleri
- Geçiş bileşeninin dahili öğeleri güncellendi. Anahtar artık sürüklerken en yakın (hedef durumu) önizler. (Id90d4)
BottomSheetScaffold
kapsayıcısındaki animasyonlu sayfa içeriği (ör. sayfa içeriğindekiModifier.animateContentSize
) optimize edildi ve sorunsuz bir şekilde çalışıyor. (Ia913c, b/270518202, b/254446195)gesturesEnabled
,false
olarak ayarlandığındaBottomSheetScaffold
artık iç içe yerleştirilmiş kaydırmada yer almaz. (I634f3, b/215403277)
Sürüm 1.5.0-alpha02
5 Nisan 2023
androidx.compose.material:material-*:1.5.0-alpha02
yayınlandı. 1.5.0-alpha02 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Alanlar için boş içerik sağlandığında
BottomSheetScaffold
uygulamasının kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730) PullRefreshIndicator
öndeki tıklamalara / işaretçi etkinliklerine müdahale eden sorunları düzeltir (2494256, b/271777421)
Sürüm 1.5.0-alpha01
22 Mart 2023
androidx.compose.material:material-*:1.5.0-alpha01
yayınlandı. 1.5.0-alpha01 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Çip grubu yeniden düzenleme örneği ekleyin. Tek satırlı çip grubu örneğinde alt çipler arasındaki yatay dolguyu spesifikasyonla eşleşecek şekilde güncelleyin. (I3b155)
- Yön değişikliğinde uç büyük/küçük harf kullanımının
ModalBottomSheetLayout
kilitlenmesine neden olan sorun düzeltildi. Sayfa içeriğinin içindeki/iç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
hiçbir değişiklik yapılmadan yayınlandı (yalnızca sürüm yükseltmesi).
Sürüm 1.4.2
19 Nisan 2023
androidx.compose.material:material-*:1.4.2
yayınlandı. Sürüm 1.4.2 bu kaydetmeleri içerir.
Sürüm 1.4.1
5 Nisan 2023
androidx.compose.material:material-*:1.4.1
yayınlandı. Sürüm 1.4.1 bu kaydetmeleri içerir.
Sürüm 1.4.0
22 Mart 2023
androidx.compose.material:material-*:1.4.0
yayınlandı. 1.4.0 sürümü bu kaydetmeleri içerir.
1.3.0'dan bu yana önemli değişiklikler
API Değişiklikleri
Modifier.minimumInteractiveComponentSize
ekleyin. Öğe daha küçükse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)ModalDrawer
ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi.DrawerState
öğesininanimateTo
değeri, açma ve kapatma yöntemleriyle değiştirildi ve ofset artık null değerine sahip. Ofseti zorunlu kılmak içinrequireOffset
değerini kullanın. (I3de9e)- Malzeme ve malzeme3 Metin,
TextField
veOutlinedTextField
özelliklerineminLines
parametresi eklendi. Bu parametre, satır sayısı açısından bileşenin minimum yüksekliğinin ayarlanmasına olanak tanır (I4af1d) BasicText
veBasicTextField
bölümlerineminLines
parametresi eklendi. Bu composable'ların, satır sayısı açısından minimum yüksekliğinin ayarlanmasına olanak tanır (I24294, b/122476634)
Sürüm 1.4.0-rc01
8 Mart 2023
androidx.compose.material:material-*:1.4.0-rc01
hiçbir değişiklik yapılmadan yayınlandı. Sürüm 1.4.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.4.0-beta02
22 Şubat 2023
androidx.compose.material:material-*:1.4.0-beta02
yayınlandı. Sürüm 1.4.0-beta02 bu kaydetmeleri içerir.
API Değişiklikleri
BottomSheetScaffold
ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi.BottomSheetState
adlı kullanıcınınconfirmStateChange
parametresi,confirmValueChange
olarak yeniden adlandırıldı.progress
artık kayan noktalı değer olarak gösteriliyor.animateTo
vesnapTo
dahilidir. Bunun yerineexpand()
vecollapse()
kullanın.direction
veoverflow
kaldırıldı.offset
,requireOffset()
ile değiştirildi. (I323b4)
Hata Düzeltmeleri
- Tıklanabilir ve seçilebilir yüzeylerden anlamsal roller kaldırıldı, değiştirici.semantik kullanarak rolleri ayarlamak için bunları kullanan bileşenler güncellendi (Ibb4ba)
- Genişletilmiş Materyal simgelerinde, doldurulmuş
desktop_mac
,directions
vekitchen
simgelerinde ince ayar yapan küçük güncelleme. (I65f5e)
Sürüm 1.4.0-beta01
8 Şubat 2023
androidx.compose.material:material-*:1.4.0-beta01
yayınlandı. Sürüm 1.4.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
pullRefresh
öğesinin hızı tüketmemesine ve fazla kaydırmanın gösterilmesine neden olan bir sorunu düzeltir. Ayrıca,Modifier.pullRefresh
ürünündeonRelease
lambda'nın API imzası, tüketilen hız için bir Kayan değer döndürecek şekilde değiştirildi (I7db65, b/266874741)LocalMinimuTouchTargetEnforcement
özelliği geri yüklendi, desteği sonlandırıldı olarak işaretleyin veLocalMinimumInteractiveComponentEnforcement
adresine yönlendiriliyor. (I60dd5)
Sürüm 1.4.0-alpha05
25 Ocak 2023
androidx.compose.material:material-*:1.4.0-alpha05
yayınlandı. 1.4.0-alpha05 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
ModalBottomSheetLayout's HalfExpanded
durumunun yanlış hesaplanmasına ve sayfanın kayan gibi görünmesine neden olan sorun düzeltildi. (I8c615, b/265610459)ModalBottomSheetLayout
ürününde, bazı durumlarda gizli moddan görünür duruma geçerken sayfanın kilitlenmesine neden olan hata düzeltildi. (Ia9265, b/265444789)
Sürüm 1.4.0-alpha04
11 Ocak 2023
androidx.compose.material:material-*:1.4.0-alpha04
yayınlandı. 1.4.0-alpha04 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Platformlarda
IsContainer
anlamsal özelliğine eklendi. Bu özellik, yüzeyler gibi öğelerin anlamlarına dayalı olarak geçiş sırasını belirleyen daha sonraki bir değişiklikte kullanılacaktır. (I63379) - Çekmece'deki
snapTo
işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368) - Dairesel ilerleme göstergeleri için bir parkur rengi parametresi, hem dairesel hem de doğrusal ilerleme göstergeleri için bir çizgi sınırı parametresi eklendi. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState
,ModalBottomSheetState.Saver
verememberModalBottomSheetState
adlı çocuğunconfirmStateChange
öğesiconfirmValueChange
olarak yeniden adlandırıldı. (Ib48d1)- Desteği sonlandırılan gizli işlevlerin (Ibf7b0) daha fazla dönüş türü null değeri
Modifier.minimumInteractiveComponentSize
ekleyin. Öğe daha küçükse dokunma etkileşimlerini netleştirmek için en az 48 dp boyutunda ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)ModalBottomSheetLayout
ürünündeki Kaydırılabilir API'lerde yapılan değişiklikler eklendi.ModalBottomSheetState
öğesininanimateTo
değeri artıkanimationSpec
parametresi almıyor ve sunulanoffset
parametresi artık null değerine sahip.offset
özelliğini zorunlu kılmak içinrequireOffset
kullanın. (Ia2e79)
Hata Düzeltmeleri
ModalBottomSheetLayout
adlı kullanıcının e-tablosu artık maksimum 640 dp genişliğe sahip. (I71a4f, b/234927577)rememberPullRefreshState
uygulamasının zaman içinderefreshThreshold
verefreshingOffset
öğelerini güncellememesine neden olan sorunu düzeltir. (Ifed10, b/263159832)- İlerleme göstergeleri için ilerleme durumu, artık beklenen aralığa doğru şekilde sınırlandı. (I8a7eb, b/262262727)
ModalBottomSheetState
henüz herhangi bir sabit reklam almadığında, istisna uygulamak yerinesnapTo
veyaanimateTo
çağrıldığındacurrentValue
animasyon olmadan güncellenir. (I2c91b)- Materyal 2
FilterChip
uygulamasında etkin durum düzeltildi. (Id326a, b/261329817) - Dikeyden yataya dönerken
HalfExpanded
iseModalBottomSheetLayout
ürününün kilitlenmesine neden olan hata düzeltildi. Lütfen doğruinitialValue
öğesini ilettiğinizden emin olun (örneğin, yapılandırmayı kontrol ederek). (Ie8df7, b/182882364) - Sayfa içeriği boş olduğunda
ModalBottomSheetLayout
uygulamasının kilitlenmesine neden olan sorun düzeltildi.ModalBottomSheetLayout
artık boş sayfa içeriğine izin veriyor. Sayfa içeriği boşsa yalnızca Gizli durumu gösterilir. (Ic2288, b/200980998, b/216693030)
Bilinen Sorun
androidx.compose.foundation:1.4.0-alpha03
sürümündenandroidx.compose.foundation:1.4.0-alpha04
sürümüne güncellerkenjava.lang.NoSuchFieldError
hatasıyla karşılaşabilirsiniz. Sorun ilk olarak burada bildirilmiştir. Bir düzeltme gönderildi. Bir sonraki Oluştur güncellemesinde kullanıma sunulacak. Geçici bir çözüm olarakandroidx.compose.material
veandroidx.compose.material3
kitaplıklarınızı en son sürüme(1.1.0-alpha04) güncelleyin veyaandroidx.compose.foundation
sürümünü 1.4.0-alpha03 sürümüne geçirin.
Sürüm 1.4.0-alpha03
7 Aralık 2022
androidx.compose.material:material-*:1.4.0-alpha03
yayınlandı. 1.4.0-alpha03 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
@JvmDefaultWithCompatibility
ek açıklaması ekleniyor (I8f206)ModalDrawer
adresindekiSwipeable
API'lerine değişiklikler eklendi.DrawerState
öğesininanimateTo
değeriopen
veclose
yöntemleriyle değiştirildi ve ofset artık null değerine sahip. Ofseti zorunlu kılmak içinrequireOffset
değerini kullanın. (I3de9e)- Üst öğe kaydırma bilgilerini sorgulamaya bir Değiştirici API eklendi. (I2ba9d, b/203141462)
- Hareketler kaydırma etkinliklerine dönüştüğünde, basma etkileşimlerini doğru şekilde ertelemek için
Clickable
ürününde kullanılır. Clickables
öğesinin,Scrollable ViewGroup
içinde kullanıldığında dalgaları doğru şekilde geciktirmemesi düzeltildi.- Hareketlerin kaydırma etkinliklerine dönüşmesi durumunda basmaları doğru şekilde geciktirmek için Çekmeceler ve E-Tablolar güncellendi.
Hata Düzeltmeleri
- Yenileme durumu doğru olarak değiştirilmezse
onRefresh
çağrıldıktan sonraPullRefreshIndicator
ürününün takılmasına neden olan sorun düzeltildi. (Ie2416, b/248274004)
Bağımlılık Güncellemeleri
- Kullanıcı Arayüzü Oluşturma ve Materyal Oluşturma artık Yaşam Döngüsü 2.5.1'e bağlı. (I05ab0, b/258038814)
Sürüm 1.4.0-alpha02
9 Kasım 2022
androidx.compose.material:material-*:1.4.0-alpha02
yayınlandı. 1.4.0-alpha02 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Daha fazla esneklik için
awaitFirstDown
vewaitForUpOrCancellation
artıkPointerEventPass
kabul ediyor. (I7579a, b/212091796) - Malzeme ve malzeme3 Metin,
TextField
veOutlinedTextField
özelliklerineminLines
parametresi eklendi. Bu parametre, satır sayısı açısından bileşenin minimum yüksekliğinin ayarlanmasına olanak tanır (I4af1d) BasicTex
t veBasicTextField
bölümlerineminLines
parametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı olarak ayarlamaya olanak tanır (I24294, b/122476634)
Sürüm 1.4.0-alpha01
24 Ekim 2022
androidx.compose.material:material-*:1.4.0-alpha01
yayınlandı. 1.4.0-alpha01 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Hareket algılayıcıları için yeni bir yöntem (
awaitEachGesture()
) eklendi.forEachGesture()
işlevine benzer, ancak döngü hareketleri tamamenAwaitPointerEventScope
içinde çalışır. Böylece etkinlikler, yinelemeler arasında kaybolamaz. forEachGesture()
, etkinliklerin hareketler arasında kaybolmasına izin verdiği için artıkawaitEachGesture()
yerine kullanımdan kaldırıldı. (Iffc3f, b/251260206)
Sürüm 1.3
Sürüm 1.3.1
9 Kasım 2022
androidx.compose.material:material-*:1.3.1
yayınlandı. Sürüm 1.3.1 bu kaydetmeleri içerir.
Sürüm 1.3.0
24 Ekim 2022
androidx.compose.material:material-*:1.3.0
yayınlandı. 1.3.0 sürümü bu kaydetmeleri içerir.
1.2.0'dan bu yana önemli değişiklikler
Davranışı bozan değişiklik
- İletişim kutuları ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.
API Değişiklikleri
- Oluşturma işlevine (I29168) bir Yenilemek İçin Çekme bileşeni ekleyin.
- RangeSlider'da (I3b79a) değerler olan parametre adını değere değiştirin.
Sürüm 1.3.0-rc01
5 Ekim 2022
androidx.compose.material:material-*:1.3.0-rc01
yayınlandı. Sürüm 1.3.0-rc01 bu kaydetmeleri içerir.
Sürüm 1.3.0-beta03
21 Eylül 2022
androidx.compose.material:material-*:1.3.0-beta03
yayınlandı. Sürüm 1.3.0-beta03 bu kaydetmeleri içerir.
API Değişiklikleri
- Oluşturma işlevine Yenilemek için Çekme bileşeni ekleme (I29168)
Sürüm 1.3.0-beta02
7 Eylül 2022
androidx.compose.material:material-*:1.3.0-beta02
yayınlandı. Sürüm 1.3.0-beta02 bu kaydetmeleri içerir.
1.3.0-beta01 sürümünden bu yana değişiklik yok
Sürüm 1.3.0-beta01
24 Ağustos 2022
androidx.compose.material:material-*:1.3.0-beta01
yayınlandı. Sürüm 1.3.0-beta01 bu kaydetmeleri içerir.
Davranışı bozan değişiklik
İletişim kutuları ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.
Oluştur iletişim kutuları ve pop-up'lar için desteklenen maksimum yükseklik 30 dp'den 8 dp'ye düşürüldü. Bu değişiklik hem materyal hem de kullanıcı arayüzü özel iletişim kutularını ve pop-up'larını etkiler. Bu değişiklik, S altındaki Android sürümlerinde erişilebilirlik hatasını azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusu veya pop-up'taki içerikle etkileşim kurabilmesini sağlamak amacıyla yapılmıştır.
Yalnızca 8 dp'den daha yüksek düzeylere ayarlanmış özel bir iletişim kutusu veya pop-up uygulaması oluşturuyorsanız bu değişiklikten etkilenirsiniz. İletişim kutusu veya pop-up'ın yüksekliğini düşürebilirsiniz. Bu yeni davranışın kapsamı dışında kalmayı seçmeniz gerekiyorsa kendi iletişim kutunuzu veya pop-up'ınızı istediğiniz yükseklik grubuyla çatallamayı düşünün. Erişilebilirlik olumsuz yönde etkilenebileceğinden bu önerilmez. İletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından etkileşime geçilebilir 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
yayınlandı. 1.3.0-alpha03 sürümü bu kaydetmeleri içerir.
Sürüm 1.3.0-alpha02
27 Temmuz 2022
androidx.compose.material:material-*:1.3.0-alpha02
yayınlandı. 1.3.0-alpha02 sürümü bu kaydetmeleri içerir.
Harici Katkı
- İskele'de
FloatingActionButton
ile ilgiliAnimatedVisibility
sorunu düzeltin (I3a0ae, b/224005027)
Sürüm 1.3.0-alpha01
29 Haziran 2022
androidx.compose.material:material-*:1.3.0-alpha01
yayınlandı. 1.3.0-alpha01 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Değer olan parametre adını
RangeSlider
hücresinde değer olarak değiştir (I3b79a)
Hata Düzeltmeleri
- Daha anlamlı içerik açıklamaları sağlamak için rozet örneğini güncelleyin. (I10b9d)
Sürüm 1.2
Sürüm 1.2.1
10 Ağustos 2022
androidx.compose.material:material-*:1.2.1
yayınlandı. Sürüm 1.2.1 bu kaydetmeleri içerir.
Sürüm 1.2.0
27 Temmuz 2022
androidx.compose.material:material-*:1.2.0
yayınlandı. 1.2.0 sürümü bu kaydetmeleri içerir.
Sürüm 1.2.0-rc03
29 Haziran 2022
androidx.compose.material:material-*:1.2.0-rc03
yayınlandı. Sürüm 1.2.0-rc03 bu kaydetmeleri içerir.
- 1.2.0-rc02'den bu yana değişiklik yok.
Sürüm 1.2.0-rc02
22 Haziran 2022
androidx.compose.material:material-*:1.2.0-rc02
yayınlandı. Sürüm 1.2.0-rc02 bu kaydetmeleri içerir.
Sürüm 1.2.0-rc01
15 Haziran 2022
androidx.compose.material:material-*:1.2.0-rc01
yayınlandı. Sürüm 1.2.0-rc01 bu kaydetmeleri içerir.
API Değişiklikleri
- Oluşturma kitaplıklarındaki arayüzler artık jdk8 varsayılan arayüz yöntemleri (I5bcf1) kullanılarak oluşturulmuştur.
Hata Düzeltmeleri
- Rozeti, simge yerine etikete sabitlemek için başında simge sekmesini içeren günceller. (I90993)
Sürüm 1.2.0-beta03
1 Haziran 2022
androidx.compose.material:material-*:1.2.0-beta03
yayınlandı. Sürüm 1.2.0-beta03 bu kaydetmeleri içerir.
Hata Düzeltmeleri
BottomSheetScaffold
ürününün üst uygulama çubuğunun gölgesinin üzerinde çizim yapmasına neden olan hata düzeltildi.BottomSheetScaffold
artık Snackbar'ları yerleştirirken sayfanın durumunu da dikkate alıyor: Daraltılmış durumdayken Snackbar'lar e-tablonun ve FAB'nin üzerine yerleştirilir; genişletilmiş durumdayken Snackbar'lar sayfanın alt kısmına sabitlenir. (Ia80b5, b/187771422)
Sürüm 1.2.0-beta02
18 Mayıs 2022
androidx.compose.material:material-*:1.2.0-beta02
yayınlandı. Sürüm 1.2.0-beta02 bu kaydetmeleri içerir.
Sürüm 1.2.0-beta01
11 Mayıs 2022
androidx.compose.material:material-*:1.2.0-beta01
yayınlandı. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.
Yeni Özellikler
- Bu, 1.2'nin ilk beta sürümüdür.
API Değişiklikleri
OutlinedTextField
içinde kenarlık çizgisi çizenTextFieldDefaults.BorderStroke
composable,TextFieldDefaults.BorderBox
olarak yeniden adlandırıldı. (I5f295)
Sürüm 1.2.0-alpha08
20 Nisan 2022
androidx.compose.material:material-*:1.2.0-alpha08
yayınlandı. 1.2.0-alpha08 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
PointerInputChange
için kısmi tüketim (aşağı VEYA konum) kullanımdan kaldırıldı. Değişikliği tamamen kullanmak içinconsume()
kullanabilirsiniz. Başka birinin daha önce değişikliği yapıp yapmadığını belirlemek içinisConsumed
kullanabilirsiniz.PointerInputChange::copy()
artık her zaman yüzeysel bir kopya oluşturuyor. Bu,PointerInputChange
kopyalarının, kopyalardan biri kullanıldığında tüketileceği anlamına gelir. Bağlı olmayan birPointerInputChange
oluşturmak istiyorsanız bunun yerine oluşturucu kullanın. (Ie6be4, b/225669674)
Sürüm 1.2.0-alpha07
6 Nisan 2022
androidx.compose.material:material-*:1.2.0-alpha07
yayınlandı. 1.2.0-alpha07 sürümü bu kaydetmeleri içerir.
Sürüm 1.2.0-alpha06
23 Mart 2022
androidx.compose.material:material-*:1.2.0-alpha06
yayınlandı. 1.2.0-alpha06 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Surface API'deki (I56bcb) değişiklikleri takip etmek için tıklanabilir Card API'de yapılan güncellemeler
- Seçilebilir ve açılıp kapatılabilir yüzeyler için ek aşırı yüklenen işlevler ekleyen Material 2 Surface API güncellemeleri. (Ifcca5)
Sürüm 1.2.0-alpha05
9 Mart 2022
androidx.compose.material:material-*:1.2.0-alpha05
yayınlandı. 1.2.0-alpha05 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
LazyVerticalGrid
veLazyHorizontalGrid
artık kararlı. (I307c0)LazyVerticalGrid/LazyHorizontalGrid
ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen içe aktarma işlemlerinizi androidx.compose.foundation.lazy adresinden androidx.compose.foundation.lazy.grid olarak güncelleyin. (I2d446, b/219942574)WindowInsetsControllerCompat
için yalnızca bir Görünüme dayalı olma şeklinde yapılan önceki değişiklik geri alındı ve bazı pencere işaretlerini yönetmek için gerekli olan bir pencere de gerekli. Doğru pencerenin kullanıldığından emin olmak için (örneğin, Görünüm iletişim kutusundaysa)WindowCompat.getInsetsController
yerineViewCompat.getWindowInsetsController
kullanımdan kaldırıldı. (I660ae, b/219572936)- Metin:
includeFontPadding
artık varsayılan olarak devre dışı.includeFontPadding=false
nedeniyle ortaya çıkan kayma sorunları ele alınır ve uzun komut dosyaları için klip oluşturmamanız gerekir. (I31c84, b/171394808) - Çapraz eksen boyutlarını tanımlamak için yeni bir
LazyVerticalGrid
API eklendi (I17723)
Sürüm 1.2.0-alpha04
23 Şubat 2022
androidx.compose.material:material-*:1.2.0-alpha04
yayınlandı. 1.2.0-alpha04 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
Add support for filter chips
(I39a6e, b/192585545)TextFieldDecorationBox
veOutlinedTextFieldDecorationBox
eklendi. BunlarıBasicTextField
ile birlikte kullanarak, Materyal Tasarım metin alanlarını temel alan ancak daha fazla özelleştirme seçeneği sunan özel metin alanı oluşturabilirsiniz.- Metin alanlarındaki yatay ve dikey dolguları ayarlama yöntemi sağlandı. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168)
composable işlevin, kullanmak üzere tasarlanmadığı bir uygulayıcıyı hedefleme olarak adlandırıldığı durumların derleme zamanı raporlanmasına olanak tanıyan
ComposableTarget
,ComposableTargetMarker
veComposableOpenTarget
özellikleri eklendi.Çoğu durumda, ek açıklamalar, derleyici eklentisi tarafından tahmin edilebilir. Bu nedenle, bu ek açıklamaların doğrudan kullanılması nadir olmalıdır. Tahmin edilemeyen durumlar arasında özel uygulayıcı, soyut composable işlevleri (arayüz yöntemleri gibi), composable lambda olan alanlar veya genel değişkenler (yerel değişkenler ve parametreler tahmin edilir) oluşturup kullanma veya
ComposeNode
ya da ilgili bir composable işlevlerinin kullanılması yer alır.Özel uygulayıcılar için
ComposeNode
veyaReusableComposeNode
çağrısı yapan composable işlevlerin, işlev ve composable lambda parametre türleri için birCompoableTarget
ek açıklaması eklemesi gerekir. Bununla birlikte,ComposableTargetMarker
ile ek açıklama eklenen bir ek açıklama oluşturmanız ve daha sonra, doğrudanComposableTarget
yerine işaretlenen ek açıklamanın kullanılması önerilir.ComposableTargetMarker
ile işaretlenmiş bir composable ek açıklama, uygulayıcı parametresi olarak özellik sınıfının tam nitelikli adına sahip birComposbleTarget
ile eşdeğerdir.ComposableTargetMarker
kullanımıyla ilgili bir örnek içinanroidx.compose.ui.UiComposable
bölümüne bakın. (I38f11)
Sürüm 1.2.0-alpha03
9 Şubat 2022
androidx.compose.material:material-*:1.2.0-alpha03
yayınlandı. 1.2.0-alpha03 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Çip grubu örneği ekler (I97080, b/192585545)
Sürüm 1.2.0-alpha02
26 Ocak 2022
androidx.compose.material:material-*:1.2.0-alpha02
yayınlandı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Karmaşık bir mantığı olmayan mevcut yöntemlerin aşırı yüklenmesi olan yöntemlere
NonRestartableComposable
eklendi. Bu, çağrılan iç fonksiyonda tekrarlanan tüm parametreler için derleyici tarafından oluşturulan not kontrollerini (eşittir) azaltır. (I90490) - İşlem çipi desteği ekleme (I07100, b/192585545)
Sürüm 1.2.0-alpha01
12 Ocak 2022
androidx.compose.material:material-*:1.2.0-alpha01
yayınlandı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.
Bağımlılık Güncellemeleri
- Artık Kotlin
1.6.10
bağlı.
Harici Katkı
ModalBottomSheetState
artıkisSkipHalfExpanded
işaretine sahip. Oluşturucu aracılığıyla ayarlanabilir veya daha sonraModalBottomSheetState
öğesininisSkipHalfExpanded
özelliğitrue
olarak ayarlanarak güncellenebilir.isSkipHalfExpanded
değerinin güncellenmesi, sayfanın yeniden oluşturulmasına neden olur. (I18b86, b/186669820)
Sürüm 1.1
Sürüm 1.1.1
23 Şubat 2022
androidx.compose.material:material-*:1.1.1
yayınlandı. Sürüm 1.1.1 bu kaydetmeleri içerir.
Hata Düzeltmeleri
androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
içinNullPointerException
düzeltme (aosp/1947059, b/206677462)- Android'de panodan okuma yaparken pano içeriğinden kaynaklanan kilitlenme düzeltildi. (I06020, b/197769306)
LazyVerticalGrid
içinde sabit RTL (aosp/1931080, b/207510535)
Sürüm 1.1.0
9 Şubat 2022
androidx.compose.material:material-*:1.1.0
yayınlandı. 1.1.0 sürümü bu kaydetmeleri içerir.
1.0.0'dan bu yana önemli değişiklikler
- Android 12 Fazla kaydırma efekti için kararlı destek
- Dokunma hedefi boyutlandırmasıyla ilgili iyileştirmeler
- Compose 1.0'da, Materyal bileşenlerinin düzen alanlarını dokunma hedefi boyutu ile ilgili Materyal erişilebilirlik yönergelerine uygun olacak şekilde genişleteceğini unutmayın. Örneğin, Düğmenin boyutunu daha küçük olacak şekilde ayarlasanız bile düğmenin dokunma hedefi en az 48x48 dp boyutuna genişler. Bu, Oluştur Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirir ve Görünümler ile Oluştur'u birlikte kullandığınızda tutarlı davranış sağlar. Bu değişiklik, Materyal Oluşturma bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda, dokunma hedefi erişilebilirliğiyle ilgili minimum gereksinimlerin karşılanmasını da sağlar.
- Navigasyon Rayı için Kararlı Destek
- Daha önce deneysel olan bir dizi API'yi kararlı sürüme geçirir
- Kotlin'in daha yeni sürümleri için destek
Sürüm 1.1.0-rc03
26 Ocak 2022
androidx.compose.material:material-*:1.1.0-rc03
yayınlandı. Sürüm 1.1.0-rc03 bu kaydetmeleri içerir.
Davranış Değişiklikleri
Compose 1.0'da, Materyal bileşenlerinin düzen alanlarını Materyal erişilebilirlik yönergelerine dokunma hedefi boyutuna uyacak şekilde genişleteceğini unutmayın. Örneğin, Düğmenin boyutunu daha küçük olacak şekilde ayarlasanız bile düğmenin dokunma hedefi en az 48x48 dp boyutuna genişler. Bu, Oluştur Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirir ve Görünümler ile Oluştur'u birlikte kullandığınızda tutarlı davranış sağlar. Bu değişiklik, Materyal Oluşturma bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda, dokunma hedefi erişilebilirliğiyle ilgili minimum gereksinimlerin karşılanmasını da sağlar.
Hata Düzeltmeleri
- Minimum dokunma hedefi değiştiricileri incelenirken düzen denetleyicisi için daha iyi hata ayıklama bilgileri eklendi. (aosp/1955036)
Sürüm 1.1.0-rc01
15 Aralık 2021
androidx.compose.material:material-*:1.1.0-rc01
yayınlandı. Sürüm 1.1.0-rc01 bu kaydetmeleri içerir.
Hata Düzeltmeleri
Checkbox
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
yayınlandı. Sürüm 1.1.0-beta04 bu kaydetmeleri içerir.
Yeni Özellikler
- Kotlin
1.6.0
ile uyumlu olacak şekilde güncellendi
Sürüm 1.1.0-beta03
17 Kasım 2021
androidx.compose.material:material-*:1.1.0-beta03
yayınlandı. Sürüm 1.1.0-beta03 bu kaydetmeleri içerir.
Sürüm 1.1.0-beta02
3 Kasım 2021
androidx.compose.material:material-*:1.1.0-beta02
yayınlandı. Sürüm 1.1.0-beta02 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Dalgalar ve diğer göstergeler artık indirme etkinliği için her zaman gecikmeli olmak yerine, yalnızca bir Modifier.scrollable() kapsayıcısının içinde olduklarında gecikecek. (Ibefe0, b/203141462)
Sürüm 1.1.0-beta01
27 Ekim 2021
androidx.compose.material:material-*:1.1.0-beta01
yayınlandı. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.
Yeni Özellikler
- Dalgalar artık fareyle üzerine gelme ve odaklanma durumlarını desteklemektedir. Bu nedenle, Düğme gibi bir bileşenin üzerine gelindiğinde / odaklanıldığında artık doğru durum yer paylaşımı gösterilecektir.
Sürüm 1.1.0-alpha06
13 Ekim 2021
androidx.compose.material:material-*:1.1.0-alpha06
yayınlandı. 1.1.0-alpha06 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Düzen için, verimlilik artırılarak çocuksuz bir aşırı yükleme eklendi (Ib0d9a)
ExposedDropdownMenu
öğesinin, içindeTextField
veDropdownMenu
ileExposedDropdownMenuBox
temel alınarak uygulanması (If60b2)dismissOnOutsideClick
, desteği sonlandırılmış olandismissOnClickOutside
yerinePopupProperties
etiketine eklendi. Yeni mülk, tıklama konumunu ve bağlantı sınırlarını alarak oncloseRequest'in çağrılıp çağrılamayacağı konusunda daha hassas kontrol sağlar. Örneğin bu, sabite yapılan dokunuşlar için çapanın kapatılmasını önlemek için yararlı olabilir.updateAndroidWindowManagerFlags
,PopupProperties
bölümüne eklendi ve pop-up tarafından Android WindowManager'a geçirilen işaretler üzerinde alt düzey kontrol olanağı sunuyor. Lambda parametresi, WindowManager flag'leriyle sonuçlanan PopupProperties değerlerinden hesaplanan işaretler olacaktır: Ör. odaklanılabilir. Lambda'nın sonucu, Android WindowManager'a aktarılacak son flag'ler olur. Varsayılan olarak, updateAndroidWindowManagerFlags parametrelerden hesaplanan işaretleri değiştirmez. Bu API, yalnızca pop-up'ın çok belirli davranış gereksinimlerinin olduğu durumlarda dikkatli kullanılmalıdır. (I6e9f9)
Sürüm 1.1.0-alpha05
29 Eylül 2021
androidx.compose.material:material-*:1.1.0-alpha05
yayınlandı. 1.1.0-alpha05 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Erişilebilir bir dokunma hedefi olmayan Malzeme bileşenleri için minimum dokunma hedefi boyutlandırması ekler. Bu durum, yeterli büyüklükte bir dokunma hedefine sahip olduklarından emin olmak için bileşenlerin etrafında fazladan boşluk ekler. Bu durum, söz konusu bileşenlerin boyutunun görsel boyutları olduğunu varsayan ve dokunma hedefi boyutunu hesaba katmayan mevcut kullanıcı arayüzlerini değiştirebilir. Bir hiyerarşide bu davranışı devre dışı bırakmak için yerel deneysel
LocalMinimumTouchTargetEnforcement
bileşimini kullanabilirsiniz. Ancak bunun amacı, mevcut kullanıcı arayüzlerini yeni minimum boyutu hesaba katacak şekilde güncellerken yalnızca geçici bir kaçış yoludur. (I9b966, b/149691127, b/171509422) - Deneysel TextFieldColorsWithIcons arayüzü eklendi ve TextFieldColors genişletilerek engagementSource'un leadColor ve sondakiColor'a eklenmesiyle genişletildi. Bu, TextField'in görünümünü odak durumuna göre değiştirmeyi sağlar. (I66923, b/198402662)
Sürüm 1.1.0-alpha04
15 Eylül 2021
androidx.compose.material:material-*:1.1.0-alpha04
yayınlandı. 1.1.0-alpha04 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
performGesture
veGestureScope
kullanımdan kaldırıldı. Bunların yeriniperformTouchInput
veTouchInjectionScope
aldı. (Ia5f3f, b/190493367)- Geliştiricilerin dokunma hedeflerinin, minimum erişilebilirlik değerlerini karşılayabilmesi için
SemanticsNode
bölümüne minimum dokunma hedefi boyutunu içerentouchBoundsInRoot
eklendi. (I2e14b, b/197751214)
Hata Düzeltmeleri
- Minimum dokunma hedefi amacıyla klibin dokunma hedefi sınırlarını klip bölgesinin dışına çıkarmasına izin verin. (I43e10, b/171509422)
- Ekran yoğunluğundan bağımsız olarak tek pikselli ayırıcılar çizmeyi desteklemek için
Divider
composable, kalınlık parametresindeDp.Hairline
değerine uyacak şekilde güncellendi. (I16ffb, b/196840810)
Sürüm 1.1.0-alpha03
1 Eylül 2021
androidx.compose.material:material-*:1.1.0-alpha03
yayınlandı. 1.1.0-alpha03 sürümü bu kaydetmeleri içerir.
Yeni Özellikler
- Oluşturma
1.1.0-alpha03
, Kotlin1.5.30
öğesine bağlı olacak şekilde güncellendi. (I74545)
API Değişiklikleri
- Kısaltılmış sınırları almak için test yöntemi eklendi. (I6b28e)
- Erişilebilirliği sağlamak amacıyla, anlambilim ve işaretçi girişinde kullanılması için ViewConfiguration'a minimum dokunma hedefi boyutu eklendi. (Ie861c)
Sürüm 1.1.0-alpha02
18 Ağustos 2021
androidx.compose.material:material-*:1.1.0-alpha02
yayınlandı. 1.1.0-alpha02 sürümü bu kaydetmeleri içerir.
Harici Katkı
- Kaydırma ofsetinin bir sabitleyicinin yuvarlama hatası içinde olduğu durumlarda ScrollableState davranışını düzeltin. (I03d39, b/191993377)
Sürüm 1.1.0-alpha01
4 Ağustos 2021
androidx.compose.material:material-*:1.1.0-alpha01
yayınlandı. Sürüm 1.1.0-alpha01 bu kaydetmeleri içerir.
API Değişiklikleri
- İsteğe bağlıFilter Quality parametresini kullanmak için kaynak ve hedef akışları tüketen
DrawScope#drawImage
yöntemi güncellendi. Bu, piksel tabanlı resimler için ölçeklendirildiğinde pikselleştirilmek üzere tasarlanmış piksel sanatı için faydalıdır. Biteş - QueryBox'un adı, CodedBox olarak değiştirildi, parametreler Rozet'in composable'ı kabul edecek şekilde değiştirildi. QuerydBox için tipik rozet içeriği olan Rozet bileşeni eklendi. (I639c6)
- NavigationRail bileşeni eklendi, kullanım bilgileri için dokümanlara ve örneklere bakın (I8de77)
Hata Düzeltmeleri
- Alta hizalı bir NavigationRail örneği ve Katalog uygulama demosu eklendi. (I3cffc)
- İletişim kutuları artık platform boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth değerini false olarak ayarlayın. (Iffaed, b/192682388)
- Katalog uygulamasına navigasyon raylı demosu eklendi. (I04960)
- Katalog uygulamasına rozet demosu eklendi. (If285d)
Sürüm 1.0
Sürüm 1.0.5
3 Kasım 2021
androidx.compose.material:material-*:1.0.5
yayınlandı. 1.0.5 sürümü bu kaydetmeleri içerir.
Hata Düzeltmeleri
- TüretilmişStateOf örneklerindeki kilitlenme izleme sorunu düzeltildi. (aosp/1792247)
Sürüm 1.0.4
13 Ekim 2021
androidx.compose.material:material-*:1.0.4
yayınlandı. 1.0.4 sürümü bu kaydetmeleri içerir.
Bağımlılık Güncellemeleri
- Kotlin'e (
1.5.31
) bağlı olarak güncellendi
Sürüm 1.0.3
29 Eylül 2021
androidx.compose.material:material-*:1.0.3
yayınlandı. 1.0.3 sürümü bu kaydetmeleri içerir.
Bağımlılık Güncellemeleri
- Kotlin'e (
1.5.30
) bağlı olarak güncellendi
Sürüm 1.0.2
1 Eylül 2021
androidx.compose.material:material-*:1.0.2
yayınlandı. 1.0.2 sürümü bu kaydetmeleri içerir.
Compose 1.0.2
sürümünü desteklemek üzere güncellendi. Oluşturulan 1.0.2
, Kotlin 1.5.21
ile hâlâ uyumlu.
Sürüm 1.0.1
4 Ağustos 2021
androidx.compose.material:material-*:1.0.1
yayınlandı. Sürüm 1.0.1 bu kaydetmeleri içerir.
Bağımlılık Güncellemeleri
- Kotlin
1.5.21
kaynağına bağlı olarak güncellendi.
Sürüm 1.0.0
28 Temmuz 2021
androidx.compose.material:material-*:1.0.0
yayınlandı. 1.0.0 sürümü bu kaydetmeleri içerir.
1.0.0'ın temel özellikleri
Bu, Compose'un ilk kararlı sürümüdür. Daha fazla bilgi için lütfen resmi Compose Sürüm bloguna göz atın!
Bilinen Sorunlar
Android Studio Bumblebee Canary 4 veya AGP
7.1.0-alpha04
/7.1.0-alpha05
kullanıyorsanız şu kilitlenmeyle karşılaşabilirsiniz:java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
Sorunu düzeltmek için
build.gradle
dosyanızda minSdkVersion değerini geçici olarak 24'ün üzerine çıkarın. Bu sorun, Android Studio Bumblebee ve AGP'nin7.1
sonraki sürümünde düzeltilecektir. (b/194289155)
Sürüm 1.0.0-rc02
14 Temmuz 2021
androidx.compose.material:material-*:1.0.0-rc02
yayınlandı. Sürüm 1.0.0-rc02 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- İletişim kutuları artık platform boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için
usePlatformDefaultWidth
politikasını false (yanlış) olarak ayarlayın. (Iffaed, b/192682388)
Sürüm 1.0.0-rc01
1 Temmuz 2021
androidx.compose.material:material-*:1.0.0-rc01
yayınlandı. Sürüm 1.0.0-rc01 bu kaydetmeleri içerir.
API Değişiklikleri
BadgeBox
bileşeni eklendi, kullanım bilgileri için dokümanlara ve örneklere bakın (I5e284)PopupProperties
adlı dokümandakiuseDefaultMaxWidth
,usePlatformDefaultWidth
olarak yeniden adlandırıldı. (I05710)- İletişim kutuları artık ekran genişliğinin tamamını kullanabiliyor. (I83929, b/190810877)
- Deneysel Aralık Kaydırma Çubuğu uygulaması eklendi (I2f4b3)
Hata Düzeltmeleri
- Malzeme Tasarımı özelliklerine uygun OutlinesTextField özellikleri için, etiket yer tutucu olarak kullanılırken etiket için hata rengi kullanılarak geçersiz giriş durduruldu. İkincisi, metin alanında giriş metni olmadığında ve metin alanı odakta değilse geçerlidir. Bu değişiklikle birlikte
TextFieldColors.labelColor()
işlevindekierror:Boolean
parametresinin anlamı da değişti: Etiket yer tutucu olarak kullanılıyorsa giriş geçersiz olsa bile artıkfalse
döndürülecek. (I45f78)
Sürüm 1.0.0-beta09
16 Haziran 2021
androidx.compose.material:material-*:1.0.0-beta09
yayınlandı. Sürüm 1.0.0-beta09 bu kaydetmeleri içerir.
API Değişiklikleri
- Kenarlığın şeklini özelleştirebilmek için OutlinesTextField'e Şekil parametresi eklendi (I8f39e, b/181322957)
- TextOverflow, satır içi sınıf olarak değiştirildi. (I433af)
Hata Düzeltmeleri
- BottomDrawer, BackdropScaffold ve ModalBottomSheetLayout'taki Scrim ile birlikte Color.Belirtilmemiş ayarı geçirildi (I2d899, b/182063309)
Eklenen Profil Kuralları
Bu sürüm, aşağıdaki oluşturma modüllerine (I14ed6) profil kuralları ekler:
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.temel
- androidx.compose.foundation-layout
- androidx.compose.malzeme
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.grafikler
- androidx.compose.ui.metin
- androidx.compose.ui.metin
- androidx.compose.ui.unit
- androidx.compose.ui.util
Profil kuralları nedir?
Bir kitaplığa ilişkin profil kuralları,
src/main
veya eşdeğer dizinde bulunan bir metin dosyasında (baseline-prof.txt
) belirtilir. Dosya, her satır için bir kural belirtir. Bu durumda kural, kitaplıktaki yöntemler veya sınıflarla eşleştirmeye yönelik 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.Bir yöntem kuralı aşağıdaki kalıba sahip olur:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
Sınıf kuralı da 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çinH
,S
veP
karakterlerinden bir veya daha fazlasını göstermektedir.<CLASS_DESCRIPTOR>
, hedeflenen yöntemin ait olduğu sınıfın tanımlayıcısıdır. Örneğin,androidx.compose.runtime.SlotTable
sınıfının tanımlayıcısıLandroidx/compose/runtime/SlotTable;
olur.<METHOD_SIGNATURE>
, yöntemin imzasıdır ve yöntemin adını, parametre türlerini ve döndürme türlerini içerir. Örneğin,LayoutNode
sitesindekifun isPlaced(): Boolean
yöntemiisPlaced()Z
imzasına sahiptir.Tek bir kuralın birden fazla yöntem veya sınıfı kapsaması için bu kalıplar joker karakterler (
**
,*
ve?
) içerebilir.
Kurallar ne işe yarar?
H
işaretine sahip bir yöntem, bu yöntemin "kullanışlı" bir yöntem olduğunu ve önceden derlenmesi gerektiğini gösterir.S
işaretine sahip bir yöntem, bu yöntemin başlangıçta çağrılan bir yöntem olduğunu ve derleme ve başlatma sırasında yöntemi yorumlama maliyetinden kaçınmak için önceden derlenmesi gerektiğini belirtir.P
işaretine sahip bir yöntem, bunun başlatmadan sonra çağrılan bir yöntem olduğunu gösterir.Bu dosyada bulunan bir sınıf, başlangıç sırasında kullanıldığını ve sınıf yükleme maliyetinden kaçınmak için yığına önceden ayrılması gerektiğini belirtir.
Nasıl çalışır?
- Kitaplıklar, AAR yapılarında paketlenecek bu kuralları tanımlayabilir. Ardından, bu yapıları içeren bir APK oluşturulduğunda bu kurallar birleştirilir ve birleştirilmiş kurallar, APK'ya özel küçük bir ikili ART profili oluşturmak için kullanılır. ART, özellikle ilk çalıştırmada uygulamanın performansını iyileştirmek amacıyla uygulamanın belirli bir alt kümesini önceden derlemek için APK cihazlara yüklendiğinde bu profilden yararlanabilir. Bunun, hata ayıklaması yapılabilecek uygulamalar üzerinde herhangi bir etkisi olmayacağını unutmayın.
Sürüm 1.0.0-beta08
2 Haziran 2021
androidx.compose.material:material-*:1.0.0-beta08
yayınlandı. Sürüm 1.0.0-beta08 bu kaydetmeleri içerir.
Yeni Özellikler
Davranışı Zarar Veren API Değişikliği
- DAVRANIŞ DURUMLARI: Kart artık tıklamaları tüketiyor ve
Card(Modifier.clickable)
aracılığıyla eklenen tıklamaların işlemsiz sayılıyor. Lütfen onClick'i kabul eden bir kartın yeni deneysel aşırı yüklemesini kullanın. (Ia8744, b/183775620)- Tıklamaları ve diğer tıklanabilir işlevleri ele alan yeni bir kart aşırı yüklemesi eklendi: identifier, engagementSource, etkin/devre dışı. Bu durumlarda Kart, dalga sinyalini kırpmayacağı için
Modifier.clickable
ile birlikte normal tıklanamaz bir kart kullanılamadı.
- Tıklamaları ve diğer tıklanabilir işlevleri ele alan yeni bir kart aşırı yüklemesi eklendi: identifier, engagementSource, etkin/devre dışı. Bu durumlarda Kart, dalga sinyalini kırpmayacağı için
- DAVRANIŞ DURUMLARI: Surface artık tıklamaları tüketiyor ve
Surface(Modifier.clickable)
aracılığıyla eklenen tıklamaların işlemsiz olduğuna işaret ediyor. Lütfen onClick'i kabul eden yeni deneysel Surface aşırı yüklemesini kullanın. (I73e6c, b/183775620)- Tıklamaları ve diğer tıklanabilir işlevleri şu şekilde işleyen yeni bir Yüzey aşırı yüklemesi eklendi: gösterge, engagementSource, etkin/devre dışı.
Modifier.clickable
ile normal, tıklanamayan bir yüzey kullanmak mümkün değildi, çünkü bu durumlarda yüzey, dalga sinyalini kırpmayacaktır.
- Tıklamaları ve diğer tıklanabilir işlevleri şu şekilde işleyen yeni bir Yüzey aşırı yüklemesi eklendi: gösterge, engagementSource, etkin/devre dışı.
API Değişiklikleri
FabPosition
, gelecekte olası genişletmeyi desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb)- Yeni enum değerleri eklendiğinde ifadelerle ilgili olası sorunları önlemek için enum kullanımları satır içi sınıflarda yeniden düzenlendi. (I2b5eb)
- Kaydırma / sürükleme sırasında dalga gösterilmesini önlemek için tıklanabilir / açılabilir öğe için bir dokunma zaman aşımı ekler (Ia2704, b/168524931)
- ContentDescription ve Metin anlamları özellikleri artık tek değerler değil, listeler. Bu sayede, birleştirme yerine oldukları gibi birleştirilebilirler. Ayrıca bu değişikliklerden yararlanmaları 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ştirildiFocusState
sıralamasıFocusState
arayüzüyle değiştirildi (Iccc1a, b/187055290)- View-backed ripple uygulaması kararlı hale geldiğinden
LocalRippleNativeRendering
kaldırıldı (I7fab3, b/188569367)
Hata Düzeltmeleri
Modifier.onGloballyPositioned()
, tüm değiştiriciler uygulandıktan sonra düzen koordinatlarını değil, değiştirici zincirinde bu değiştiricinin koordinatlarını raporlayacak şekilde değiştirildi. Bu, artık değiştiricilerin sırasının, hangi koordinatların raporlanacağını etkilediği anlamına gelir. (Ieb67d, b/177926591)- Mevcut Compose Material kataloğuna BENİOKU işlevi eklendi. (If9191)
Sürüm 1.0.0-beta07
18 Mayıs 2021
androidx.compose.material:material-*:1.0.0-beta07
yayınlandı. Sürüm 1.0.0-beta07 bu kaydetmeleri içerir.
API Değişiklikleri
- Artık Gezinme Oluşturma Aracı'nda rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor. (I22beb, b/172823546)
Sürüm 1.0.0-beta06
5 Mayıs 2021
androidx.compose.material:material-*:1.0.0-beta06
yayınlandı. Sürüm 1.0.0-beta06 bu kaydetmeleri içerir.
API Değişiklikleri
- Ripple,
RippleDrawable
Android cihazlarda dahili olarak kullanmak için taşındı. Bu, dalga animasyonlarının RenderThread'de gerçekleşeceği ve böylece, kullanıcı arayüzü iş parçacığı yüklenmekteyken (örneğin, ekranlar arasında gezinirken) bile sorunsuz bir şekilde çalışacağı anlamına gelir. Bu durum, dalganın API yüzeyini değiştirmez ancak bu değişiklik sonucunda davranış değişiklikleri ortaya çıkabilir. Taşıma işlemine yardımcı olmak içinLocalRippleNativeRendering
eklendi. CompositionLocalProvider içindeki önceki ripple uygulamasını kullanmak için bu CompositionLocal öğesinefalse
değeri sağlayın. Bu API geçicidir ve gelecekte kaldırılacaktır. Bu nedenle, bu API'yi kullanmanıza neden olan sorunlarla karşılaşırsanız lütfen hata bildiriminde bulunun. (I902f8, b/168777351, b/183019123) - Erişilebilirlik hizmetleri için koleksiyonu ve öğelerini işaretlemeye olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017)
- Geçersiz giriş içeren bir düğümün işaretlenmesine olanak tanıyan
error
Erişilebilirlik API'si eklendi (I12997, b/180584804, b/182142737)
Hata Düzeltmeleri
- Compose Materyal kataloğu inset uygulaması şu adresten güncellendi: https://github.com/google/accompanist/pull/365. (I25dc3)
- ağırlık(fill = false) değerine sahip Satır ve Sütun alt öğeleri artık üst öğenin mevcut ana eksen alanının tamamını doldurmasını sağlamıyor. (Ied94d, b/186012444, b/184355105)
Sürüm 1.0.0-beta05
21 Nisan 2021
androidx.compose.material:material-*:1.0.0-beta05
yayınlandı. Sürüm 1.0.0-beta05 bu kaydetmeleri içerir.
Hata Düzeltmeleri
- Mevcut Materyal Oluşturma kataloğuna bileşen karo resimleri, tema seçici ve daha spesifik menü URL'leri eklendi. (I9b58e)
Sürüm 1.0.0-beta04
7 Nisan 2021
androidx.compose.material:material-*:1.0.0-beta04
yayınlandı. Sürüm 1.0.0-beta04 bu kaydetmeleri içerir.
API Değişiklikleri
- API DEĞİŞİKLİĞİ:
DrawerState
durumu, deneysel slideableState'te artık desteklenmemektedir.- API DEĞİŞİKLİĞİ:
BottomDrawerState
, zaten Deneysel BottomDrawer bileşeniyle (I81114, b/181656094) eşleştirmek için artık Deneysel olarak işaretlendi
- API DEĞİŞİKLİĞİ:
SoftwareKeyboardController
üzerindekihideSoftwareKeyboard
veshowSoftwareKeyboard
öğelerini sırasıylahide()
veshow()
olarak yeniden adlandırın.- LocalYazılımKlavyeController için CompositionLocal arayüzünün tam sürümünü sağlayın ve bu arayüzün ayarlanmasını sağlayın (özellikle testlerde yararlıdır) (I579a6)
- LiveRegion Accessibility API eklendi. Düğüm canlı bölge olarak işaretlenmişse erişilebilirlik hizmetleri, kullanıcıyı değişiklikleri hakkında otomatik olarak bilgilendirir (Idcf6f, b/172590946)
Hata Düzeltmeleri
- Mevcut modüle Compose Material kataloğunun uygulanması eklendi. Şu anda eksik olan: bileşen karo resimleri, tema seçici (sonraki değişikliklere eklenecek). (Ie7a94)
Sürüm 1.0.0-beta03
24 Mart 2021
androidx.compose.material:material-*:1.0.0-beta03
yayınlandı. Sürüm 1.0.0-beta03 bu kaydetmeleri içerir.
API Değişiklikleri
DefaultMonotonicFrameClock
desteği sonlandırıldı.MonotonicFrameClock
olmadanwithFrameNanos
veyaRecomposer.runRecomposeAndApplyChanges
çağrılırsaIllegalStateException
atılacak. (I4eb0d)- Sekmelerde simge ve satır içi metin görüntülemeyi desteklemek için yeni bir API
LeadingIconTab
öğesi eklendi. (I23267)
Harici Katkı
- [Jossi Wolf'tan]
BottomDrawer
, çekmece yuvasının içeriğini artık sarmalıyor. Üst öğe sonsuz yüksekliğe sahip olduğundaBottomDrawer
,IllegalStateException
atmaz. Alt çekmece artık üst çekmecenin% 50'sinden küçükse genişletilmiş durumda açılır.BottomDrawerState
veModalBottomSheetLayoutState
etrafındaki dokümanlar güncellendi.BottomDrawerState#isOpen
açık veya genişletilmiş durumdaysa şimdi true değerini döndürür. (I87241)
Sürüm 1.0.0-beta02
10 Mart 2021
androidx.compose.material:material-*:1.0.0-beta02
yayınlandı. Sürüm 1.0.0-beta02 bu kaydetmeleri içerir.
API Değişiklikleri
- TextField'de önceki
SoftwareKeyboardController
arayüzünün yerini alacak yeniLocalSoftwareKeyboardController
bileşimi yerel API'si eklendi. (I5951e, b/168778053)
Hata Düzeltmeleri
- Deneysel API'lerin herkese açık kullanımıyla ilgili kısıtlamaları zorunlu kılın (I6aa29, b/174531520)
- TopAppBar ve BottomAppBar için varsayılan yatay hizalama, Satır ile tutarlı olarak (Ib2dc7) Başlangıç olarak değiştirildi
- Şu anda mevcut entegrasyon testi demolarında iç içe yerleştirilmiş olan Compose Material kataloğu için yeni modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
androidx.compose.ui:ui
artık AppCompat veya Fragment'a bağlı değil. Uygulamanızda ComposeView kullanıyorsanız ve Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3 ve / veya Fragment 1.3 veya sonraki sürümleri kullandığınızdan emin olun. Bu sürümler, ComposeView için gerekli yaşam döngüsünü ve kayıtlı durum sahiplerini doğru şekilde ayarlamak amacıyla gereklidir. (I1d6fa, b/161814404)
Sürüm 1.0.0-beta01
24 Şubat 2021
androidx.compose.material:material-*:1.0.0-beta01
yayınlandı. Sürüm 1.0.0-beta01 bu kaydetmeleri içerir.
Bu, Compose 1.0.0 Beta'nın ilk sürümüdür.
API Değişiklikleri
- Boyut değiştiricileri yeniden adlandırıldı. Değiştirici.genişlik/yükseklik/boyut, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Değiştirici.tercihWidth/PreferenceHeight/PreferenceSize, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)
- imageResource ve vectorResource artık ImageBitmap ve ImageVector tamamlayıcılarında uzantı işlevleridir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
- Yerleşik öğelere göre boyutlandırma değiştiricileri artık deneysel değildir. (I15744)
- Kaldırılan dp onayları (I798d2)
- Tüm metin alanlarından yazılım klavyesi geri çağırması kaldırıldı ve kısa süre içinde yeni bir API ile değiştirilecek. (Iae869, b/168778053)
- Switch, Onay Kutusu ve RadioButton işlem lambda'ları artık null özelliktedir. Tıklanabilir satırdaki onay kutusu örnekleri, bu özelliği kullanacak şekilde güncellendi. (If601b, b/171819073)
InteractionState
,[Mutable]InteractionSource
ile değiştirildi- Arayüzler, Etkileşim etkinliklerinin yayınlanmasından / toplamasından sorumludur.
interactionState = remember { InteractionState() }
öğesiniButton
veModifier.clickable()
gibi bileşenlere iletmek yerineinteractionSource = remember { MutableInteractionSource() }
kullanın.Interaction.Pressed in interactionState
yerine, InteractiveSource.collectIs PressedAsState() gibi uzantı işlevlerini kullanmanız gerekir.- Karmaşık kullanım alanları için EngagementSource.interactions akışını gözlemleyerek Etkileşimlerin akışını gözlemleyebilirsiniz. Daha fazla bilgi için EngagementSource belgelerine ve örneklerine bakın.
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- CompositionLocals'a (I53520) AccessibilityMananger arayüzünü ve LocalAccessibilityMananger'ı ekleme
- Kullanımdan kaldırılan LayoutKoordinatlar yöntemleri kaldırıldı, locationInParent ve boundsInParent özelliği yerine işlevi kullanın (I580ed, b/169874631, b/175142755)
- Kaydırma çubuğu artık etkin/devre dışı durumu destekliyor (I6d56b, b/179793072)
- CoreTextField gibi alt düzey metin bileşenlerinden giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
- AnimationEndCondition.Interrupted kaldırıldı. Animasyon kesilirse CancelException hatası verilir. (I2cbbc, b/179695417)
@ExperimentalRippleApi
kaldırıldı veRippleAlpha
, arayüz yerine özelliklere sahip bir sınıf olarak değiştirildi. (I6df7c)- Farklı durumlarda TextField ve OutlinesTextField'de kullanılan farklı renkleri temsil etmek için TextFieldColors arayüzü eklendi. Varsayılan uygulama için bkz. TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors.
- TextField ve OutlinesTextField alanındaki isErrorValue parametresi isError olarak yeniden adlandırıldı. (I831f9, b/171305338, b/168004067)
- Erişilebilirlik amacıyla Sekme veya RadioButton koleksiyonunu işaretlemeye olanak tanıyan seçim Grubu değiştiricisi ekleyin (Ie5c29)
LazyListState.animate ScrollToItem Ekle
Bu yöntem, sorunsuz bir şekilde listedeki belirli bir öğeye kaydırır. (I4bfd7)
ScrollableState.smoothScrollBy()
,animateScrollBy()
olarak yeniden adlandırıldıLazyListState.snapToItemIndex()
,scrollToItem()
olarak yeniden adlandırıldıScrollState.smoothScrollTo()
,animateScrollTo()
(I35ded) olarak yeniden adlandırıldı@ReadOnlyComposable
ile işaretlenen tüm composable'lar artık yalnızca diğer@ReadOnlyComposables
(I58961) için çağrı yaptıklarından emin olmak için derleme zamanı açısından doğrulanıyor.TargetAnimation API kaldırıldı. (If47d1, b/177457083)
Modifier.vertical Scroll()/Yatay Kaydırma() işlevinde kaydırma konumu artık Ints ile temsil ediliyor (I81298)
smooth ScrollBy ve ScrollBy yöntemlerinin paketleri
androidx.compose.foundation.gestures.*
olarak değiştirildi (I3f7c1, b/175294473)FlingConfig, FlingBehavior olarak yeniden adlandırıldı. Artık önceden tanımlanmış Decay'ler yerine askıya alma animasyonunun özelleştirilmesine olanak tanıyor. (I02b86, b/175294473)
Boyut değiştiricileri yeniden adlandırıldı. Değiştirici.genişlik/yükseklik/boyut, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Değiştirici.tercihWidth/PreferenceHeight/PreferenceSize, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)
defaultMinSizeConstraints defaultMinSize olarak yeniden adlandırıldı. (I4eaae)
Yön, temel paketine taşındı. VelocirtTracker, ui.gesture'dan ui.input.pointer'a taşındı. (Iff4a8, b/175294473)
drawerState.open() vedrawerState.close(), artık işlevleri askıya alıyor. Çağrı yapmak istediğiniz bestenin kapsamını almak için leadCoroutineScope() işlevini kullanın (I16f60, b/175294473)
Sağlayıcılar, CompositionLocalProvider olarak yeniden adlandırıldı
- Beste oluşturucu artık anahtar parametreleri kabul etmiyor ve kullanımdan kaldırıldı.
- currentCompositeKeyHash, composable üst seviye bir işlev yerine derlenebilir üst düzey bir mülke dönüştürüldü.
- CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı
- ComposableLambda, somut bir sınıf yerine bir arayüz haline getirildi ve artık tür parametrelerine sahip değil.
- ComposableLambdaN, somut bir sınıf yerine bir arayüz haline getirildi ve artık tür parametrelerine sahip değil.
- SnapshotFlow işlevi, androidx.compose.runtime ad alanına taşındı
- SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değil
@TestOnly
üst düzey clearRoots işlevi kaldırıldı. Artık gerekli değildir.- keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Bunlar artık gerekli değildir.
- Composer.collectKeySourceInfo bilgileri kaldırıldı. Artık gerekli değildir.
- isJoinedKey,joinKeyLeft vejoinKeyRight yöntemleri kaldırıldı. Bunlar artık gerekli değildir.
- Çeşitli üst düzey API'ler taşındı ve farklı dosyalara yeniden düzenlendi. Bu, Kotlin'in dosya sınıfı semantiği nedeniyle ikili program uyumluluğunu bozar ancak kaynak uyumluluğunu bozmaz. Bu nedenle çoğu kullanıcı için sorun olmayacaktır.
- (I99b7d, b/177245490)
Değiştirici.scrollable yeniden düzenlendi. Artık ScrollableController sınıfının yerine Kaydırılabilir arayüz kullanılıyor (I4f5a5, b/174485541, b/175294473)
Değiştirici.draggable artık basit bir lambda yerine DraggableState'i kabul ediyor. Önceden olduğu gibi aynı davranışı elde etmek için
rememberDraggableState { delta -> }
aracılığıyla durum oluşturabilirsiniz (Ica70f, b/175294473)ZoomableController.smoothScaleBy ve ZoomableController.stopAnimation, artık askıya alma işlevleri olarak adlandırılıyor. (I7f970, b/177457083)
Desteği sonlandırılan bazı API'ler silindi (Ice5da, b/178633932)
Aşağıdaki Material API değişiklikleri yapıldı:
- Varsayılan dolgunun özelleştirilmesine olanak tanımak için Top/BottomAppBar'a contentPadding parametresi eklendi.
- BackdropScaffold'deki parametreler, gerekli parametrelerin isteğe bağlı parametrelerden önce gelmesi için API yönergelerine uygun olacak şekilde yeniden sıralandı.
- BottomGezinmeItem kutusundaki
icon
parametresi,selected
veonClick
tarihinden sonra olacak şekilde taşındı. - BottomClicksItem öğesi içindeki
alwaysShowLabels
parametresialwaysShowLabel
olarak yeniden adlandırıldı. - Birkaç bileşendeki
bodyContent
parametre yalnızcacontent
olarak yeniden adlandırıldı. ButtonDefaults.buttonColors()
içindeki parametreler yeniden sıralandı. Parametrelerin türü değişmediği için bunun kodunuzda hataya neden olmayacağını lütfen unutmayın. Lütfen adlandırılmış parametreler kullandığınızdan veya sıralamayı manuel olarak güncellediğinizden emin olun. Aksi takdirde, kodunuz öncekiyle aynı şekilde çalışmaz.darkColors()
öğesinesecondaryVariant
parametresi eklendi. Bu renk, genellikle koyu temadakisecondary
ile aynıdır ancak tutarlılık ve daha fazla özelleştirme sağlar.- Yaygın olarak kullanılmadığı / faydalı olmadığı için ElevationDefaults veAnimationElevation() öğelerini herkese açık API yüzeyinden kaldırdık.
Slider
öğesindekionValueChangeEnd
,onValueChangeFinished
olarak yeniden adlandırıldı ve boş değer olarak değiştirildi.- Tutarlılık sağlamak için
Snackbar
öğesindekitext
parametresicontent
olarak yeniden adlandırıldı. - Varsayılan dolgunun özelleştirilmesine olanak tanımak için
DropdownMenuItem
öğesinecontentPadding
parametresi eklendi vecontent
,RowScope
öğesinde uzantı yapıldı. ModalDrawerLayout
adlı dosyaModalDrawer
olarak yeniden adlandırıldı.BottomDrawerLayout
adlı dosyaBottomDrawer
olarak yeniden adlandırıldı.- (I1cc66)
BasicTextField artık daha iyi özelleştirme için Renk yerine Fırçayı kabul ediyor (I83a36)
imageResource ve vectorResource artık ImageBitmap ve ImageVector tamamlayıcılarında uzantı işlevleridir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
Indication#createIndication(), Indication#rememberUpdatedIndication(EngagementState) olarak değiştirildi ve IndicationInstance#drawIndication() öğelerindeki EngagementState parametresini kaldırır. IndicationInstance, EngagementState değişikliklerine yanıt olarak animasyonları veya yazma durumunu değil, yalnızca görsel efektleri çizmekten sorumlu olmalıdır. Bu animasyonlar ve durum yazma işlemleri, bunun yerine
rememberUpdatedIndication()
içinde gerçekleştirilmelidir.Modifier.indication
tablosundakiindication
parametresi de gerekli bir parametre olarak değiştirildi. (Ic1764, b/152525426)
Hata Düzeltmeleri
- TextField'deki önceki SoftwareKlavyeController arayüzünün yerini alacak yeni LocalYazılımKlavyeController bileşimi yerel API'si eklendi. (I658b6, b/168778053)
Sürüm 1.0.0-alpha12
10 Şubat 2021
androidx.compose.material:material-*:1.0.0-alpha12
yayınlandı. 1.0.0-alpha12 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Modifier.pointerInput, artık işaretçi girişi algılama eş anlamlısının yeni bağımlılıklar için ne zaman yeniden başlatılması gerektiğini belirtmek için hatırlama tuşlarının kullanılmasını gerektiriyor. (I849cd)
- BottomDrawerLayout ve ListItem @Deneysel MaterialApi olarak işaretlendi (Id766e)
- PaddingValues.Mutlak eklendi ve PaddingValues kabul eden API'lerde kullanılabilir. (Ia5f30)
- onImeActionPerformed desteği sonlandırıldı. Bunun yerine Klavye Eylemlerini kullanın (If0bbd, b/179071523)
- Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek amacıyla ImagePainter, paralel VectorPainter olarak BitmapPainter olarak yeniden adlandırıldı. (Iba381, b/174565889)
- Animatable.snapTo ve Animatable.stop, askıya alma işlevleri olarak değiştirildi (If4288)
- ComponentActivity.setContent, androidx.activity:activity-compose modülündeki androidx.activity.compose.setContent konumuna taşındı. (Icf416)
- Yıkım ve Copy() yöntemleri, nadiren kullanıldıkları bazı sınıflardan kaldırılmıştır. (I26702, b/178659281)
- ModalBottomSheetState'te (Ic914e) personexpand() veexpand() işlemlerini yapın
- Gösterge#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> Göstergesi değil, bir Gösterge içerecek şekilde değiştirildi. (I5eeea, b/157150564)
- AlertsDialog ve DropdownMenü şimdilik yalnızca Android olacak şekilde taşındı. Temel Pop-up'ın daha fazla yapılandırılması için DropdownMenü'ye PopupProperties parametresi eklendi. (I9c443)
- loadFontResource desteği sonlandırıldı. Bunun yerine fontResource öğesini kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource desteği kullanımdan kaldırılır. Bunun yerine PainterResource öğesini kullanın. (I6b809)
- DropdownMenü'den
toggle
vetoggleModifier
parametresi kaldırıldı,dropdownModifier
,dropdownOffset
vedropdownContent
parametreleri sırasıylamodifier
,offset
vecontent
olarak yeniden adlandırıldı. Dropdown Menu artık menünün konumu için üst düzenin kullanıldığıPopup
ile tutarlı bir şekilde davranıyor. Çoğu durumda,toggle
öğesiniDropdownMenu
öğesinin kardeş öğesi olacak şekilde taşıyabilir ve her ikisini de birBox
içine sarmalayabilirsiniz. Bu API'nin kullanımı hakkında daha fazla bilgi için dokümanlardaki güncellenmiş örneği inceleyin. (I884fb) - toIntPx(), roundToPx() olarak yeniden adlandırıldı. (I9b7e4, b/173502290)
- IntBounds, IntRect olarak yeniden adlandırıldı ve API iyileştirildi. (I1f6ff)
- Genişletme ve daraltma anlamsal işlemleri eklendi. ModalBottomSheetState'e (Ib5064) "expand ve "throughexpand" özelliği eklendi
- Değiştirici.dragmotionFilter desteği sonlandırıldı. Bunun yerine
Modifier.pointerInput { detectDragGestures (...)}
politikasını kullanın. Alternatif olarak, bir eksendeki sürüklemeler için Değiştirici.draggable'ı kullanın (I0ba93, b/175294473) - Ambients, Ambient -> CompositionLocal adıyla eşleşecek şekilde yeniden adlandırıldı. Ambiyanslar eskiden AmbientFoo olarak adlandırılıyorken CompositionLocals artık LocalFoo olarak adlandırılıyor. (I2d55d)
- Seçim, temele taşındı. (I7892b)
- Daha önce
state { 0 }
composable'ı kaldırıpremember { mutableStateOf(0) }
gibi kullanımları teşvik etme şeklimize benzer şekilde,savedInstanceState { 0 }
composable'ı da kaldıracağız. Bunun yerinerememberSaveable { mutableStateOf(0) }
kullanmanız gerekir. MutableState içinde kullanılan tür Paket'te depolanabiliyorsa dosya otomatik olarak kaydedilip geri yüklenir. Daha önce bir özel koruyucu nesnesi iletiyorsanız şimdistateSaver
parametresine sahip yeni birhatırla Kaydedilebilir öğe yüklemesi kullanmanız gerekir. Kullanım şu şekilde görünür:val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - ProgressBarRangeInfo eklendi.Erişilebilirlik için belirsiz ilerleme çubuklarının işaretlenmemesi (I6fe05)
@ComposableContract desteği sonlandırıldığı için yerine üç ek ek açıklama eklendi.
@ComposableContract(restartable = false)
,@NonRestartableComposable
oldu@ComposableContract(readonly = true)
,@ReadOnlyComposable
oldu@ComposableContract(preventCapture = true)
,@DisallowComposableCalls
oldu@ComposableContract(tracked = true)
kaldırıldı.- (I60a9d)
emptyContent()
ve(@Composable () -> Unit).orEmpty()
yardımcı programları, performans üzerinde artık olumlu bir etkisi veya değeri olmadığı için kullanımdan kaldırıldı (I0484d)receiveSavedInstanceState(), offerSaveable() olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)
Tasarruf, listSaver(), MapSaver(), autoSaver, androidx.compose.runtime.savedinstancestate değerinden androidx.compose.runtime.saveable (I77fe6) değerine taşındı.
RounderCornerShape, CutCornerShape ve CornerbasedShape parametreleri, şeklin rtl yönünde otomatik yansıtmasını desteklemek için soldan/sağdan başlangıç/bitiş olarak yeniden adlandırıldı. Otomatik yansıtmanın istenmediği durumlar için MutlakrounderCornerShape ve MutlakCutCornerShape kullanıma sunuldu. (I61040, b/152756983)
Bileşenin boyutunu ve düzenini etkilediği için bu parametreler sağlandığında / sağlanmadığında bileşenin davranışını daha iyi aktarmak için Sekme'nin
text
veicon
parametreleri ile BottomGezinmeItem'inlabel
parametresi null olacak şekilde değiştirildi. Şu anda metin / simge / etiket içermemesi içinemptyContent()
iletiyorsanız bunun yerinenull
kullanmalısınız. (I57ed4)contentColorFor renk parametresi, backgroundColor (I5bb67) olarak yeniden adlandırıldı
TabDefaults kullanımdan kaldırıldı ve TabRowDefaults ile değiştirildi. (I0f189)
Kaynak içeriğin rgb değerlerini değiştirmek için kullanılan ColorMatrix API kullanıma sunuldu. ColorFilter API bir arayüz olacak ve PathEffect'in uygulanmasına uygun olacak şekilde yeniden düzenlendi. (Ica1e8)
AnimasyonluDeğer/Kayan Öğe için destek sonlandırıldı. Lütfen bunun yerine Animatable'ı kullanın. (I71345, b/177457083)
SemanticsProperties.PaneTitle API'yi ekleyin. (I20d5a)
Etkin parametreler, Tıklanmamaları için Sekme ve BottomGezinmeItem öğelerine eklendi. BottomGezinme Öğesi, API'sinde düzen gereksinimlerini daha iyi ifade etmek için RowScope.BottomGezinmeItem olarak değiştirildi. (Id683d)
TapHareketFilter, doubleTapHareketFilter, long PressHareketFilter ve pressIndicaitonmotionFilter kullanımdan kaldırılmıştır. Bunun yerine Değiştirici.clickable veya Modifier.pointerInput değişkeni kullanın. (I6baf9, b/175294473)
Şekil'in createOutline öğesine layoutDirection parametresi ekleyin. Bu, düzen yönüne duyarlı şekiller oluşturulmasına olanak tanır. (I57c20, b/152756983)
Recomposer.current()
kaldırıldı. [Abstract]ComposeView artık varsayılan olarak pencere için ViewTreeLifecycleOwner tarafından desteklenen, geç oluşturulan, pencere kapsamlı Recomposer'ları içerir. Ana makine yaşam döngüsü durdurulurken yeniden beste vewithFrameNanos tabanlı animasyon çizgileri duraklatılır. (I38e11)
Hata Düzeltmeleri
- Simgenin ölçeği, uygulanan boyut değiştiricilere uygun şekilde boyutuna sığacak şekilde artırılacak. Örneğin,
Icon(.., modifier = Modifier.size(50.dp)
artık 50x50 dp boyutunda bir alan çizer. (Ib2ba9, b/178796190)
Sürüm 1.0.0-alpha11
28 Ocak 2021
androidx.compose.material:material-*:1.0.0-alpha11
yayınlandı. Sürüm 1.0.0-alpha11 bu kaydetmeleri içerir.
API Değişiklikleri
- Bazı Material API'leri artık
@Experimental
değil (I5d20e) olmaya teşvik ediyor - Resim ve Simge'ye içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine (I2ac4c) açıklama sağlamak için kullanılır
- Materyal durum bilgili parametre arayüzlerini,
State<T>
değerini döndüren @Composable işlevlerine sahip olacak şekilde değiştirir. Animasyonlu öğeleri bir duruma dönüştürmeyi kolaylaştırmak içinAnimatable.asState()
ekler. Ayrıca, animasyonluElevation değerini, Animatable'da askıya alma uzantısı olarak değiştirir. (If613c) - Snackbar, SnackbarHost, SnackbarHostState artık
@ExperimentalMaterialAPI
değil (Id1fb5) - Tipografi, Şekiller ve TabPosition değerlerini artık veri sınıfı olmayacak şekilde değiştirir. Oluşturulanların yerine Tipografi ve Şekiller için kopyalama işlevi ekler. (I40037)
- Daha önce kullanımdan kaldırılan bazı Materyal API'ler (Ifaa25) silindi
Hata Düzeltmeleri
- SideEffect ve DisposableEffect API'leri (If760e) yerini alarak onCommit, onDispose ve onActive desteği sonlandırılmıştır.
- TransitionDefinition tabanlı geçiş kullanımdan kaldırıldı (I0ac57)
- UpdateTransition'da İlk Durum artık destekleniyor (Ifd51d)
- WithConstraints BoxWithConstraints olarak yeniden düzenlendi ve Foundation.layout öğesine taşındı. (I9420b, b/173387208)
Askıya alınmadan önce
Artık kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmamış sürümlerini kullanımdan kaldırıyor ve/veya kaldırıyoruz. (A9 kez verilmiş)
Askıya alınmayan smooth ScrollBy seçeneğini kullanımdan kaldırın. Artık, kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmamış sürümlerini kullanımdan kaldırıyoruz. (I12880)
ComposeTestRule
öğesini genişleten veComposeTestRule
öğesinden kaldırılansetContent
öğesini tanımlayanComposeContentTestRule
kullanıma sunuldu.ComposeTestRule
döndüren ve sizin için bir Etkinlik başlatmayancreateEmptyComposeRule()
fabrika yöntemi eklendi. Bunu testiniz sırasında Etkinliğinizi başlatmak istediğinizde (ör.ActivityScenario.launch
(I9d782, b/174472899) kullanarak) kullanınButton ve floatingActionButton'da kullanılan dalga, artık AmbientIndication aracılığıyla yeni bir Gösterge sağlanarak özelleştirilemez. Bu, hiçbir zaman bu bileşenleri özelleştirmek için tasarlanmamıştı ve şimdi bu bileşenleri diğer Materyal bileşenlerle tutarlı hale getiriyor. Bir uygulamadaki dalgaları özelleştirmek için Dalga Teması'na göz atın. (I546c5)
animasyonluAsState artık animasyonluFooAsState. Burada Foo ise animasyon uygulanan değişkenin türüdür. Ör. float, Dp, Offset vb. (Ie7e25)
BasicTextField,
decorationBox
adlı yeni bir parametre aldı. Metin alanına simge, yer tutucu, etiket vb. süslemeler eklemenizi ve bunun isabet hedef alanını genişletmeyi sağlar. (I16996)Malzeme metin alanının genişliğinin 280.dp'den (I78373) daha az olmasını engelleyen bir hata düzeltildi
canDrag parametresi Değiştirici.draggable'dan kaldırıldı (Ic4bec, b/175294473)
Kaçınılması gerektiği için displaySize değerini kaldırın. Genellikle onRoot() veya pencere boyutunun boyutunu kullanmak daha iyidir. (I62db4)
Yüzey artık birden fazla düzene sahip alt öğelere sahip olabilir. (I66a92, b/144488459)
in Verify ve bestReference() yöntemi desteği sonlandırılarak, sırasıyla currentRecomposeScope ve chooseCompositionReference yerine kullanılmaya başlandı. (I583a8)
PopupPositionProvider'ı genel koordinatları değil, pencereye bağlı koordinatları kullanacak şekilde değiştirir. parentGlobalBounds'u anchorBounds olarak yeniden adlandırır ve windowGlobalBounds'u
windowSize: IntSize
olarak değiştirir (I2994a)Süre ve Çalışma Süresi, Uzun milisaniye olarak değiştirilir ve bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını ortadan kaldırır. (Ia33b2, b/175142755, b/177420019)
FlingConfig'i kabul eden hareketlifloat.fling kaldırıldı. Lütfen bunun yerine askıda Animatable.animateDecay kullanın. (I4659b, b/177457083)
Artık bestenin dışında tıklanabilir, geçiş yapılabilir ve seçilebilir hale getirilebilir (I0a130, b/172938345, b/175294473).
Yumuşak geçiş işlevsel bir arayüz olarak değiştirildi (Ib14e5)
ScrollableColumn/Row kullanımdan kaldırıldı. ScrollableColumn kullanımı, büyük bir kayan içeriğiniz olan LazyColumn ile karşılaştırıldığında daha az verimlidir, çünkü LazyColumn ile yalnızca görünür öğeleri oluşturabiliyoruz/ölçebiliyor/çizebiliyoruz. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunların yerine LazyColumn ve LazyRow kullanımlarını teşvik etmeye karar verdik. Kullanıcılar hâlâ tembel davranışa ihtiyaç duymadıklarına karar vererek değiştiricileri doğrudan şu şekilde kullanabilirler: Column(Modifier.vertical Scroll(remember ScrollState())) (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 bunları kullandığınızda manuel olarak içe aktarmanız 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)
Küresel koordinat yöntemleri kullanımdan kaldırıldı ve yeni pencere tabanlı koordinat yöntemleri geliştirildi. (Iee284)
İnceleme etkinleştirildiğinde grafik katmanı değiştiricisi ekleyen Değiştirici.toolingGraphicslayer eklendi. (I315df)
FocusRequester.createRefs, değişebileceği için deneysel olarak işaretlendi. (I2d898, b/177000821)
SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı.stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. Accessibility ScrollState, ScrollAxisRange olarak yeniden adlandırıldı. YatayErişilebilirlikKaydırmaState, yatay Kaydırma AxisRange olarak yeniden adlandırıldı. verticalAccessibility ScrollState, dikey Kaydırma AxisRange olarak yeniden adlandırıldı. (Id3148)
Testlerde TestCoroutineDispatcher'dan yararlanın (I532b6)
Vektör grafiklerinin köküne uygulanan tonlamanın ayrıştırılmasını desteklemek üzere vektör grafikleri API'si güncellendi. (Id9d53, b/177210509)
Sürüm 1.0.0-alpha10
13 Ocak 2021
androidx.compose.material:material-*:1.0.0-alpha10
yayınlandı. 1.0.0-alpha10 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Hız, bileşen parçalarına ve matematiksel işlemlere sahip olacak şekilde değiştirilmiştir. (Ib0447)
@ExperimentalTesting
öğesi, benzer deneysel API ek açıklamalarıyla tutarlı olacak şekilde@ExperimentalTestApi
olarak yeniden adlandırıldı (Ia4502, b/171464963)- Konum, DpOfset olarak yeniden adlandırıldı ve getDISTANCE() (Ib2dfd) kaldırıldı.
- Color.takeOrElse() için Ranamed Color.useOrElse() (Ifdcf5)
- Temel Strings.kt öğesine açma/kapatma düğmesini ekleyin (I4a5b7, b/172366489)
- FlowRow ve FlowColumn desteği sonlandırıldı. Lütfen bunun yerine özel bir düzen kullanın. (I09027)
- Değiştirici.focus() ve Modifier.focusRequester() desteğine son verilmez. Bunun yerine Modifier.focusModifier() ve Modifier.focusReference()'ı kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
- NativeClass'ı arayüz modülüne taşıdı ve dahili hale getirdi. NativeClass'ın güncellenmiş kullanımları, "is MyClass" olacak şekilde uygulamalara eşittir. (I4f734)
Hata Düzeltmeleri
- Devre dışı bırakılan ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
animate()
, artıkanimateAsState()
ile değiştirilmiştir. Bu,T
yerineState<T>
değerini döndürür. Geçersiz kılma kapsamı, State değerinin okunduğu yere indirgenebileceği için bu sayede daha iyi performans elde edebilirsiniz. (Ib179e)- Semantics role API'yi ekleyin ve tıklanabilir, seçilebilir ve geçiş yapılabilir SemanticsModifier'a parametre olarak Rol ekleyin. Slider'ın da kullanabilmesi için Modifier.progressSemantics değiştirildi. (I216cd)
Sürüm 1.0.0-alpha09
16 Aralık 2020
androidx.compose.material:material-*:1.0.0-alpha09
yayınlandı. Sürüm 1.0.0-alpha09 bu kaydetmeleri içerir.
API Değişiklikleri
- Yerleşme animasyonunu manuel olarak tetiklemek ve Değiştirici.sDELETEable'da sürüklemek için API eklendi (Iaa17a, b/162408885)
- *ButtonConstants gibi nesneler, ButtonDefaults gibi varsayılanlarla bitecek şekilde yeniden adlandırıldı. Ayrıca, bu yeni nesnelerdeki özelliklerden gereksiz
default
ön eklerini de kaldırır. (Ibb915, b/159982740) Compose, composable çağrılar yapabilen özellik alıcılarını destekler. Bunun için sunulan destek kaldırılmayacak ancak bir özellik alıcısını @Composable olarak tanımlamak için kullanılan söz dizimi değişiyor.
Bunu yapmak için artık kullanımdan kaldırılan söz dizimi, mülkün kendisine ek açıklama eklemekti:
@Composable val someProperty: Int get() = ...
Bunu yapmak için şu anda doğru olan söz dizimi, mülkü alan kişiye açıklama eklemektir:
val someProperty: Int @Composable get() = ...
Her iki söz dizimi de bir süre boyunca çalışacaktır ancak kullanımdan kaldırılan eski söz dizimi, sonunda derleme hatasına dönüşecektir. (Id9197)
Materyal kitaplığının geri kalanına ihtiyaç duymadan etkileşimli bileşenler oluşturmaya olanak tanımak için ripple API'leri içeren
androidx.compose.material:material-ripple
kitaplığı eklendi. ricaRippleIndication'ın desteği sonlandırıldığı için bunun yerini hatırlamaRipple almıştır. (Ibdf11)
Hata Düzeltmeleri
- Ofset değiştiricilerdeki Lambda'lar artık Kayma yerine IntOffset değerini döndürüyor. (Ic9ee5, b/174137212, b/174146755)
Çizim ortamının boyut bilgilerinin mevcut olması durumunda geç yavaş bir gölgelendirici örneği oluşturmak için ShaderBrush yeniden düzenlendi. Bu, beste zamanında özel DrawModifier uygulamaları uygulamak zorunda kalmadan bir composable'ın tüm çizim sınırlarını kaplayan renk geçişleri tanımlamak için yararlıdır.
Gradyan nesnesinde fabrika yöntemlerinin tercih edilmesi için desteği sonlandırılan gradyan işlevi oluşturucu API'leri. (I511fc, b/173066799)
Değiştirici.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'in desteğini sonlandırın. Bunun yerine LazyColumn ve LazyRow'u kullanın (I5b48c)
Dp.VectorConverter, Position.VectorConverter vb. animation-core'a taşındı ve eski VectorConveters (If0c4b) desteği sonlandırıldı
Autofill API artık deneysel bir API olup etkinleştirilmesini gerektiriyor (I0a1ec)
FocusRequester örnekleri oluşturmak için yapı bozma bildirimleri ekleme (I35d84, b/174817008)
erişilebilirlikLabel, contentDescription olarak yeniden adlandırıldı. accessibilityValue, stateDescription olarak yeniden adlandırıldı. (I250f2)
Infinite RepeatableSpec oluşturmak için yeni infinite Repeatable işlevi (I668e5)
DropdownMenülerin konumlandırma davranışı, Materyal özelliklerine göre biraz değişti (I34c72, b/168594123)
TextFields için engagementState desteği eklendi. (I61d91)
Alt öğelerin anlamını temizlemek ve yenilerini belirlemek için Değiştirici.clearAndSetSemantics eklendi. (I277ca)
ContentDrawScope, DrawScope ile çalışacak şekilde kullanıcı arayüzü modülüne taşındı. (Iee043, b/173832789)
Sürüm 1.0.0-alpha08
2 Aralık 2020
androidx.compose.material:material:1.0.0-alpha08
, androidx.compose.material:material-icons-core:1.0.0-alpha08
ve androidx.compose.material:material-icons-extended:1.0.0-alpha08
serbest bırakıldı. 1.0.0-alpha08 sürümü bu kaydetmeleri 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çimde kullanılan renkleri özelleştirmek için AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
- Oluşturma yönergeleriyle tutarlılığı kontrol etmek üzere composable lambda parametresi adı ve konumu için lint denetimi eklendi.
Ayrıca, lint kontrolü ve rehberlik doğrultusunda, sondaki lambdaların adı olarak
children
kullanılan bazı API'ler decontent
ortamına taşındı. (Iec48e) - VectorAsset, ImageVector olarak yeniden adlandırıldı. API konseyi yönergeleri uyarınca VectorAsset, ImageVector'ın iç sınıfı olacak şekilde Builder olarak taşındı. Karşılaştırma için ImageVector.Builder bağlantısına, VectorAssetBuilder adında tür takma adı eklendi. (Icfdc8)
- ImageAsset ve ilgili yöntemler, ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
- Temel anlamsal özellikleri kullanıcı arayüzüne taşındı (I6f05c)
fun RippleIndication()
desteği sonlandırıldı ve diğer API'lerle tutarlılık içinrememberRippleIndication()
ile değiştirildi. (Id8e2c)- BasicTextField, TextField ve OutlinedTextField öğelerine singeLine parametresi eklendi. Metin alanını yatay olarak kaydırılabilir tek bir satır yapmak için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)
Hata Düzeltmeleri
- Anlamsal işlem ekleme işlemi Kapat (I2b706)
- DrawModifier API'leri androidx.compose.ui paketinden androidx.compose.ui.draw paketine taşındı. Desteği sonlandırılan API'lerden mevcut API'lere geçişe yardımcı olacak typealiases/helper yöntemlerini içerecek şekilde DrawModifier U güzelleştirilmiştir. (Id6044, b/173834241)
- Modifier.drawKatmanlar, Modifier.graphicsKatman olarak yeniden adlandırıldı. Ayrıca, API geri bildirimlerine göre ilgili sınıflar da GraphicsKatman olarak güncellendi. (I0bd29, b/173834241)
<T>
, SubcomposeLayout bildiriminden kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)- Çizimler'e kolaylık sağlamak amacıyla Değiştirici.scale/rotate API'leri eklendi.
Modifier.drawOpacity
adlı dosyaModifier.alpha
olarak yeniden adlandırıldıModifier.drawShadow
listesiModifier.shadow
olarak yeniden adlandırıldı (I264ca, b/173208140)
- Box'ın hizalama parametresi, contentHizalama olarak yeniden adlandırıldı. (I2c957)
- ofPx değiştiricileri, ofset olarak yeniden adlandırıldı. Artık State yerine lambda parametrelerini alıyorlar. (Ic3021, b/173594846)
- SweepGradientShader ve SweepGradientBrush API'leri kullanıma sunuldu. (Ia22c1)
- Oluşturulabilir işlevlerde Değiştirici parametreleri için lint kontrolü eklendi. Bu hata analizi kontrolü, parametrenin adını, döndürme türünü, varsayılan değerini ve sırasını Yazma yönergeleriyle tutarlılık açısından kontrol eder. (If493b)
- TextFieldValue API'si güncellendi
- TextFieldValue.composition salt okunur yapıldı
- geçersiz seçim aralığı (I4a675, b/172239032) nedeniyle kaldırıldı istisna
- Yeni bir
Modifier.drawLayer()
aşırı yüklemesi eklendi. Yeni bir GraphicslayerScope üzerinde bir lambda bloğu alır. Burada katman parametrelerini tanımlarken durum değişikliği gerçekleştiğinde yeniden düzenleme ve düzenleme adımını atlarsınız. DrawKatmanModifier, mantığınıplaceable.placeWithLayer()
LayoutModifier yöntemine (I15e9f, b/173030831) taşımaya hazırlanmak için artık dahilidir - Sonek olarak
Ambient
adını taşıyan ve desteği sonlandırılmış Ambiyanslar, diğer Ambients and Compose API kurallarına uyarak Ambient ön ekini taşıyan yeni özellikler eklendi. (I33440) - Değiştirici fabrikaların
@Composable
olarak işaretlenmek yerine dahili olarakandroidx.compose.ui.composed {}
kullanıp kullanmadığını kontrol etmek için lint denetimi eklendi. (I3c4bc) - Anlamsal bağımsız değişken birleştirmeAllDescendants, "mergeDescendants" olarak yeniden adlandırıldı. (Ib6250)
- Testlerde zaman kontrolü (TestAnimationClock ve kullanımları) artık deneysel (I6ef86, b/171378521)
- Eski kullanıcı arayüzü testi modülünü ve uçlarını (I3a7cb) kaldırın
- TextUnit.Inherit, TextUnit olarak yeniden adlandırıldı.Diğer birimlerle tutarlılık için belirtilmemiş. (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
serbest bırakıldı. 1.0.0-alpha07 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Vurgu, kullanımdan kaldırıldı ve AmbientContentAlpha ile değiştirildi. AmbientContentAlpha, hiyerarşinin tercih edilen içerik alfasını temsil eden, AmbientContentColor'ın tercih edilen içerik rengini temsil etmesi gibi daha basit bir soyutlamadır. Metin ve Simge artık AmbientContentAlpha'daki mevcut değeri varsayılan olarak kullanıyor. Bileşenlerinizde aynı etkiyi yaratmak için
color.copy(alpha = AmbientContentAlpha.current)
işlemini manuel olarak yapabilirsiniz. OfferEmphasis'i kullanmak yerine, doğrudan AmbientContentAlpha üzerinden bir değer sağlayabilir ve eski EmphasisLevels yerine ContentAlpha'daki yeni varsayılan seviyeleri kullanabilirsiniz. (Idf03e, b/159017896) - androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770) yerine androidx.compose.material.AmbientContentColor'ı ekler.
- androidx.compose.foundation.Text'in yerine üst düzey, temalı bir Metin bileşeni olarak androidx.compose.material.Text öğesini ekler. Temadan renk / metin stilini kullanmayan bir temel metin bileşeni için BasicText'i kullanın. (Ie6ae0)
- Metin Alanlarına maxLines eklendi (Ib2a5b)
- TextFields'i KlavyeSeçenekleri (Ida7f3) kabul edecek şekilde güncelleyin
- Yüzey artık yükselti bindirmeleri hesaplanırken mutlak (toplam) yüksekliği kullanır. Dolayısıyla, başka bir Yüzey'e iç içe yerleştirilmiş bir Yüzey, bindirmeyi çizmek için birleştirilmiş yüksekliği kullanır. (I7bd2b, b/171031040)
Hata Düzeltmeleri
captureToBitmap
,captureToImage
adlı kümeye taşındı. (I86385)- AmbientTextStyle, OfferTextStyle ve AmbientContentColor temelinin desteği sonlandırıldı. Bunun yerine Materyal kitaplığında mevcut olan yeni sürümleri kullanın. Materyal olmayan uygulamalar için bunun yerine, kendi bileşenlerinizde tüketilebilecek kendi tasarım sisteminize özel tema ambiyanslarını oluşturmalısınız. (I74acc, b/172067770)
- Foundation.Text desteği sonlandırılmış ve asset.Text ile değiştirildi. Temadan değer kullanmayan temel ve işlemsiz metin API'leri için androidx.compose.foundation.BasicText adresini ziyaret edin. (If64cb)
- Klavye Seçeneklerini ImeOptions olarak yeniden adlandırın (I82f36)
- Klavye Türü ve ImeAction, KlavyeSeçeneklerine taşındı (I910ce)
- BaseTextField desteği sonlandırıldı. Bunun yerine BasicTextField alanını kullanın. (I896eb)
- ExperimentalSubcomposeLayoutApi ek açıklaması kaldırıldı. SubcomposeLayout, artık @OptIn öğesi eklenmeden kullanılabilir (I708ad)
- FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine (Ied2e7) taşındı
- Simge API'si, sağlanan öğeyi veya resmi ColorFilter olmadan çizecek olası bir ton rengi olarak belirtilmedi. Daha önce, Renk ile tonlamayı göz ardı etmeye çalışılıyordu.Belirtilmediğinde, tonlama şeffaf bir renkle sonuçlanmakta ve sonuçta hiçbir şey oluşmamaktadır. (I049e2, b/171624632)
- relPaddingFrom, FILLFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin temel çizgilerine olan mesafeleri belirtmeyi kolaylaştırmak amacıyla FILLFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
- LaunchedTask, SideEffect ve DisposableEffect API'leriyle tutarlılık sağlamak amacıyla LaunchedEffect olarak yeniden adlandırıldı. En iyi uygulamaları teşvik etmek amacıyla, konu parametresi olmayan LaunchedEffect'e izin verilmez. (Ifd3d4)
- MeasureResult, MeasureScope dışına taşındı. (Ibf96d, b/171184002)
- Düzenle ilgili çeşitli semboller androidx.compose.ui'den androidx.compose.layout.ui'ye taşındı. (I0fa98, b/170475424)
Sürüm 1.0.0-alpha06
28 Ekim 2020
androidx.compose.material:material:1.0.0-alpha06
, androidx.compose.material:material-icons-core:1.0.0-alpha06
ve androidx.compose.material:material-icons-extended:1.0.0-alpha06
serbest bırakıldı. 1.0.0-alpha06 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- androidx.compose.foundation.Icon, androidx.compose.material.Icon konumuna taşındı. Materyal kitaplığını kullanmak istemiyorsanız Resim bileşenini / Değiştirici.paint() işlevini bir Painter ile de kullanabilirsiniz. (I9f622)
- Farklı eyaletlerdeki FAB'ler tarafından kullanılan yüksekliği göstermek için floatingActionButtonElevation ekler. Varsayılan uygulama (I2d4f5) için floatingActionButtonConstants.defaultElevation() konusuna bakın
- Bir Switch tarafından farklı durumlarda kullanılan renkleri göstermek için SwitchColors arayüzü eklendi. Bu renkleri özelleştirmek için SwitchConstants.defaultColors adresine bakın. (I93805)
- Farklı durumlarda düğmelerin kullandığı yüksekliği ve renkleri göstermek için ButtonElevation ve ButtonColors arayüzleri ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevleri inceleyin. (Ic5b7b)
- Bir RadioButton tarafından farklı durumlarda kullanılan renkleri göstermek için RadioButtonColors arayüzü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() konusuna bakın. (I74130)
- Bir onay kutusunun farklı durumlarda kullandığı renkleri göstermek için CheckboxColors arayüzü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için CheckboxConstants.defaultColors() konusuna bakın. (I7dbdb)
Hata Düzeltmeleri
- Malzeme bileşenleri, yüksekliği artık zIndex olarak ayarlamaz. Bu da aynı üst öğede daha büyük gölge boyutuna sahip alt öğenin, daha küçük olanın üzerine otomatik olarak çizilmeyeceği anlamına gelir. Bu tür bir davranışa ihtiyacınız varsa lütfen gerektiğinde Değiştirici.zIndex() işlevini manuel olarak ayarlayın (I70417, b/170623932)
- composable API'nin, bileşimler genelinde verileri kalıcı hale getirmek için dahili olarak "hatırladığından" yararlandığını daha iyi belirtmek amacıyla HatVectorPainter'ın yerine VectorPainter'ı kullanımdan kaldırın. (Ifda43)
- ComposeTestRule'da geçişleri etkinleştir; yanıp sönen imleci ComposeTestRule'dan etkinleştirmek için seçeneği kaldırın. (If0de3)
- CoreTextField'e tek satırlı klavye seçeneği eklendi (I72e6d)
- Compose'da nasıl kullanıldığını daha iyi ifade etmek için Radius API'yi CornerRadius olarak yeniden adlandırdı. Dokümanlar, negatif köşe yarıçaplarının sıfıra sabitlendiğini gösterecek şekilde güncellendi. (I130c7, b/168762961)
- DrawScope ve ContentDrawScope soyut sınıflar yerine arayüz olacak şekilde yeniden düzenlendi
- DrawScope uygulaması oluşturuldu ve CanvasDrawScope
- Bunun yerine CanvasScope kullanmak için DrawScope uygulamaları yeniden düzenlendi
- DrawScope için bağımlılıkları sarmalamak amacıyla DrawContext oluşturuldu
- DrawScope'ta (I56f5e) desteği sonlandırılmış yöntemler kaldırıldı
- 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
serbest bırakıldı. 1.0.0-alpha05 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Pop-up'lar ve iletişim kutuları artık üst pencereden FLAG_SECURE değerini devralıyor. Bunu açıkça yapılandırmaya yönelik seçenek de eklendi (I64966, b/143778148, b/143778149)
- Değiştirici.sDELETEable artık varsayılan olarak eyaletler için 56.dp eşiklerine sahiptir (Iab825, b/168610267)
- @Stable ile işaretlenen tüm yapı iskeletleri ScaffoldState'e taşınır. (I36645, b/168297016)
- Yapı İskelesi lambda parametrelerinden boş değer içeren türü kaldırır. Belirli bir parametre için içerik olmadığını göstermek üzere emptyContent() kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
contentColor() ve currentTextStyle() API'lerini kullanımdan kaldırır ve bunları sırasıyla AmbientContentColor ve AmbientTextStyle ambiyanslarla değiştirir. Geçerli değere, diğer ambiyanslarda olduğu gibi ambiyans özelliğinde
.current
kullanarak erişebilirsiniz. Bu değişiklik, tutarlılık ve aynı şeyi başarmak için birden çok yönteme sahip olmamanız amacıyla yapılmıştır. Ayrıca aşağıdaki ortam özelliklerini daha iyi tanımlayabilmek için bazı ambiyans özelliklerini de yeniden adlandırıyor:- ContentColorAmbient -> AmbientContentRenk
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels (AmbientEmfasi Seviyeleri)
- Dalga Teması (Ambient) -> Ambiyans Dalgası Teması (I37b6d)
Koyu temadaki yüzeylere uygulanan varsayılan yükseklik yer paylaşımının özelleştirilmesine / devre dışı bırakılmasına olanak tanıyan AmbientElevationOverlay'i ekler. (I5b74d)
Hata Düzeltmeleri
- Satır içi sınıflar için koruyucu değerlerinin standartlaştırılmasının bir parçası olarak Color.Unset (Renk Ayarlanmadı) değerini yeniden adlandırın.Diğer satır içi sınıflarla tutarlılık için belirtilmemiş (I97611, b/169797763)
- TextOverflow.None kullanıma sunuldu. Taşma değeri Yok olduğunda, Metin artık taşmayı işlemez ve gerçek boyutunu LayoutNode'a bildirir. (I175c9, b/158830170)
- LaunchInComposition, Compose API yönergeleriyle eşleşecek şekilde LaunchedTask olarak yeniden adlandırıldı (I99a8e)
- OnPositionedModifier, OnGloballyPositionedModifier olarak, onPositioned() onGloballyPositioned() olarak yeniden adlandırılır. (I587e8, b/169083903)
Sürüm 1.0.0-alpha04
1 Ekim 2020
androidx.compose.material:material:1.0.0-alpha04
, androidx.compose.material:material-icons-core:1.0.0-alpha04
ve androidx.compose.material:material-icons-extended:1.0.0-alpha04
serbest bırakıldı. 1.0.0-alpha04 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Durumu yükseltmeye ve durumu okumaya / kontrol etmeye olanak tanımak için durum bilgili Materyal bileşenlerinde EngagementState parametrelerini gösterir. (Iaca5f, b/168025711, b/167164434)
- Her bir durumda kullanılan renklerin tamamen özelleştirilmesinin yanı sıra isterseniz renklerin durumlar arasındaki animasyonunun değiştirilmesine olanak tanımak için RadioButton ve TriStateCheckbox üzerindeki
*color
parametrelerini değiştirir. Daha fazla bilgi için CheckboxConstants ve RadioButtonConstants'taki yeni animasyonluDefault* renk işlevlerine bakın. (I1c532) - allowBackdropState'i,BackdropScaffoldState'i hatırlayacak şekilde yeniden adlandırıp animasyon saati için ek bir parametre ekledik. BackdropScaffold parametresi backdropScaffoldState parametresi sadece scaffoldState olarak yeniden adlandırıldı. BackdropConstants, BackdropScaffoldConstants olarak yeniden adlandırıldı. (Ib644d)
- Deneysel BottomSheetScaffold bileşeni eklendi. (Ie02f0, b/148996320)
- Deneysel ModalBottomSheetLayout bileşeni eklendi. (Ic209e, b/148996320)
- ButtonConstants/floatingActionButtonConstants.defaultAnimatedElevation adını defaultElevation olarak yeniden adlandırır ve artık AnimasyonDeğeri yerine bir Dp değeri döndürüyor. (I5f3ed)
Hata Düzeltmeleri
- Birçok Graphics API'si güncellendi
- Ölçek ve döndürme dönüşüm API'leri, DrawScope ve DrawTransform'da x/y koordinatları için ayrı kayan noktalı parametreler yerine pivot koordinatını temsil edecek tek bir Offset parametresi kullanacak şekilde güncellendi
- Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı
- Yarıçap dokümantasyonu, eliptik bisikletin yanı sıra oval de
- Satır içi Yarıçap sınıfı için genel oluşturucunun doğrudan çağrılamayacağını, bunun yerine Yarıçap nesnelerinin işlev oluşturucuları aracılığıyla örneklendirilmesi gerektiğini gösteren dokümanlar eklendi
- topRight,bottomRight, bottomCenter vb. sorgulamak için RoundRect API'leri kaldırıldı.
- Rect.shift desteği sonlandırıldı ve Rect.translate'ye geçiş yapıldı
- roundRect.grow ve Rect.shrink API'leri kaldırıldı
- RoundRect.outerRect paketinin adı 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şlev yerine bir özellik olarak değiştirildi
- RoundRect oluşturucusu, x/y yarıçap değerleri için bağımsız parametreler yerine Yarıçap özelliklerini kullanacak şekilde güncellendi
- Kaynağı 0,0 olan Dikdörtgen olduğunu varsayan Boyut API'leri kaldırıldı
- Yarıçap'a yıkıcı bir API eklendi
- Çeşitli RoundRect uzantı işlevleri mülk olacak şekilde taşındı
- (I8f5c7, b/168762961)
- Foundation.Box desteği sonlandırıldı. Lütfen bunun yerine Foundation.layout.Box'ı kullanın. (Ie5950, b/167680279)
- Yığın, Box olarak yeniden adlandırıldı. Daha önce mevcut olan Box kullanımdan kaldırılarak, generate.foundation.layout içindeki yeni Box'a geçiş yapılacak. Yeni Box'ın davranışı, birden çok alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, bir Sütuna benzer davranışlarda bulunan önceki Box'tan farklıdır. (I94893, b/167680279)
- Box dekorasyon parametreleri kullanımdan kaldırıldı. Kutunuzda süslemeler/dolgular olmasını istiyorsanız bunun yerine Değiştiriciler'i kullanın (Modifier.background, Değiştirici.gider, Değiştirici.Dolgu) (Ibae92, b/167680279)
- Birçok Graphics API'si güncellendi
- DrawScope API'leri, 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ı belirtecek şekilde kapsamlı dönüşüm yöntemleriyle güncellendi
- ClipPath belgeleri, yuvarlatılmış dikdörtgen yerine Path'i işaret edecek şekilde güncellendi
- ClipPath'de sağ parametre için belgelerdeki boşluk 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 da aynı inset değerini sağlayan ek aşırı yükleme eklendi.
- Inset yönteminde, ekin 4 tarafa da uygulanacağını gösteren dokümanlar kaldırıldı
- Rect sınıfı için güncellenen dokümanlar
- Rect parametrelerindeki yorumlar, kdoc stiliyle eşleşecek şekilde güncellendi
- Rect.join ve Rect.expandToInclude kaldırıldı
- Rect.translate(offset) için aşırı yükleme oluşturuldu ve kullanımdan kaldırılan Rect.shift
- (If086a, b/167737376)
- Düzen kapsamlarının içeriklerinin statik içe aktarılmasını önledik (ör. RowScope'ta alignWithSiblings). Bunun yerine açık kapsam alternatifi kullanılmalıdır:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
Sürüm 1.0.0-alpha03
16 Eylül 2020
androidx.compose.material:material:1.0.0-alpha03
, androidx.compose.material:material-icons-core:1.0.0-alpha03
ve androidx.compose.material:material-icons-extended:1.0.0-alpha03
serbest bırakıldı. 1.0.0-alpha03 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
BottomNavigationItem
ürünününonSelect
parametresinionClick
(I91925, b/161809324) olarak yeniden adlandırır- BottomGezinmeItem ve Sekme'ye engagementState parametresini ekleyerek bu durumun kaldırılmasına ve bileşenin farklı durumlarda nasıl görüneceğini ayarlamanıza olanak tanır. (Ia3e9e, b/168025711)
- Düğmelerden
disabledBackgroundColor
vedisabledContentColor
parametrelerini kaldırır. Bunun yerine ButtonConstants içindeki yeni varsayılan renk işlevlerini kullanmanız gerekir. ContentColor / backgroundColor değerini zaten açık bir şekilde ayarlıyorsanız, bunun yerine bu varsayılan işlevleri kullanmanız ve hem etkin hem de devre dışı durumlarda rengin üzerine yazmamak için parametrelerin tümünü veya bazılarını özelleştirmeniz gerekir. (If9b52) - Metin alanının arka plan rengi, artık şeffaflık alfasını dolaylı olarak uygulamamaktadır. Bunun yerine, backgroundColor parametresiyle sağlanan herhangi bir renk doğrudan uygulanır. (Iecee9, b/167951441)
- InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
Modifier.swipeable
içindekiresistanceFactorAtMin
veresistanceFactorAtMax
parametreleri, tek bir direnç parametresiyle değiştirildi.SwipeableConstants
uygulamasına yeni birdefaultResistanceConfig
yöntemi eklendi. (I54238)- Button ve floatingActionButton için animasyonlu durum bilgili yükseltme desteği ekler. Yükseltme artık varsayılan ve basılmış durumlar arasında animasyon olarak gösterilir. Eyaletler arasındaki yüksekliği özelleştirmek için her durumda sabit bir Dp değeri ayarlamak yerine lütfen
ButtonConstants.defaultAnimatedElevation()
veFloatingActionButtonConstants.defaultAnimatedElevation()
kullanın. (I37925) - Etiket, TextField ve OutlinedTextField içinde (I267f6, b/162234081) isteğe bağlı bir parametre haline geldi
Hata Düzeltmeleri
onNode
veyawaitForIdle
gibi genel test işlevleri kullanımdan kaldırıldı. Lütfen ComposeTestRule'da (I7f45a) tanımlanan yeni eşdeğerlerine geçiş yapın- Bunu kullanan DpConstraints ve API'ler kullanımdan kaldırıldı. (I90cdb, b/167389835)
- minwidth ve maxWidth (genişlik) parametreleri, min (min) ve max (maks) olarak yeniden adlandırıldı. Benzer şekilde, PreferredWidthIn, highIn, optionalHeightIn için de benzer bir şekilde kullanılabilecek. (I0e5e1, b/167389544)
- İleri/geri kaydırma anlamsal işlemlerini kaldırın. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
- Yer çekimi kullanımları, düzen API'lerinde hizalama veya hizalama için tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
- ComposeTestRule'a eklenen onNode ve diğer genel yöntemler, mevcut global yöntemlerin desteği sonlandırılacak. (Ieae36)
createAndroidComposeRule
veAndroidInputDispatcher
,androidx.ui.test.android
konumundanandroidx.ui.test
konumuna taşındı (Idef08, b/164060572)
Sürüm 1.0.0-alpha02
2 Eylül 2020
androidx.compose.material:material:1.0.0-alpha02
, androidx.compose.material:material-icons-core:1.0.0-alpha02
ve androidx.compose.material:material-icons-extended:1.0.0-alpha02
serbest bırakıldı. 1.0.0-alpha02 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Deneysel bir BackdropScaffold bileşeni eklendi. (Iad908)
Hata Düzeltmeleri
- Matris4'ün yerini Matris aldı. Vektörmath paketinin diğer tüm parçaları kaldırılmıştır. (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
serbest bırakıldı. 1.0.0-alpha01 sürümü bu kaydetmeleri içerir.
Bilinen Sorun
= Bir malzemenin ilk karakteri TextField
geri tuşu kullanılarak kaldırılamaz (b/165956313)
Sürüm 0.1.0-dev
Sürüm 0.1.0-dev17
19 Ağustos 2020
androidx.compose.material:material:0.1.0-dev17
, androidx.compose.material:material-icons-core:0.1.0-dev17
ve androidx.compose.material:material-icons-extended:0.1.0-dev17
serbest bırakıldı. Sürüm 0.1.0-dev17 bu kaydetmeleri içerir.
API Değişiklikleri
- Daha önce kullanımdan kaldırılan RadioGroup ve RadioGroupItems öğelerini kaldırmıştır. Bunun yerine Row ve RadioBotton'u kullanın (I381b7, b/163806637)
- TextField'den onFocusChanged geri çağırması kaldırıldı. Bunun yerine Modifier.focusObserver'ı kullanın. (I51089, b/161297615)
- Değiştirici.drawBorder desteği sonlandırıldı. Bunun yerine Değiştirici.sınırı kullanın. Sınır veri sınıfı BorderStroke (I4257d, b/158160576) ile değiştirildi
- ScrollableState'teki bazı özellikler yeniden adlandırıldı: slideTarget -> targetValue, slideProgress -> progress, slideDirection -> yön. Kaydırılabilir Durumlar oluşturmak için hatırlamaSDELETEableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
- Konumlandırma ve uygun sıraya alma özelliklerini içeren Snackbar desteği eklendi. Bu uygulamaya
SnackbarHostState.showSnackbar
askıya alma işlevi aracılığıyla erişebilirsiniz. Ayrıca:- SnackbarHost bileşenleri eklendi. Duruma göre Snackbar'ları barındırır ve atıştırmalık çubukları arasında geçişten sorumludur.
- SnackbarHostState, atıştırmalık çubukları ve atıştırma çubukları ana makineleri üzerinde denetim sağlamak ve bunu ScaffoldState'ten ayırmak için eklendi. Bu duruma
scaffoldState.snackbarHostState
aracılığıyla da erişebilirsiniz. - Snackbar aşırı yüklemesi, cookiebarHostState ve cookiebars arasındaki ortak arayüzü desteklemek amacıyla eklenmiştir. (I79aaa)
- Simge Düğmesi'ne etkin parametre ekler ve Simge ToggleDüğmesindeki parametreleri yeniden sıralar (I0a941, b/161809385, b/161807956)
- Dize tabanlı API'ye sahip ListItem sürümü kaldırıldı. Bunun yerine slot sürümünü kullanın. (Ib8f57, b/161804681)
- Kullanımdan kaldırılan FilledTextField bileşeni kaldırıldı. Doldurulmuş metin alanının Materyal Tasarım uygulamasını almak için lütfen TextField'i kullanın. (I5e889)
- AlertsDialog artık düğmeler için FlowRow'u kullanıyor (I00ec1, b/161809319, b/143682374)
- Sınırları geçerken direnç miktarını değiştirmek için Modifier.sDELETEable'a parametreler eklendi. [min/max]Değer parametreleri kaldırıldı. (I93d98)
- DoğrusalProgressIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'daki dahili dolgu kaldırıldı. Değerler arasındaki ilerleme gösterilirken varsayılan AnimationSpec olarak kullanılabilecek yeni ProgressIndicatorConstants.DefaultProgressAnimationSpec öğesi eklendi (If38b5, b/161809914, b/161804677)
- İsteğe bağlı paramvelocityThreshold, Değiştirici.sDELETEable öğesine eklendi. (I698ba)
- bottomBarSize, fabSize ve diğerleri. Artık ScaffoldState'te kullanılamaz. Boyutunu öğrenmek istediğiniz bileşende Modifier.onPosition'u kullanın. ContentColor ve Değiştirici pamatere'ler Scaffold'e eklendi (Ic6f7b, b/161811485, b/157174382)
- Diğer API'lerle tutarlılık sağlamak için Sekme'deki bazı parametreleri yeniden adlandırıp yeniden sıralar (Ia2d12, b/161807532)
- TabRow'u TabRow ve ScrollableTabRow olarak böler ve TabRow'dan isWrapable'ı kaldırır. Ayrıca, ScrollableTabRow'da sekmelerden önce / sonra boş alanın kontrol edilmesine olanak tanıyan EdgePadding'i de sunar. (I583e8, b/161809544)
TabRow
nesnesi kaldırıldı ve yerini TabConstants aldı. TabRow.TabPosition, üst düzeye (TabPosition) taşındı ve göstergeContainerindicator
olarak yeniden adlandırıldı. Güncellenen API'nin ve varsayılanların nasıl kullanılacağı hakkında ayrıntılı bilgi için örneklere ve belgelere göz atın. (I54d45, b/161809544)- Değiştirici.sDELETEable içindeki eşikler parametresinde ayarlama yapıldı. Artık bir çift durum (T türünde) alır ve bunlar arasındaki eşiği ThresholdConfig biçiminde döndürür. lambda (KapatDirection) -> ThresholdConfig olan SledgeToClosed öğesine bir offThresholds parametresi eklendi. (Ie1080)
- Kaydırma çubuğu, ayrıntılı özelleştirme için daha fazla renk içerir (I73e64, b/161810475)
- Kartın renk parametresi backgroundColor olarak yeniden adlandırıldı (I01fc1, b/161809546)
- Snackbar artık özelleştirilebilir arka plan ve içerik renklerine sahip (I238f2, b/161804381)
- değiştirici, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri, Çekmeceler'e eklendi (I23655, b/161804378)
state { ... }
composable, artık daha net bir ifadeyleremember { mutableStateOf(...) }
öğesine yapılan açık çağrılar için kullanımdan kaldırıldı. Bu, genel API yüzeyini ve eyalet yönetimiyle ilgili kavramların sayısını azaltır ve sınıf özelliği yetkisi içinby mutableStateOf()
kalıbıyla eşleşir. (Ia5727)- Düğmenin dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
- Deneysel malzeme bileşeni slideTo Close olarak ekleyin. (I129e5)
Hata Düzeltmeleri
onChildPositioned
veOnChildPositionedModifier
kaldırıldı. Geliştiriciler bunun yerine alt öğe düzenindeonPositioned
veOnPositionedModifier
kullanmalıdır. (I4522e, b/162109766)- SemanticsPropertyKey'e birleştirmePolitikası lambda eklendi. Bu, birleştirmeAllDescendants anlamsal birleştirme işlemi için özel bir politika tanımlamak amacıyla kullanılabilir. Varsayılan politika, zaten varsa üst değer, değilse alt değer kullanılır. (Iaf6c4, b/161979921)
- IntSize artık satır içi bir sınıftır (I2bf42)
PlacementScope.placeAbsolute()
,PlacementScope.place()
, öncekiPlacementScope.place()
isePlacementScope.placeRelative()
olarak yeniden adlandırıldı. Sonuç olarak,PlacementScope.place()
yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmaz. Bunun yerinePlacementScope.placeRelative()
kullanın. (I873ac, b/162916675)- PxBound'lar kullanımdan kaldırıldı, rect'in yerini aldı. PxBounds'un tüm kullanımları dikişli olacak şekilde güncellendi ve taşımaya yardımcı olacak ek açıklamalarla uygun şekilde kullanımdan kaldırıldı/değiştirildi. (I37038, b/162627058)
- Oluşturma adlandırma kalıplarına daha uygun olması için RRect'in adı RoundRect olarak değiştirildi RRect'e benzer işlev oluşturucuları ve desteği sonlandırılan RRect işlev oluşturucuları (I5d325) oluşturuldu
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
serbest bırakıldı. Sürüm 0.1.0-dev16 bu kaydetmeleri içerir.
API Değişiklikleri
- Renkler artık arayüz yerine son bir sınıftır. Özel bir uygulamayı genişletmek ve sağlamak yerine, özel tema nesneniz için yeni bir ortam oluşturmalı ve tema nesnesine, MaterialTheme'ın şirket içinde çalışmasına benzer şekilde bileşenlerinizdeki yeni ortam aracılığıyla erişmelisiniz. (Ibae84)
- ColorPalette, Material renk sistemiyle daha iyi eşleşmesi ve Material renk sisteminin özel bir uygulaması yerine ColorPalette'in "genel" tema nesnesi olması konusundaki karışıklığı ortadan kaldırmak için Renkler olarak yeniden adlandırıldı. Ayrıca, lightColorPalette ve darkColorPalette adında, sırasıyla openColors ve darkColors olarak yeniden adlar kullanılıyor. (I9e976, b/161812111)
- BottomGezinme Öğesinin
text
parametresinilabel
,onSelected
değerinionSelect
,activeColor
olarakselectedContentColor
,inactiveColor
öğesiniunselectedContentColor
olarak yeniden adlandırır ve parametre sıralamasını, yönergelere uyacak şekilde günceller. (Icb605, b/161809324) Modifier.stateDraggable
tamamen yeniden işlendi ve Değiştirici.sDELETEable olarak yeniden adlandırıldı. Yeni bir ScrollableState sınıfı kullanıma sunuldu ve Çekmece Durumları ile BottomDrawerState sınıfları bu sınıftan devralmak için yeniden düzenlendi. [Modal/Bottom]DrawerLayout artık onStateChange parametresi almamaktadır. (I72332, b/148023068)- Foundation.shape.corner paketi, Foundation.share olarak düzleştirilmiştir (I46491, b/161887429)
- ExperimentalMaterialApi ek açıklaması eklendi. Deneysel olarak işaretlenen Dalga Teması (Ic5fa0, b/161784800)
- Material FilledTextField, TextField olarak yeniden adlandırıldı ve temel TextField, istenen en basit API'nin kolayca keşfedilmesi ve kullanılması için 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)
- Genel API düzeltmelerini adresleyin (I077bc)
- Kullanılmayan OffsetBase arayüzünü kaldırın
- Tutarlı bir API yüzeyine sahip olacak şekilde Ofset ve IntOffset sınıflarını hizalayın
- Offset API ile tutarlı olması için IntOffset.Origin değerini IntOffset.Zero olarak yeniden adlandırın
- Tüketicilerin kendi Canvas örneklerini oluşturmalarını desteklemek için NativeCanvas yöntemi Canvas arayüzünün dışına taşındı
- DrawScope'u lateinit yerine boş olmayan bir parametre olacak şekilde yeniden düzenlemek ve alanın null olmadığından emin olmak için BlankCanvas saplama sınıfı oluşturuldu
- ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı
- Filtre Kalitesi enum'ları Pascal Case olarak yeniden adlandırıldı
- StrokeJoin enum'ları Pascal Case olarak yeniden adlandırıldı
- PointMode enum'ları Pascal Case olarak yeniden adlandırıldı
- PaintingStyle enum'ları Pascal Case olarak yeniden adlandırıldı
- PathFillType sıralamaları, Pascal Case olarak yeniden adlandırıldı
- StrokeCap enum'ları Pascal Case olarak yeniden adlandırıldı
- DrawCache uygulaması artık lateinit parametrelerini kullanmayacak
- DrawScope güncellendi, artık dolguPaint ve stepPaint dahili parametreleri için geç yetki kullanılmayacak
- Daha az ek yük için Box kullanımını önlemek için composable'ı güncelleme
- Outline sınıfı, @Sabit ek açıklamaları içerecek şekilde güncellendi
- PathNode, her yol talimatı için @Immutable ek açıklamaları içerecek şekilde güncellendi
- Oluşturma işlemi bunları zaten işlediğinden eşitlik için gereksiz koşullu kontrolleri kaldırmak üzere Vektör alt bileşimi güncellendi
- Kullanımdan kaldırılan Rect tamamlayıcı oluşturucu yöntemleri, işlev kurucularının lehine
- Fırça sınıfları ve işlev oluşturucuları, @Immutable ve @Stable API'lerle güncellendi
- VertexMode sıralaması PascalCase olarak güncellendi
- DrawScope selectPaint yöntemi, değişmesi durumunda boyadaki çizgi parametrelerinin üzerine koşullu olarak yazılacak şekilde güncellendi
- Yapıyı kaldıran API'yi eklemek, UnspecifiedSize adını Belirtilmemiş olarak değiştirmek ve kullanılmayan yöntemleri kaldırmak için Boyut güncellendi
- İletişim kutusunu kullanıcı arayüzüne taşı (I47fa6)
SemanticsNodeInteraction.performPartialGesture
kaldırıldı. Bunun yerineSemanticsNodeInteraction.performGesture
kullanın. (Id9b62)SemanticsNodeInteraction.getBoundsInRoot()
listesiSemanticsNodeInteraction.getUnclippedBoundsInRoot()
olarak yeniden adlandırıldı (Icafdf, b/161336532)- Sağdan sola destek API'leri güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilecek LayoutDirectionAmbient özelliği eklendi. Değiştirici.rtl ve Modifier.ltr kaldırıldı. (I080b3)
- Değiştirici.deternimateProgress, Değiştirici.progressSemantics (I9c0b4) olarak yeniden adlandırıldı
- Material.io/icons'a eklenen en son simgelerle genişletilmiş materyal-simgelerini günceller (I4b1d3)
- geçişTanımı için T türünün açıkça belirtilmesini zorunlu kılın. (Beğendim)
- Değiştirici.plus desteği sonlandırıldı. Bunun yerine Değiştirici.then'i kullanın. "O zaman" ifadesi daha güçlü bir sıralama sinyaline sahiptir ancak
Modifier.padding().background() + anotherModifier
yazılmasını yasaklayarak zinciri bozar ve okunması daha zordur (Iedd58, b/161529964) - AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
- isFocused() ve isNotFocused() SemanticsMatcher işlevini ekleyin. (I0b760)
- Testlerden kullanılmaması gereken
BaseGestureScope.globalBounds
kaldırıldı. Bunun yerine, etkileşim kurduğunuz düğümün yerel koordinatlarını kullanın. (Ie9b08) - Kesik ekranlardaki pop-up konumu sabitlendi. (Idd7dd)
- Değiştirici.drawbackground, Değiştirici.background (I13677) olarak yeniden adlandırıldı
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
serbest bırakıldı. Sürüm 0.1.0-dev15 bu kaydetmeleri içerir.
Bağımlılık Güncellemesi
- Compose'un
0.1.0-dev15
sürümünü kullanmak için bağımlılıklarınızı yukarıdaki Bağımlılıkları bildirme bölümünde gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.
API Değişiklikleri
@Model
ek açıklaması artık kullanımdan kaldırıldı. Alternatif olarak state ve mutableStateOf kullanın. Bu kullanımdan kaldırma kararı, titizlikle konuştuktan sonra alındı.Gerekçe
Gerekçe aşağıdakileri kapsar ancak bunlarla sınırlı değildir:
- API yüzey alanını ve öğretmemiz gereken kavramları azaltır
- Diğer benzer araç setleriyle (Swift UI, React, Flutter) daha uyumlu
- Geri alınabilir karar.
@Model
adlı kullanıcıyı daha sonra istediğiniz zaman geri getirebiliriz. - Köşe temelli durum kullanımını ve
@Model
hizmetini yürütmemiz gereken şeyler olarak yapılandırmayla ilgili cevaplanması zor soruları ortadan kaldırır. @Model
veri sınıfı, eşittir, karma kodu vb.- Bazı özelliklerim nasıl "gözlemlenir", bazıları ise nasıl görünmez?
- Gözlemde kullanılacak yapısal ve referans eşitliği nasıl belirtebilirim?
- Sistemdeki "sihri" azaltır. Birinin, sistemin olduğundan daha akıllı olduğunu varsayma (yani listeyi nasıl farklılaştıracağını bildiği) düşünme olasılığını azaltır
- Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
- Sınıftaki değişken -> özelliğinden yararlanarak yeniden düzenleme yapılabilirliği iyileştirir
- Duruma özel manuel optimizasyonlar yapma potansiyeli
- Ekosistemin geri kalanıyla daha iyi uyum sağlar ve değişmez veya "değişebilir durumu benimsememiz" konusundaki belirsizliği azaltır
Taşıma Notları
@Model
ürününün mevcut kullanımlarının neredeyse tamamı, iki yöntemden biriyle oldukça sıra dışı bir şekilde dönüştürülür. Aşağıdaki örnekte, yalnızca örnek vermek amacıyla iki özellik içeren bir@Model
sınıfı yer almaktadır ve bu sınıf bir composable'da kullanılıyordur.@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>
uygulamasını kullanarak kopya oluşturun.Bu yaklaşım, Kotlin'in veri sınıfları ile kolaylaştırıldı. Esasen, önceki tüm
var
mülklerini bir veri sınıfınınval
mülkleri haline getirin, ardındanremember
yerinestate
kullanın vecopy(...)
veri sınıfı kolaylık yöntemini kullanarak orijinal öğenin 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 yarayacağını unutmayın. Sınıf, kendi içinde kullanım kapsamı dışında değişiyorsa ve bunun gözlemlenmesine güveniyorsanız kullanmak isteyeceğiniz bir sonraki yaklaşım olacaktı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) } ) }
Alternatif 2: mutableStateOf ve mülk yetkilerini kullanın
Bu yaklaşım, Kotlin'in mülk için yetki verilmiş kullanıcı özellikleri ve bileşim dışında MutableState örnekleri oluşturmanıza olanak tanıyan
mutableStateOf
API'si ile kolaylaştırılmıştır. Esasen, orijinal sınıfın tümvar
özelliklerinivar
mülkleriyle değiştirin ve mülk temsilcisi olarakmutableStateOf
kullanın. Bu, sınıfın kullanımında herhangi bir değişikliğe yol açmayacak, yalnızca dahili olarak uygulanması avantajına sahiptir. Ancak davranış orijinal örnekle tamamen aynı değildir. Çünkü artık her bir mülk ayrı ayrı gözlemlenebilir/abonedir. Bu nedenle, bu yeniden düzenlemeden sonra göreceğiniz yeniden besteler 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/164}9243
Metin alanlarında onFocusChange geri çağırması onFocusChanged olarak (Ida4a1)
Çapalar arasındaki eşikleri belirtmek için stateDraggable'a eşik parametresi eklendi. Bu, alt çekmecede 56 dp eşik ayarlamak için kullanıldı. Ayrıca, BottomDrawerLayout artık ayrı bir BottomDrawerState sıralaması kullanmaktadır. (I533fa)
Kullanımdan kaldırılmış olan Değiştirici.ripple kaldırılır. Tıklanabilirlik, artık varsayılan gösterge olarak ripple'ı (uygulamanızda ayarlanmış bir MaterialTheme {} öğesi varsa) kullanıyor. Çoğu durumda, sadece tıklanabilir ve ücretsiz olarak dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekirse manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu, gösterge parametresi olarak tıklanabilir hale geçirebilirsiniz. (I663b2, b/155375067)
FilledTextField composable'ın desteği sonlandırılmış geçersiz kılması (I7f8f8) kaldırıldı
Düğme nesnesini (Button işlevi tarafından kullanılan varsayılanları içerir) ButtonConstants (I7c5f7, b/159687878) olarak yeniden adlandırın
Düğmenin içerik alanı artık Satır olarak davranıyor (metin içeren bir simgeniz olması gerektiğinde kullanışlıdır, Düğme nasıl yazılacağıyla ilgili örneklere bakın) (I0ff10, b/158677863)
RadioGroup ve RadioGroupItem desteği sonlandırıldı. Tasarımınıza göre radyo düğmesi seçimlerini doğru şekilde yapmak için Box'ı Değiştirici.selectable, Row ve Column ile birlikte kullanın (I7f5cf, b/149528535)
Malzeme Dış Çizgili Metin Alanı Eklendi (I1a518)
androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Bu türü kullanan TextField, FilledTextField ve CoreTextField composable'ları da kullanımdan kaldırıldı. Lütfen bunun yerine androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005)
TabRow.TabPosition, Dp'de konum içermiyor, IntPx'te değil (I34a07, b/158577776)
IntPx kullanımı Int ile değiştirildi. IntPxPosition, IntOffset olarak değiştirildi. IntPxSize, IntSize olarak değiştirildi. (Ib7b44)
Boyutlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek için PxSize yerine Boyut sınıfının kullanımını standartlaştırın. Bu, satır içi sınıfın, kayan olarak temsil edilen genişlik ve yüksekliği temsil eden uzun paket 2 kayan değerinden yararlanma avantajını sağlar. (Ic0191)
Değiştirici.ripple kullanımdan kaldırıldı. Tıklanabilirlik, artık varsayılan gösterge olarak ripple'ı (uygulamanızda ayarlanmış bir MaterialTheme {} öğesi varsa) kullanıyor. Çoğu durumda, sadece tıklanabilir ve ücretsiz olarak dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekirse manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu, gösterge parametresi olarak tıklanabilir hale geçirebilirsiniz. (I101cd, b/155375067)
Scaffold API'si yeniden düzenlendi: Birkaç parametrenin adı değiştirildi, daha iyi özelleştirme için yeni parametreler eklendi. Fab, TopBar ve BottomBar (I0e7ce) sorgu boyutlarına alıcı eklendi
ui-material öğesine DropdownMenü bileşeni, bir Materyal Tasarım menü uygulaması eklendi. (I9bb3d)
Yazılım klavyesinin manuel olarak gösterilmesine/gizlenmesine izin ver (Ifb9d6, b/155427736)
Değiştirici.indication, temel paketine eklendi. Özel etkileşimli öğelerinizde (I8425f, b/155287131) bas/sürükle/diğer göstergelerini göstermek için kullanın
Birleştirilmiş CanvasScope uygulamaları artık yalnızca DrawScope ve ContentDrawScope yeniden adlandırıldı CanvasScope, DrawScope olarak adlandırıldı. DrawScope, Yoğunluk arayüzünü uygulamak ve ContentDrawScope'ta LayoutDirection (LayoutDirection) Silinen DrawScope alt sınıfını sağlamak için güncellendi DrawScope bunu manuel olarak sağlamadan zaten RTL özelliğini sağladığından artık RTL mülkünü sürdürmeyecek şekilde güncellendi (I1798e)
Emphasis.highlight(), Emphasis.applyEmphasis() (Iceebe) adını veriyor.
Devre dışı bırakılan düğmeler artık Materyal Tasarım spesifikasyonuna (I47dcb, b/155076924) uygun.
FilledTextField, eylem işlemi, görsel dönüşüm ve klavye türü desteği sağlıyor (I1f9cf, b/155075201)
Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a vuruş Genişliği parametresini ekler. Bir DoğrusalProgressIndicator çizgi boyutunu (yüksekliği) değiştirmek için Modifier.PreferenceHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)
Çizgi boyutunu özelleştirmek için CircularProgressIndicator'a vuruş Genişliği parametresini ekler. Bir DoğrusalProgressIndicator çizgi boyutunu (yüksekliği) değiştirmek için Modifier.PreferenceHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)
FilledTextField alanının sondaki ve başındaki simgelerin kullanımı ve hata durumunun işlenmesi için alan API'si eklendi (Ic12e0)
FAB ve Genişletilmiş FAB'ın varsayılan rengi MaterialTheme.colors.secondary olarak değiştirildi. (I3b9b9, b/154118816)
API'deki tüm null değer içeren Color kullanımları null olmayan değer ile değiştirildi ve null yerine Color.Unset kullanılır (Iabaa7)
EdgeInset'ler InnerPadding olarak yeniden adlandırıldı. Material Buttons'ın innerPadding parametresi, yatay kaydırma olarak yeniden adlandırıldı. (I66165)
Slider artık durum bilgisiz. Kullanıcıların, diğer kontrollerde olduğu gibi durumu kendi kendilerine aktarması ve güncellemesi gerekir. (Ia00aa)
StaticDrawer kaldırıldı. İhtiyacınız varsa bunun yerine, Box'ı malzeme teknik özelliği genişliğe sahip bir genişliğe sahip kullanın (I244a7)
Doldurulmuş Metin Alanı için Materyal Tasarım uygulaması eklendi (Ic75cd)
ListItem'e değiştirici parametre eklendi ve sondaki lambda gövdesini tanıtmak için parametreler yeniden sıralandı (I66e21)
Tipografi'ye defaultFontFamily kurucu parametresi ekleyerek aile grubu bulunmayan sağlanan TextStyles için kullanılacak varsayılan yazı tipi ailesinin belirtilmesini sağlar. (I89d07)
Materyal Veri Tabloları, API yüzeyinden geçici olarak kaldırıldı. (Iaea61)
Divider composable'da yeniden adlandırılmış parametreler (Ic4373)
çocuklar (Ia6d19)
MaterialTheme.emphasisLevels öğesini kaldırır. Bunun yerine, vurgu düzeylerini almak için EmphasisAmbient.current öğesini kullanın (Ib5e40)
Şekil teması oluşturma sistemi, Materyal tasarım spesifikasyonuna göre güncellendi. Artık bileşenlerin çoğu (Ifb4d1) tarafından kullanılacak küçük, orta ve büyük şekiller sağlayabilirsiniz.
MaterialTheme.colors(), MaterialTheme.typography() gibi MaterialTheme API'leri işlev yerine özellikler olacak şekilde değiştirildi. Mevcut aramalardaki parantezleri kaldırın. Davranışta herhangi bir değişiklik beklenmemektedir. (I3565a)
Temel öğeler yerine derlenebilir lambda'ları kabul etmek için floatingActionButton API'leri yeniden düzenlendi. Kullanım bilgileri için güncellenmiş örneklere göz atın. (I00622)
Onay Kutusu, Değiştir ve Geçiş Yapılabilir özelliğine (I41c16)
enabled
parametresi ekleRipple artık bir Değiştirici oldu. Tıklanabilirlik henüz dönüştürülmemiş olsa da önerilen kullanım
Clickable(onClick = { ... }, modifier = ripple())
(Ie5200, b/151331852, b/150060763) şeklindedir.Surface ve Card, androidx.ui.material.surface yerine androidx.ui.material öğesine taşındı (I88a6d, b/150863888)
Button, floatingActionButton ve Clickable artık ayrı bir
enabled
parametresine sahip. Button'daki parametrelerden bazıları yeniden adlandırıldı veya yeniden sıralandı. (I54b5a)Resim verileri ile düzene katkıda bulunmak ve içerik çizmek için kullanılan yeni Image composable arasındaki farkı daha iyi ayırt etmek için Resim, ImageAsset olarak yeniden adlandırıldı. _Body:Geleneksel Android uygulaması geliştirmeyi, yazma çerçevesiyle (Id5bbd) birleştirmeye yarayan bir ImageAsset örneği oluşturmak için android.graphics.Bitmap, Bitmap.asImageAsset() üzerinde bir uzantı yöntemi oluşturuldu.
Derlenebilir lambda'ları kabul eden aşırı yükü kullanmak adına String parametrelerine sahip Snackbar API kaldırıldı. Kullanım bilgileri için güncellenmiş örneklere göz atın (I55f80)
Sekme API'leri
text
veicon
lambda'ları kabul edecek şekilde yeniden düzenlendi (Ia057e)BottomGezinme bileşeni eklendi, kullanım bilgileri için dokümanlara ve örneklere bakın (I731a0)
Simge, iconButton ve iconToggleButton eklendi, AppBarIcon kaldırıldı. Mevcut AppBarIcon kullanımlarını doğrudan iconButton ile değiştirebilirsiniz. Artık bu kullanımlar doğru dokunma hedefine sahip olur. Kullanım bilgileri için örneklere ve bu bileşenlerle doğrudan kullanabileceğiniz, sağlanan Malzeme Simgelerinin Simgelerine bakın. (I96849)
ButtonStyle, farklı işlevlerle değiştirildi ve metin (dize) aşırı yüklemesi kaldırıldı. Kullanım bilgileri için güncellenmiş örneklere göz atın. (If63ab, b/146478620, b/146482131)
Border
değiştiricisiniDrawBorder
olarak yeniden adlandırın (I8ffcc)Düzen Koordinatları artık konum özelliğine sahip değildir. LayoutModifiers, rotasyon veya ölçeklendirme göz önünde bulundurulduğunda konum özelliği bir anlam ifade etmez. Bunun yerine, geliştiriciler bir LayoutKoordinatör'den diğerine dönüşümü hesaplamak için parentcoordinates ve childToLocal() kullanmalıdır.
Layoutords, boyut özelliği için PxSize yerine IntPxSize kullanır. Düzenler, düzenler için tam sayı piksel boyutlarını kullanır. Bu nedenle tüm düzen boyutları, kayan nokta değerleri yerine tam sayılar kullanmalıdır. (I9367b)
Ambiyans API'sinde büyük değişiklikler yapılıyor. Ayrıntılar için günlüğe ve
Ambient<T>
dokümanlarına bakın (I4c7ee, b/143769776)Yapı iskelesi malzemesi bileşeni eklendi. Yapı iskelesi uygulamaları (I7731b)
DrawBorder yerine Sınır Değiştirici'nin (Id335a) kullanılması
Hata Düzeltmeleri
- FocusModifier; Değiştirici.focus, Modifier.focusRequester, Modifier.focusObserver'ın yerini alması için kullanımdan kaldırılmıştır. FocusState ve FocusAyrıntılıState kullanımdan kaldırılarak, FocusState2'nin kullanılması (I46919, b/160822875, b/160922136)
- Vertical Scroller ve Horiziontal Scroller desteği sonlandırıldı. Column/Row davranışı ve parametreleriyle yerleşik deneyim için ScrollableColumn ve ScrollableRow'u ya da kendi öğenizde Değiştirici.verticalKaydırma ve Modifier.Yatay Kaydırma'yı kullanın. Benzer şekilde, ScrollerPosition desteği ise ScrollState'in (I400ce, b/157225838, b/149460415, b/154105299) kullanılmasıyla sonlandırılmıştır.
- Değiştirici.draggable ve Modifier.scrollable API'leri yeniden işlendi. Sürükleme Yönü, Yön yönünden kaldırıldı. Kaydırılabilir öğe için gereken durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
runOnIdleCompose
,runOnIdle
(I83607) olarak yeniden adlandırıldı- Tek değerli anlamsal özellikler artık bir çağrı stili kullanır. Örneğin, "anlamsal {gizli = doğru }", artık şu şekilde yazılıyor: "semantik {gizli() }". (Ic1afd, b/145951226, b/145955412)
- Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. TümfindXYZ 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 bir TransitionState döndürecek şekilde değiştirilmiştir. Bu, API'yianimate() API'leriyle daha tutarlı hale getirir. (I24e38)
- Düzenden tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider API'sı bunu kullanacak şekilde güncellendi. (I0d8d0, b/159596546)
- Test bulanlara isteğe bağlı yeni bir useUnmergedTree işareti eklendi. (I2ce48)
- Eski boyut testi API'leri kaldırıldı. (Iba0a0)
- NativeShader bekleme sınıfını sarmalayan Gölgelendirici satır içi sınıfı kaldırıldı. Bu sınıf, NativeShader'ı Gölgelendirici olarak yeniden adlandırdı. 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 doğrudan NativeShader sınıfını kullanın. (I25e4d)
- Pop-up'lar, iletişim kutuları ve menüler artık içeriğe dayalı MaterialTema'yı (Ia3665, b/156527485) devralıyor
- Material DropdownMenü artık kaydırılabilir. (Ide699)
- Layout() işlevinin ölçüm bloğundan düzen yönü parametresi kaldırıldı. Bununla birlikte düzen yönü, ölçüm kapsamı nesnesi (Ic7d9d) ile geri çağırma içinde kullanılabilir
- Statik animasyon spesifikasyonu kavramını açıklığa kavuşturmak için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın -Tween, ilkbahar gibi AnimationSpecs oluşturmak için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, oluşturucu parametreleri doğrudan alırlar. -AnimationSpec\u2019in derleyicilere güvenmek yerine oluşturucu açılarak genel kullanım kolaylığını artırın -KeyFrames ve Tween için süre ve gecikmeyi Int olarak değiştirin. Bu, gereksiz tür yayınları ve yöntemin aşırı yüklenmesini (hem Long hem de Int’i desteklemek için) ortadan kaldırır. (Ica0b4)
enabled
yanlış değerine ayarlandığında anahtar artık devre dışı durumda görünüyor (If4624, b/155941869, b/159331694)- Değiştirici.tag, Modifier.testTag ile karışmasını önlemek için Değiştirici.layoutId olarak yeniden adlandırıldı. (I995f0)
- Placeable#get(alignmentLine)'dan döndürülen hizalama satırı Int konumları artık null değildir. Sorgulanan hizalama satırı eksikse HizalamaÇizgisi.Belirtilmemiş döndürülür. (I896c5, b/158134875)
Yarıçap sınıfı, satır içi sınıf olacak şekilde yeniden düzenlendi. Y eksenindeki yarıçapın zorunlu x ekseni yarıçap parametresiyle aynı olması için varsayılan parametreye sahip işlev oluşturucu yerine tamamlayıcı oluşturma yöntemleri kaldırıldı.
DrawScope.drawroundRect, x ve y eksenindeki yarıçap için 2 ayrı kayan alan değeri (I46d1b) yerine tek bir Yarıçap parametresi kullanacak şekilde güncellendi.
Konumlandırma bilgilerini temsil eden sınıf sayısını birleştirmek için PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, satır içi sınıfın x ve y ofsetlerini hareketli olarak temsil edilen x ve y ofsetlerini temsil etmesi için uzun paket 2 kayan değerden yararlanma avantajını sağlar. (I3ad98)
Piksel parametreleri için yalnızca Dp ve temel türleri temel alan büyük yeniden düzenleme çalışmaları kapsamında, çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi. Px sınıfı tamamen silindi (I3ff33)
Geçiş yapılabilir bileşen kullanımdan kaldırıldı. Bunun yerine Değiştirici.toggleable'ı kullanın (I35220, b/157642842)
Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I086f4)
Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (Id3434)
Piksel parametreleri için yalnızca Dp ve temel türlere dayanacak şekilde yapılan büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I97a5a)
Dropdon MenuItems için onClick'in çağrılmaması sorunu düzeltildi. (I3998b, b/157673259)
MutuallyÖzelSetItem desteği sonlandırıldı. Bunun yerine Değiştirici.selectable'ı kullanın. (I02b47, b/157642842)
TestTag'in desteği sonlandırıldı. Bunun yerine Değiştirici.testTag'i kullanın. (If5110, b/157173105)
TextField'in imlecinde yanıp sönen bir animasyon var (Id10a7)
Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I19d02)
Dikey Kaydırma aracı, artık Dikey Sütunu kullanıma hazır hale getiriyor. HorizontalKaydırıcı artık Row'u kullanıma hazır olarak sunuyor. (Ieca5d, b/157020670)
Piksel parametreleri için yalnızca Dp ve temel türlere dayanacak şekilde yapılan büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (Iede0b)
Değiştirici.semantik özelliği, üst düzey bileşenlerin kullanımına izin vermek için kullanımdan kaldırıldı. (I4cfdc)
DrawKatman değiştiricileri api'si değiştirildi: outlineShape, şekil olarak yeniden adlandırıldı ve RectangleShape varsayılan değerine sahip ve artık nullable değil. KlipToOutline, klip olarak yeniden adlandırıldı; RectangleShape ile gösterilen klip == true ile aynı olduğu için klibin kaldırılması (I7ef11, b/155075735)
Bunun yerine CanvasScope'u açığa çıkarmak için bir Tuval'i açığa çıkaran daha üst düzey oluşturma API'leri güncellendi. Bu, tüketicilerin kendi Paint nesnelerini yönetme ihtiyacını ortadan kaldırır. Hâlâ bir Tuval'e erişmesi gereken tüketiciler, temel Canvas'la çizim komutları vermek için geri çağırma sağlayan "drawCanvas" uzantı yöntemini kullanabilir. (I80afd)
AdjustLineOffset composable kullanımdan kaldırıldı. Lütfen bunun yerine göreliPaddingFrom() değiştiricisini kullanın. CenterHimentLine composable kaldırıldı. (I60107)
WithConstraints takip eden lambda API değiştirildi. Artık iki parametre yerine, sınırlamalara ve layoutDirection'a ek olarak, Dp'de (I91b9a, b/149979702) minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlayan
Yalnızca gelen karşılık gelen kısıtlamalar belirtilmediğinde sarmalanmış düzene boyut kısıtlamaları ayarlayan defaultMinSizeConstraints düzen değiştiricisi (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuzluk). (I311ea, b/150460257)
FocusManagerAmbient kaldırıldı. Odağı elde etmek için FocusModifier.requestFocus işlevini kullanın. (Ic4826)
Durum bilgisiz, bildirim temelli bir çizim API yüzeyi sunmak için Canvas nesnesini sarmalayan CanvasScope API oluşturuldu. Dönüşümler kendi alıcı kapsamlarında yer alır. Boyutlandırma bilgileri de ilgili iç sınırların kapsamına alınır. Bir tüketicinin, çizim işlemlerini yapılandırmak için kendi Boyama durumu nesnesini tutmasını gerektirmez.
CanvasScopeSample eklendi ve demo uygulaması bildirime dayalı grafik demosu (Ifd86d) içerecek şekilde güncellendi.
Metin alanına imleç rengini özelleştirme (I6e33f) ekleme
TextField ile kullanılan TextFieldValue, artık şu şekilde kullanıldığında etkinlik yeniden oluşturma işleminden sonra geçerli olabilir:
var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() }
(I5c3ce, b/155075724)LayoutModifier2, LayoutModifier olarak yeniden adlandırıldı. (Id29f3)
Kullanımdan kaldırılan LayoutModifier arayüzü kaldırıldı. (I2a9d6)
Odak alt sistemiyle entegrasyon sağlamak için CoreTextField/TextField odağıIdentifier parametresi FocusNode ile değiştirildi. (I7ea48)
Layout ve LayoutModifier2 üzerindeki içsel ölçüm işlevlerinde, artık örtülü olarak yayılan düzen yönü ile intrinsics sorgu API'si sağlayan bir IntrinsicMeasureScope alıcısı bulunuyor. (Id9945)
Aynı üst düzen içinde alt öğelerin çizim sırasını kontrol etmek için yeni Değiştirici.zIndex() eklendi. DrawlayerModifier'daki yükselti özelliği shadowElevation olarak yeniden adlandırılır ve artık çizim sırasını kontrol etmez. DrawShadow parametre sıralaması değiştirildi: Yükseklik artık ilk sırada, şekil ise RectangleShape varsayılanıyla ikinci sırada. (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ı, (I66cd3) parametresiyle tek bir onFocusChange (Boolean) geri çağırması olarak birleştirildi
Sırasıyla Satır ve Sütun sütununa verticalGravity ve landscapeGravity parametreleri eklendi. (I7dc5a)
WrapContentWidth ve WrapContentHeight, herhangi bir Hizalama yerine dikey veya yatay Hizalama beklenecek ş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'teki piksel bilgilerinin sorgulanmasını desteklemek için PixelMap API'si oluşturuldu. (I69ad6)
OfferContentColor'ı kaldırır. Bunun yerine ContentColorAmbient'i doğrudan
Providers
(Iee942) ile kullanmanız yeterlidir.ui-text-compose modülünün adı ui-text olarak değiştirildi. ui-text artık CoreText ve CoreTextField composable'larını (Ib7d47) içeriyor
ui-text modülü, ui-text-core (I57dec) olarak yeniden adlandırıldı
ui-framework/CoreText, CoreTextField composable'ları,ui-text-compose altına taşındı. Projenize ui-text-compose'u dahil edebilirsiniz. (I32042)
DrawModifier API'sini iyileştirin:
- Paint() ContentDrawScope için alıcı kapsamı oluşturuldu
- Çizimler() işlevindeki tüm parametreler kaldırıldı
- DrawScope, eski CanvasScope ile aynı arayüze sahiptir
- ContentDrawScopedrawContent() yöntemini içerir (Ibaced, b/152919067)
runOnIdleCompose
verunOnUiThread
artık ComposeTestRule'daki yöntemler yerine genel işlevler oldu. (Icbe8f)[Mutable]Eyalet mülk yetki operatörleri, Kotlin 1.4 mülkü yetki optimizasyonlarını desteklemek için uzantılara taşındı. Arayanlar,
by state { ... }
veyaby mutableStateOf(...)
uygulamasını kullanmaya devam etmek için içe aktarma eklemelidir. (I5312c)LayoutKoordinatlar içinpositionInParent ve boundsInParent eklendi. (Icacdd, b/152735784)
ColoredRect desteği sonlandırıldı. Bunun yerine Box(Modifier.PreferenceSize(width, height).drawBackground(color)) yöntemini kullanın. (I499fa, b/152753731)
LayoutResult, MeasureResult olarak yeniden adlandırıldı. (Id8c68)
Düzen değiştiricileri tanımlamak için kullanılan yeni bir API olan LayoutModifier2 eklendi, LayoutModifier (If32ac) kullanımdan kaldırıldı.
Değiştirici artı operatörü, fabrika genişletme işlevleriyle değiştirildi (I225e4)
Sürüklenebilir, değiştiriciye taşındı (Id9b16, b/151959544)
ParentData composable desteği sonlandırıldı. Ya ParentDataModifier arayüzünü uygulayan bir değiştirici olmalı ya da düzen alt öğelerini ölçüm bloğunda tanımak için sadece düzen alt öğelerini etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmalısınız. (I51368, b/150953183)
Desteği sonlandırılmış Center composable. Bunun yerine LayoutSize.Fill + Layouturl.Center değiştiricisiyle veya uygun değiştiricilerin uygulandığı Box ya da Stack composable'larından biriyle değiştirilmelidir (Idf5e0).
Vektör grafikleri için mevcut alt bileşen API'sinin yerini alması amacıyla VectorPainter API eklendi. Alt bestenin sonucu, DrawModifier yerine bir VectorPainter nesnesidir. Önceki DrawVector composable'larının desteği, VectorPainter'ın adına kullanımdan kaldırıldı.
Image(Painter) API, PaintBox(Painter) olarak yeniden adlandırıldı ImageAsset yerine VectorAsset hariç olmak üzere Resim composable gibi davranan Vektör composable'ı oluşturuldu (I9af9a, b/149030271)
LayoutEsnek, LayoutAğırlık olarak yeniden adlandırıldı. Sıkı parametre, doldurulacak şekilde yeniden adlandırıldı. (If4738)
DrawKatmanModifier (I00aa4) adına RepaintBoundary kaldırıldı
DrawVector, normal bir composable işlevinden, vektörü arka plan olarak bir düzene çizecek olan bir ChangeVector() fonksiyonunu döndürecek şekilde değiştirilmiştir. (I7b8e0)
Opaklık composable işlevinin yerini drawOpacity değiştiricisi aldı. (I5fb62)
ClipToBounds adlı composable fonksiyonunun yerine şu düzenleyiciyi kullanın: DrawClipToBounds, yalnızca katman sınırlarına dikdörtgen bir şekille kırpmanız gerektiğinde kullanabileceğiniz pratik bir değiştiricidir. (If28eb)
DrawShadow composable işlevi,drawShadow() değiştiriciyle değiştirildi. Gölgeler artık layerModifier'ın bir parçası olarak çizilir. (I0317a)
Düzen için RenderNode eklenmesine olanak tanıyan bir değiştirici olan KatmanModifier eklendi. Kaydırma, opaklık, döndürme, ölçeklendirme ve gölge ayarlamalarına olanak tanır. Bu, RepaintBoundary'nin yerini alacak. (I7100d, b/150774014)
androidx.compose.ViewComposer, androidx.ui.node.UiComposer konumuna taşındı.androidx.compose.Emittable kaldırıldı. ComponentNode ile gereksizdi. androidx.compose.ViewAdapters kaldırıldı. Bunlar artık desteklenen bir kullanım alanı değildir. Compose.composeInto desteği sonlandırıldı. Bunun yerine
setContent
veyasetViewContent
kullanın. Compose.disposeComposition kullanımdan kaldırıldı. Bunun yerinesetContent
tarafından döndürülenComposition
öğesindedispose
yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto adresine taşındı. ComponentNode#emitInsertAt, ComponentNode#insertAt ComponentNode#emitRemoveAt olarak yeniden adlandırıldı.Ekrana belirli bir ImageAsset çizimi yapmanın yanı sıra boyutlandırma/düzeni işlemek için composable oluşturuldu. Bu composable, doğal boyutuna göre rastgele bir Painter örneği çizmenin yanı sıra belirli bir sabit veya minimum boyutu (Ibcc8f) desteklemeyi de destekler
Desteği sonlandırılmış Wrap composable. Bunun yerine, LayoutHizala düzenleyici veya Stack composable (Ib237f) değiştiricisiyle değiştirilebilir.
WithConstraints LayoutDirection parametresini (I6d6f7) aldı
Düzen yönünün, üst düzen düğümünden alt öğelere yayılması yapıldı. Düzen yönü değiştiricisi eklendi. (I3d955)
Yığın bileşeni, sağdan sola yönü destekler (Ic9e00)
DrawShape composable kaldırıldı. Bunun yerine DrawBackground değiştiricisini kullanın. (I7ceb2)
LayoutPadding değiştiricide sağdan sola yön desteği (I9e8da)
Yalnızca görünür öğeleri oluşturan ve düzenleyen bir kaydırma liste bileşeni olan AdapterList eklendi. Şu anda bilinen sorunlar arasında yalnızca dikey olması ve alt öğelerindeki değişikliklerin tüm durumlarını tam olarak ele almaması yer alır. (Ib351b)
ComposeFlags.COMPOSER_PARAM
işaretitrue
olarak güncellendi. Bu işlem, oluşturma eklentisinin kod oluşturma stratejisini değiştirecek. Genel olarak bu, @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametreler, çalışma zamanının yürütmeyi düzgün şekilde yönetmesi için sonraki @Composable çağrılarına iletilir. Bu, ikili programları bozan önemli bir değişikliktir ancak tüm yaptırım uygulanan oluşturma kullanımlarında kaynak düzeyinde uyumluluğun korunması gerekir. (I7971c)Tuval bileşeni eklendi. Bu composable, kullanıcı tarafından sağlanan bir boyut kaplar ve CanvasScope (I0d622) kullanarak çizim yapmanızı sağlar.
Yoğunluk ve Yoğunluk Kapsamı tek bir arayüzde birleştirildi. ambientDensity() yerine artık DensityAmbient.current kullanabilirsiniz. withDensity(yoğunluk) yerine sadece(yoğunluk) (I11cb1)
LayoutKoordinatlar, providedalignmentLines'ı Harita yerine bir Set olarak kullanmak ve LayoutKoordinatlar'ın bir değer almak için bunun yerine get() operatörünü uygulamasını sağlamak amacıyla değiştirilmiştir. Bu sayede, her değiştirici için yeni bir koleksiyon oluşturmadan değiştiricilerin, kümenin bir veya daha fazla değerini kolayca değiştirmesi kolaylaşır. (I0245a)
Kaydırıcılar artık yerel Android hızlı kaydırma hareketi davranışı sergiliyor. (I922af, b/147493715)
Kısıtlamaların API yüzeyinde yapılan iyileştirmeler (I0fd15)