Materyal Oluşturma
androidx.compose.material
androidx.compose.material.simgeler
(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ü |
---|---|---|---|---|
7 Ağustos 2024 | 1.6.8 | - | 1.7.0-beta07 | - |
Yapı
Oluşturma, androidx
içindeki 7 Maven grubu kimliğinin kombinasyonudur. Her Grup
Her biri kendi sürüm kümesine sahip olan, hedeflenmiş bir işlev alt kümesi içerir
notlar.
Bu tabloda, gruplar ve her sürüm notu grubunun bağlantıları açıklanmaktadır.
Grup | 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 Google Maven deposunu belirler. Google'ın Maven deposunu okuyun konulu videomuzu izleyin.
build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin.
uygulamanız veya modülünüz:
Modern
dependencies { implementation "androidx.compose.material:material:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material:material:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlarla karşılaşırsanız veya fikir edinebilirsiniz. Daha fazla bilgi için lütfen mevcut sorunlar tıklayın. Oyunuzu mevcut bir soruna eklemek için yıldız düğmesini tıklayın.
Sorun İzleyici dokümanlarına bakın konulu videomuzu izleyin.
Sürüm 1.7
Sürüm 1.7.0-beta07
7 Ağustos 2024
androidx.compose.material:material-*:1.7.0-beta07
yayınlandı. Sürüm 1.7.0-beta07 bu kayıtları içerir.
Sürüm 1.7.0-beta06
24 Temmuz 2024
androidx.compose.material:material-*:1.7.0-beta06
yayınlandı. Sürüm 1.7.0-beta06 bu kayıtları içerir.
Sürüm 1.7.0-beta05
10 Temmuz 2024
androidx.compose.material:material-*:1.7.0-beta05
yayınlandı. Sürüm 1.7.0-beta05 bu kayıtları içerir.
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 stil özelliklerini ayarlama 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
- Metin'de Materyal temalı bağlantılar almayla ilgili API 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, Eccompanist 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ın. (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 bir parametre olduğunda 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 ek 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ı. 1.5.2 sürümü 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
animasyonuTonu artıkanimationSpec
parametresi almıyor ve gösterilen ofset artık null değerine sahip. 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
öğesinin 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, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getiriyor. (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 almayacak. (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
öğesinin 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
uygulamasındaki 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
uygulamasındaki 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 öğelerin kaydırma bilgilerini sorgulamak için 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ğinin ne kadarının satır sayısı (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 kaybolmaz. - Hareketler arasında etkinliklerin kaybolmasına izin verdiğinden
forEachGesture()
desteği,awaitEachGesture()
ile 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şimli 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 sayfanın üzerine ve FAB'ye yerleştirilir; genişletilmiş durumdayken Snackbar'lar sayfanın en altı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)- Şu kadar süre boyunca yalnızca Görünüme dayalı olma şeklinde yapılan önceki değişiklik geri alındı:
WindowInsetsControllerCompat
ve ardından şu kadar aralık gerekir: bazı pencere işaretlerini yönetmek için gereken bir gerekliliktir. Kullanımdan Kaldırıldı Doğru Pencerenin seçildiğinden emin olmak içinWindowCompat.getInsetsController
lehineViewCompat.getWindowInsetsController
kullanılır (örneğin, Görünüm bir iletişim kutusundaysa). (I660ae, b/219572936) - Metin:
includeFontPadding
artık varsayılan olarak devre dışı. İlgili içeriği oluşturmak için kullanılanincludeFontPadding=false
nedeniyle oluşan kırpma sorunları ele alındı Uzun alfabelerde kırpma yapılmamalıdır. (I31c84, b/171394808) - Çapraz eksen boyutlarını tanımlamak için yeni bir
LazyVerticalGrid
API eklendi (I17723)
Sürüm 1.2.0-alpha04
23 Şubat 2022
androidx.compose.material:material-*:1.2.0-alpha04
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
. BunlarıBasicTextField
ile birlikte kullanma Materyal Tasarım metnine dayalı özel metin alanı oluşturmanıza yardımcı olur daha fazla özelleştirme seçeneğiyle birlikte sunulur.- 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)
ComposableTarget
,ComposableTargetMarker
ve eklendi Aşağıdaki durumların derleme zamanı raporlanmasına olanak tanıyanComposableOpenTarget
: composable işlev, olmadığı bir uygulayıcıyı hedefleme olarak adlandırılır tasarladık.Çoğu durumda, ek açıklamalar oluşturma sırasında derleyici eklentisidir. Bu nedenle, bu ek açıklamayı doğrudan nadir . Tahmin edilemeyen durumlar, soyut composable işlevler (ör. arayüz yöntemleri), alanları veya değişkenleri composable lambda'lar (yerel değişkenler ve parametreler tahmin edilir), veya
ComposeNode
ya da ilgili composable işlevleri kullanılırken sorun yaşanmaz.Özel uygulayıcılar için
ComposeNode
veyaReusableComposeNode
tarafındanCompoableTarget
fonksiyon ve diğer herhangi bir composable lambda parametre türleri. Bununla birlikte, veComposableTargetMarker
ve ardından işaretlenen ek açıklama kullanılır. kullanabilirsiniz.ComposableTarget
Oluşturulabilir bir ek açıklamaComposableTargetMarker
ile işaretlenen bir Özelliğin tam adını içerenComposbleTarget
class'ı uygulayın. Örnek olarakComposableTargetMarker
bkz.anroidx.compose.ui.UiComposable
. (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
- Aşırı yükleme olan yöntemlere
NonRestartableComposable
eklendi mevcut yöntemlerin toplamıdır. Bu, derleyiciyi azaltır oluşturulan not denetimlerine eşittir (eşittir) çağrılan iç fonksiyonda tekrarlanı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)- Şuradan okurken pano içeriğinden kaynaklanan kilitlenme düzeltildi panosuna bakacağız. (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 (If60b2) uygulanması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 liderColor ve soningColor'a uygun şekilde genişletilmesi. 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
- Şu özelliklere sahip
performGesture
veGestureScope
kullanımdan kaldırıldı:performTouchInput
veTouchInjectionScope
ile değiştirildi. (Ia5f3f, b/190493367) touchBoundsInRoot
SemanticsNode
içine eklendi geliştiricilerin minimum dokunma hedefi boyutunu içermesi , dokunma hedeflerinin erişilebilirlik minimum değerlerini karşılamasını sağlayabilir. (I2e14b, b/197751214)
Hata Düzeltmeleri
- Klibin dokunma hedefi sınırlarını genişletmesine izin ver dokunma hedefiyle ilgili amaçlar için klip bölgesini tanımlamalıdır. (I43e10, b/171509422)
Divider
composable, şu şekilde güncellendi: kalınlık parametresi içinDp.Hairline
yönergesine uyulması tek pikselli ayırıcılar çizmeyi desteklemek için görüntü yoğunluğundan bağımsız olarak ayarlamanızı sağlar. (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)
- ViewConfiguration'a minimum dokunma hedefi boyutu eklendi Bu özellik, erişilebilirliği sağlamak adına anlambilim ve işaretçi girişi için kullanılabilir. (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 slideableState davranışını düzeltin. (I03d39, b/191993377)
Sürüm 1.1.0-alpha01
4 Ağustos 2021
androidx.compose.material:material-*:1.1.0-alpha01
yayınlandı. 1.1.0-alpha01 sürümü bu kaydetmeleri içerir.
API Değişiklikleri
- Şu özelliklere sahip
DrawScope#drawImage
yöntemi güncellendi: kaynak ve hedef dikdörtgenleri tüketir kullanmak için isteğe bağlı filtre kalitesi parametresinden sonra bir değer girin. Bu, piksel için yararlıdır pikselleştirilmek üzere tasarlanmış sanat eserleri büyütüldüğünden emin olun. BitmapPainter + composable resim güncellendi kullanabilirsiniz. parametre (Ie4fb0, b/180311607) - QueryBox'un adı, ScoredBox 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ı NavigationRail örneği ve Katalog uygulaması eklendi demomuz var. (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 gezinme demiryolu 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ı. 1.0.1 sürümü 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 "çalışıyor" olduğunu gösterir yöntemidir ve önceden derlenmesi gerekir.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Ş DÖNÜŞÜMÜ: Kart artık tıklama alıyor ve
Card(Modifier.clickable)
üzerinden eklenen tıklamaları işlemsiz hale getiriyor. 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: gösterge, engagementSource, etkin/devre dışı. Bu durumlarda Kart, dalga sinyalini kırpmayacağı için
Modifier.clickable
ile tıklanamayan normal bir kart kullanılamadı.
- Tıklamaları ve diğer tıklanabilir işlevleri ele alan yeni bir kart aşırı yüklemesi eklendi: gösterge, engagementSource, etkin/devre dışı. Bu durumlarda Kart, dalga sinyalini kırpmayacağı için
- DAVRANIŞ DÖNÜŞÜMÜ: Yüzey artık tıklamaları tüketiyor ve
Surface(Modifier.clickable)
üzerinden eklenen tıklamaları işlemsiz hale getiriyor. Lütfen onClick'i kabul eden yeni deneysel Surface uygulamasını 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: bildirimler, 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: bildirimler, 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)- Kaçınılması için satır içi sınıflarda enum kullanımları yeniden düzenlendi mümkün olduğu kadar iyileştirmeye uygun yeni enum değerleri eklenir. (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 anlamsal özellikleri artık kullanılmıyor listeler. Bu işlem, bu öğeleri oldukları gibi birleştirmenize olanak tanır. yardımcı olabilir. Ayrıca bunları kullanmak için daha iyi test API'leri sağlandı değişiklikler (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
- Rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor oluşturabilirsiniz. (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)
- Satır ve ağırlık(fill = false) değerine sahip 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ĞİŞİM:
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İĞİ:
- Yeniden adlandırma
hideSoftwareKeyboard
veshowSoftwareKeyboard
açık SırasıylaSoftwareKeyboardController
-hide()
veshow()
.- için tüm CompositionLocal arayüzünün tamamını sağlayın (özellikle testlerde faydalı) (I579a6)
- LiveRegion Accessibility API eklendi. Düğüm canlı bölge olarak işaretlenmişse erişilebilirlik hizmetleri kullanıcıya yaptığı değişiklikleri otomatik olarak bildirir (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ı. Telefon etme Hayır,withFrameNanos
veyaRecomposer.runRecomposeAndApplyChanges
MonotonicFrameClock
şimdiIllegalStateException
atacak. (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
- Yeni
LocalSoftwareKeyboardController
bestesi yerel eklendi ÖncekiSoftwareKeyboardController
arayüzünün yerini alacak API TextField'i (Metin Alanı) seçin. (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 uzantı işlevleri oldu ImageBitmap ve ImageVector tamamlayıcılarında gösterilir. load{Image,Vector,Font}Kaynak 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 metinlerden SoftwareKlavyeController geri çağırması kaldırıldı alanları kısa süre içinde yeni bir API ile değiştirilecektir. (Iae869, b/168778053)
- Switch, Onay Kutusu ve RadioButton işlem lambda'ları artık kullanılabilir null atanabilir. Tıklanabilir satırdaki onay kutusu örnekleri bunu kullanacak şekilde güncellendi özelliğini kullanabilirsiniz. (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)
- AccessibilityMananger arayüzünü ekleyin ve CompositionLocals içinde LocalAccessibilityMananger (I53520)
- 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 içindeki isErrorValue parametresi yeniden adlandırıldı isError'a girebilirsiniz. (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)
smoothWrapBy ve ScrollBy yöntemleri' paketler
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 offerCoroutineScope() 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. Şimdi ScrollableController sınıfının yerine Kaydırılabilir arayüzü kullanı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, askıya alma işlevleri olarak değiştirildi. (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 uzantı işlevleri oldu ImageBitmap ve ImageVector tamamlayıcılarında gösterilir. load{Image,Vector,Font}Kaynak işlevleri silindi. (I89130)
Indication#createIndication() , Indication#rememberUpdatedIndication(EngagementState) olarak değiştirilir ve IndicationInstance#drawIndication() öğelerindeki EngagementState parametresi kaldırılır. IndicationInstance yalnızca görsel efektleri çizmekten ve EngagementState değişikliklerine yanıt olarak animasyonları / yazma durumunu başlatmamaktan 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
- Yeni Yerel Yazılım Klavye Denetleyicisi bileşimi eklendi üzerindeki önceki SoftwareKlavyeController arayüzünün yerini alacak API TextField'i (Metin Alanı) seçin. (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
- Değiştirici.pointerInput, artık tuşların şunu belirtmek için hatırlanmasını gerektiriyor: yeni için işaretçi girişi algılama eş anlamlısının yeniden başlatılması gerektiğinde ve bildirmeyi konuştuk. (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İşlemler'i kullanın (If0bbd, b/179071523)
- Adlandırmayla daha iyi eşleşme için ve ImageBitmap ve ImageVector ile ImagePainter, BitmapPainter olarak yeniden adlandırıldı VectorPainter'a paralel yapabilirsiniz. (Iba381, b/174565889)
- Animatable.snapTo ve Animatable.stop, askıya alma işlevleri olarak değiştirildi (If4288)
- ComponentActivity.setContent, şuraya taşındı: androidx.activity.compose.setContent androidx.activity:activity-compose modülü. (Icf416)
- Yıkım ve Copy() yöntemleri, bazı sınıflara üye olmak için faaliyet sergilediler. (I26702, b/178659281)
- ModalBottomSheetState'te (Ic914e) leadexpand() veexpand() işlevlerini yapın
- Gösterge#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> yerine bir Gösterge içerecek şekilde değiştirildi Gösterge. (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 kullanımdan kaldırılmıştı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. Eklenme zamanı Genişletme ve Yarım Genişlet (ModalBottomSheetState) (Ib5064)
- 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) - Ambiyanslar, Ambiyans ile eşleşecek şekilde yeniden adlandırıldı -> CompositionLocal 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'deki parametreler, ş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 barındırmaması 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)
Kullanılan ColorMatrix API kullanıma sunuldu kaynak içeriğin rgb değerlerini değiştirmek için ColorFilter API, arayüz oluşturmak ve uygulamadaki örneğidir. (Ica1e8)
AnimasyonluDeğer/Kayan Öğe için destek sonlandırıldı. Lütfen şunu kullanın: Animasyonlarla oluşturulabilir. (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 işlem, düzen yönüne duyarlı şekiller oluşturulmasına olanak tanır. (I57c20, b/152756983)
Recomposer.current()
kaldırıldı. [Abstract]Şimdi görüntüle tarafından yönlendirilen, gecikmeli olarak oluşturulmuş, pencere kapsamlı Yeniden derleyicilere Pencerede ViewTreeLifecycleOwner'ı seçin. Yeniden düzenleme ve withFrameNanos tabanlı animasyon çizgileri, ana makine Yaşam Döngüsü sırasında duraklatılır durdurulur. (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 ve beklemek için askıya alma işlevlerini kullanmanızı öneririz. devam edin. Şu anda askıya alınmamış sürümlerini de bu geçişin parçası olarak ele alacağız. (A9 kez verilmiş)
Askıya alınmayan smooth ScrollBy desteğini sonlandırma Artık kaydırmayı kontrol etmek ve beklemek için askıya alma işlevlerini kullanmanızı öneririz. devam edin. Askıya alınmamış sürümler kullanımdan kaldırılıyor bu işlevlerin kullanımına daha sonra geri döneceğiz. (I12880)
ComposeContentTestRule
kullanıma sunulduComposeTestRule
ve şu klasörden kaldırılansetContent
öğesini tanımlar:ComposeTestRule
.createEmptyComposeRule()
fabrika yöntemi eklendiComposeTestRule
döndüren ve şunun için bir Etkinlik başlatmayan: siz. Bunu, testiniz sırasında Etkinliğinizi başlatmak istediğinizde kullanın. ör.ActivityScenario.launch
kullanılarak (I9d782, b/174472899)Button 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. Foo ise animasyon uygulanan değişkenin türü. ör. Kayan, 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 en azından onRoot() veya pencere boyutu boyutunu kullanmak daha iyi. (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. üstGlobalBound'ları anchorBounds olarak yeniden adlandırır ve windowGlobalBounds'u
windowSize: IntSize
(I2994a) olarak değiştirirSüre ve Çalışma Süresi, Uzun milisaniye olarak değiştirilir. ve bu adım, işaretçi girişinin mevcut kaynaklara olan bağımlılığını sınıflar. (Ia33b2, b/175142755, b/177420019)
FlingConfig'i kabul eden hareketlifloat.fling kaldırıldı. Lütfen askıya alma özelliğini kullanın Animatable.animateDecay'i seçin. (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)
Genel koordinat yöntemleri kullanımdan kaldırıldı ve yeni pencere tabanlı koordinat yöntemleri. (Iee284)
Denetleme 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ırmaAxisRange olarak yeniden adlandırıldı. dikeyAccessibility ScrollState, vertical ScrollAxisRange olarak yeniden adlandırıldı. (Id3148)
Testlerde TestCoroutineDispatcher'dan yararlanın (I532b6)
Vektör grafikleri güncellendi Tonlamanın ayrıştırılmasını destekleyen API köküne uygulanır. (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ı olacak şekilde değiştirilmiş ve matematiksel anlamına gelir. (Ib0447)
@ExperimentalTesting
adlı dosya@ExperimentalTestApi
olarak yeniden adlandırıldı benzer deneysel API ek açıklamalarıyla tutarlı (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 şuraya taşındı: ui modülünden geçti ve dahili hale getirdik. Şurada yerelClass kullanımları güncellendi: kullanılacak uygulama sayısına eşittir "MyClass" . (I4f734)
Hata Düzeltmeleri
- Devre dışı bırakılan ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
animate()
,animateAsState()
ile değiştirildi. Bu değer,T
yerineState<T>
değerini döndürür. Böylece daha iyi daraltılabilir. Bunun nedeni, performansın eyalet değerinin okunacağı yere ekleyin. (Ib179e)- Anlamsal rol API'sini ekleyip parametre olarak Rol'ü seçilebilir ve devre dışı bırakılabilir SemanticsModifier ile çalışır. Değiştirildi Değiştirici.progressSemantics, böylece Slider bunu da kullanabilir. (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. lookRippleIndication desteğinin sonlandırılmasıyla birlikte hatırlatmaRipple özelliği kullanılmaya başlanmış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)
GölgelendiriciBrush'ı şu şekilde yeniden düzenledi: bir gölgelendirici örneği oluşturarak çizimin boyut bilgileri kullanılabilir durumda olduğundan emin olun. Bu yöntem, farklı renklerdeki gradyanları composable'ın tüm çizim sınırlarını kaplar bestelemenize gerek kalmadan uygulamaları hakkında bilgi edinin.
Desteği sonlandırılan gradyan işlevi oluşturucu API'leri tercih ettik. (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. animasyon çekirdeğine geçiş yapıldı 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)
AccessibilityLabel, contentDescription olarak yeniden adlandırıldı. erişilebilirlikValue, stateDescription olarak yeniden adlandırıldı. (I250f2)
InfiniteTekrarlanabilirSpec (I668e5) oluşturmak için yeni infinite Repeatable işlevi
DropdownMenülerin konumlandırma davranışı, Malzeme özelliklerine göre biraz değişti. (I34c72, b/168594123)
TextFields için EngagementState desteği eklendi. (I61d91)
Alt öğeleri temizlemek için Değiştirici.clearAndSetSemantics eklendi anlamları geliştirip yenilerini oluşturabilirsiniz. (I277ca)
ContentDrawScope kullanıcı arayüzü grafiklerine taşındı modülünü kullanabilirsiniz. (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ı VectorAsset, Builder olarak taşındı ve yeniden adlandırıldı. şuna göre ImageVector'ın iç sınıfı olmalıdır: API konseyi yönergeleri. VectorAssetBuilder için tür takma adı şuna eklendi: ImageVector.Builder bağlantısını kullanabilirsiniz. (Icfdc8)
- Yeniden Adlandırılan ImageAsset ve benzer yöntemler kullanır. (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 paketini androidx.compose.ui.draw paketinde bulabilirsiniz. DrawModifier Uyumsuz.kt dosyası oluşturuldu: yardımcı olacak tiptaktikler/yardımcı yöntemler içermelidir desteği sonlandırılandan güncel API'ler. (Id6044, b/173834241)
- Değiştirici.drawKatmanlar, Değiştirici.graphicsKatman olarak yeniden adlandırıldı Ayrıca, ilgili sınıflar şu şekilde GraphicsKatman olarak güncellendi: API geri bildirimi. (I0bd29, b/173834241)
<T>
, SubcomposeLayout bildiriminden kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)- Değiştirici.ölçek/döndürme özelliği eklendi
Trafiğe eklemek için API'leri kullanabilirsiniz.
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 kullanıma sunuldu ve SweepGradientBrush API'ler. (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, durum değişikliği gerçekleştiğinde yeniden düzenleme ve düzenleme adımını atlayabilecek şekilde tanımlarsı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 olarak yeniden adlandırıldı birleşim. (Ib6250)
- Testlerdeki 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ı kaldırın (I3a7cb)
- 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ükseklik bindirmelerini hesaplarken 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ı
- Color.Unspecified için simge API'si güncellendi. mümkün olan bir ton rengi kullanarak herhangi bir öğe veya boyaya sahip olmayabilir. Önceden renk tonlamayı göz ardı etmeye çalışıyor.Belirtilmemiş tonlamaya başlar ve sonunda şeffaf bir hiçbir şey oluşturulmaz. (I049e2, b/171624632)
- relPaddingFrom, FILLFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin referans değerlerine olan mesafeleri belirtmeyi kolaylaştırmak amacıyla FILLFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
- LaunchedTask, tutarlılık için LaunchedEffect olarak yeniden adlandırıldı SideEffect ve DisposableEffect API'lerini kullanabilirsiniz. LaunchedEffect dosyası kapalı en iyi uygulamaları teşvik etmek için konu parametrelerine 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 ihtiyaç duymaya devam ediyorsanız lütfen gerektiğinde Değiştirici.zIndex() işlevini manuel olarak ayarlayın (I70417, b/170623932).
- VectorPainter'ı kullanımdan kaldır: hatırlamak için VectorPainter'ın composable API'nin dahili olarak “hatırla” farklı platformlarda bileşimler. (Ifda43)
- ComposeTestRule'da geçişleri etkinleştir; seçeneği kaldır ComposeTestRule'da yanıp sönen imleci etkinleştirin. (If0de3)
- CoreTextField alanına tek satırlı klavye seçeneği eklendi (I72e6d)
- Radius API şu şekilde yeniden adlandırıldı: Daha iyi ifade etmek için Köşe Yarıçapı nasıl kullanıldığına bakalım. Dokümanları negatif köşe yarıçaplarının sabitlendiği sıfıra eşittir. (I130c7, b/168762961)
- DrawScope ve
ContentDrawScope arayüzleri
soyut sınıflar yerine
- CanvasDrawScope uygulaması oluşturuldu DrawScope
- Yeniden düzenlenen DrawScope, bunun yerine CanvasScope'u kullanır
- Bağımlılıkları sarmak için DrawContext oluşturuldu DrawScope için
- 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)
- @Kararlı olarak işaretlenen tüm iskelet durumları. ScaffoldState'tekidrawerHareketsEnabled, Scaffold'e taşındı. (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öntemden kaçınmanı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 -> Ambiyans İçerik Rengi
- TextStyleAmbient -> Ambiyans Metin Stili
- IndicationAmbient -> Ambiyans Göstergesi
- EmphasisAmbient (Ambiyans Vurgusu) -> Ambiyans Vurgu Seviyeleri
- Dalga Teması (Ambiyans) -> 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
- Standartlaştırma sürecinin bir parçası olarak sentinel değerlerinden farklıdır. Rengi yeniden adlandır.Ayarlanmadı. Renk.Belirtilmemiş diğer satır içi sınıflarla tutarlılık için (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 ile eşleşecek şekilde LaunchedTask olarak yeniden adlandırıldı API yönergeleri (I99a8e)
- OnPositionedModifier, OnGloballyPositionedModifier olarak yeniden adlandırıldı ve 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
- Durumun artırılmasına ve durumun okunup kontrol edilmesine 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) - VerifyBackdropState öğesi,BackdropScaffoldState'i hatırlayacak şekilde yeniden adlandırıldı. ve animasyon saati için ek bir parametre ekledik. Parametre yeniden adlandırıldı BackdropScaffold'un backgroundScaffoldState'i ile yalnızca scaffoldState'e geçiş yapın. Yeniden adlandırıldı Arka Plan Sabitlerinden Arka PlanScaffoldSabitlerinden. (Ib644d)
- Deneysel BottomSheetScaffold bileşeni eklendi. (Ie02f0, b/148996320)
- Deneysel ModalBottomSheetLayout bileşeni eklendi. (Ic209e, b/148996320)
- ButtonConstants/floatingActionButtonConstants.defaultAnimatedElevation'ı defaultElevation olarak yeniden adlandırır ve artıkAnimationValue yerine bir Dp değeri döndürüyor. (I5f3ed)
Hata Düzeltmeleri
- Çok sayıda Graphics API'si güncellendi
- Ölçek ve rotasyon güncellendi dönüşüm API'lerini kullanarak tek bir Özeti temsil eden ofset parametresi koordinatı koordine etmeye çalışın x/y koordinatlarına ilişkin parametreler DrawScope ve DrawTransform
- Rect.expandToInclude ve Rect.join kaldırıldı yöntemler
- Yarıçap dokümanları oval ifadesi içerecek şekilde güncellendi eliptik bisiklete ek olarak
- satır içi Yarıçapı genel kurucusu sınıfın doğrudan çağrılması değil, Yarıçap nesneleri şu şekilde örneklenmelidir: işlev kurucuları
- topRight'ı sorgulamak için RoundRect API'ler kaldırıldı. bottomRight, bottomCenter vb.
- 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 kaldırıldı ve Rect.isStadium yöntemlerinin yanı sıra
- 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
- Radius özelliklerini tüketecek şekilde RoundRect oluşturucu güncellendi x/y yarıçap değerleri için bağımsız parametreler yerine
- Dikdörtgen olduğunu varsayan Boyut API'leri kaldırıldı. başlangıç noktası 0,0
- Yarıçap'a yıkıcı bir API eklendi
- Şuraya taşındı: mülkler
- (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)
- Çok sayıda Graphics API'si güncellendi
- Kapsamlı DrawScope API'leri güncellendi yöntemlerinin mevcut olduğunun yalnızca geri çağırma ve geri çağırma çağrıldıktan sonra kaldırılır
- ClipPath dokümanları Yol değerine başvuracak şekilde güncellendi yerine yuvarlatılmış dikdörtgen
- Sağ parametre için belgelerdeki boşluk sabitlendi ClipPath'de
- DrawScope.drawCanvas,drawIntoCanvas ve boyut parametresi kaldırıldı
- Inset yöntemindeki dx/dy parametreleri şu şekilde yeniden adlandırıldı: yatay ve dikey
- Aynı 4 sınıra inset değeri
- Inset yönteminde, aşağıdakileri gösteren dokümanlar kaldırıldı: bu ek, 4 tarafın tümüne uygulanır
- Rect sınıfı için güncellenen dokümanlar
- Rect parametrelerindeki yorumlar kdoc ile eşleşecek şekilde güncellendi stil
- Rect.join ve Rect.expandToInclude kaldırıldı
- Rect.translate(offset) ve için aşırı yük oluşturuldu desteği sonlandı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)
resistanceFactorAtMin
veresistanceFactorAtMax
parametreleriModifier.swipeable
parametresinde, tek bir direnç parametresi kullanılmıştır.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 OutLineTextField içinde isteğe bağlı bir parametre haline geldi (I267f6, b/162234081)
Hata Düzeltmeleri
onNode
veyawaitForIdle
gibi genel test işlevleri artık desteği sonlandırıldı, lütfen aşağıda tanımlanan yeni benzerlerine geçin ComposeTestRule (I7f45a)- Bunu kullanan DpConstraints ve API'ler kullanımdan kaldırıldı. (I90cdb, b/167389835)
- minwidth ve maxWidth (genişlik) parametreleri, min ve max olarak yeniden adlandırıldı. Tercih edilenGenişlikIn, yükseklikin, tercih edilen yükseklik için de aynı şekilde kullanılır. (I0e5e1, b/167389544)
- İleri/geri kaydırma anlamsal işlemlerini kaldırın. Eklenen adımlar AccessibilityRangeInfo'nun (Ia47b0)
- Yer çekimi kullanımları, düzen API'lerinde hizalama veya hizalama için tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
- onNode ve ComposeTestRule'a diğer genel yöntemler şu şekilde eklendi: global olanların desteği sonlandırılacaktır. (Ieae36)
createAndroidComposeRule
veAndroidInputDispatcher
, şuradan taşındı:androidx.ui.test.android
-androidx.ui.test
(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ı. Diğer tüm bölümler of vectormath paketi kaldırıldı. (Ibd665, b/160140398)
Sürüm 1.0.0-alpha01
26 Ağustos 2020
androidx.compose.material:material:1.0.0-alpha01
, androidx.compose.material:material-icons-core:1.0.0-alpha01
ve androidx.compose.material:material-icons-extended:1.0.0-alpha01
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, Scrollİlerleme -> ilerleme, slideDirection -> girin. 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ırmalık barı ana makineleri üzerinde denetim sağlamak ve onu ScaffoldState'ten ayırmak için eklendi. bu duruma
scaffoldState.snackbarHostState
üzerinden de 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 parametreyi ekler ve Simge ToggleDüğmesi'ndeki 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)
- direnç sağlar. [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 ilerlemeyi canlandırırken varsayılan AnimationSpec olarak kullanılabilen 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 bunun yerine Modifier.onPosition'u kullanın. contentColor ve Değiştirici pamatere'ler İskele'ye 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 dosyasındaki eşikler parametresi değiştirildi; şimdi bir çift durum (T türü) alır ve bunlar arasındaki eşiği döndürür biçiminde olur. CloseThresholds parametresi eklendi Bir lambda olan slideToKapat (Kapat Yönü) -> ThresholdConfig. (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 kullanımdan kaldırıldı ve daha net bir şekilderemember { mutableStateOf(...) }
için yapılan uygunsuz çağrılar. Bu, genel API yüzeyini ve durum ile ilgili kavramların sayısını azaltır yönetimi ve sınıf içinby mutableStateOf()
kalıbıyla eşleşir izin verebilirsiniz. (Ia5727)- Düğmenin dolgu parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
- Deneysel bir malzeme bileşeni slideTo Close olarak ekleyin. (I129e5)
Hata Düzeltmeleri
onChildPositioned
veOnChildPositionedModifier
kaldırıldı. GeliştiricileronPositioned
veOnPositionedModifier
kullanmalıdır alt düzeninde kullanabilirsiniz. (I4522e, b/162109766)- SemanticsPropertyKey'e birleştirmePolitikası lambda eklendi. Bu özellik, BirleştirmeAllDescendants anlamında özel politika tanımlamak için kullanılır birleştiriliyor. Varsayılan politika, zaten varsa üst değer kullanılır alt değeri ifade eder. (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)- içinde kullanımdan kaldırılan PxBound'lar Rect. Tüm kullanımlar güncellendi dikdörtgen ve eklenmiş PxBound uygun şekilde kullanımdan kaldırma/değiştirme ek açıklamalar taşıma. (I37038, b/162627058)
- RRect, RoundRect olarak yeniden adlandırıldı adlandırma kalıplarına daha uygun olması için Benzer işlev kurucuları oluşturuldu RRect işlevine ve desteği sonlandırılan RRect işlevine oluşturucular (I5d325)
Sürüm 0.1.0-dev16
5 Ağustos 2020
androidx.compose.material:material:0.1.0-dev16
, androidx.compose.material:material-icons-core:0.1.0-dev16
ve androidx.compose.material:material-icons-extended:0.1.0-dev16
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 dahili çalışma şekline benzer şekilde bileşenlerinizdeki yeni ortam aracılığıyla erişmelisiniz. (Ibae84)
- Materyal renk sistemiyle daha iyi eşleme sağlamak ve ColorPalette'in "genel" olması konusundaki karışıklığı ortadan kaldırmak için ColorPalette Renkler olarak yeniden adlandırıldı tema oluşturma nesnesini ele aldık. 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
olarakunselectedContentColor
ve parametre sıralamasını eşleşecek şekilde yeniden adlandırır. (Icb605, b/161809324) Modifier.stateDraggable
tamamen yeniden işlendi ve yeniden adlandırıldı Değiştirici.sDELETEable olarak değiştirin. Yeni bir ScrollableState sınıfı kullanıma sunuldu ve DrawerState ve BottomDrawerState öğeleri buradan devralınacak şekilde 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şaretlenmiş 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ı. Yerleştirilmiş'i kullan çocuğu kabul edebilir. (I87f95, b/162109766)
- Genel API düzeltmelerini ele alma (I077bc)
- Kullanılmayan OffsetBase arayüzünü kaldırın
- Offset ve IntOffset sınıflarını tutarlı bir API yüzeyi
- IntOfset.Origin değerini IntOffset.Zero olarak yeniden adlandırın ofset API ile tutarlı olmasını sağlayın
- NativeCanvas yöntemi Canvas'tan taşındı oluşturmalarını sağlayan bir arayüze sahip. kendi Canvas örnekleri
- Yeniden düzenlemek için BlankCanvas saplama sınıfı oluşturuldu DrawScope alanının lateinit ve alanın null olmadığından emin olun
- ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı
- Filtre Kalitesi enum'ları Pascal Durumu 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 kullanılamayacak şekilde güncellendi lateinit parametrelerini kullan
- DrawScope artık geç yetkilendirme kullanmayacak şekilde güncellendi fillPaint ve walkPaint dahili parametreleri için
- Box kullanımını önlemek için composable adlı resim güncellendi Böylece daha az ek yük
- Outline sınıfı, @Sabit ek açıklamaları içerecek şekilde güncellendi
- PathNode, her yol talimatı
- Gereksiz öğeleri kaldırmak için vektör alt bileşimi güncellendi oluşturma işlemi zaten işlendiği için eşitlik için koşullu kontroller onlar
- Desteği sonlandırılmış Rect tamamlayıcı oluşturucu yöntemleri lehine işlev kurucuları
- Fırça sınıfları ve işlev oluşturucuları şununla güncellendi: @Sabit ve @Kararlı API'ler
- VertexMode sıralaması PascalCase olarak güncellendi
- DrawScope selectPaint yöntemi koşullu olarak güncellendi fırça parametrelerinin üzerine yazıldıysa değişti
- Yapıyı bozan API eklemek için Boyut güncellendi, yeniden adlandır BelirtilmemişSize ile Belirtilmemiş ve kullanılmayan yöntemler kaldırıldı
- İletişim kutusunu kullanıcı arayüzüne taşı (I47fa6)
SemanticsNodeInteraction.performPartialGesture
kaldırıldı. Tekliflerinizi otomatikleştirmek ve optimize etmek için Bunun yerineSemanticsNodeInteraction.performGesture
. (Id9b62)SemanticsNodeInteraction.getBoundsInRoot()
adlı dosya şu şekilde yeniden adlandırıldı:SemanticsNodeInteraction.getUnclippedBoundsInRoot()
(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)
- T türünün açıkça belirtilmesini gerektir API'yi kullanabilirsiniz. (Beğendim)
- Değiştirici.plus desteği sonlandırıldı. Bunun yerine Değiştirici.then'i kullanın. "O zaman" daha güçlü bir sipariş sinyaline sahiptir ancak
Modifier.padding().background() + anotherModifier
yazılmasını yasaklayarak zinciri bozar ve okunması daha zor olur (Iedd58, b/161529964) - AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
- isFocused() ve isNotFocused() SemanticsMatcher işlevini ekleyin. (I0b760)
BaseGestureScope.globalBounds
kaldırıldı, bu sayı olmamalıdır veriler kullanılır. Bulunduğunuz düğümün yerel koordinatlarını kullanın etkileşim kurun. (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ı güncellemeniz gerekir. yukarıdaki Bağımlılıkları bildirme bölümünde gösterilen yeni kod snippet'lerine göre.
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öşede kullanım 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. Sistemin olduğundan daha akıllı olduğunu varsayma (yani listeyi nasıl farklılaştıracağını bildiği) düşünme ihtimalini azaltır
- Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
- Değişkenden yeniden yapılandırılabilirliği iyileştirir -> sınıftaki mülk
- Duruma özel manuel optimizasyonlar için yeni fırsatlar doğurabilir.
- 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ü her bir mülk artık 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)
Eşikleri belirtmek için stateDraggable içine eşik parametresi eklendi belirlemektir. 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ı. Metin Alanı bu tür için de destek sonlandırılmıştır. Lütfen şunu kullanın: Bunun yerine androidx.ui.input.TextFieldValue (I4066d, b/155211005)
TabRow.TabPosition, Dp'de konum içermiyor, IntPx'te değil (I34a07, b/158577776)
IntPx kullanımı, Int. IntPxPosition değiştirildi test edebilirsiniz. IntPxSize, IntSize olarak değiştirildi. (Ib7b44)
temsil etmek için kullanılan sınıf sayısı beden bilgileri, standart boyut sınıfının kullanımına ilişkin boyutundaki gibi. Bunun sonucunda uzun bir satır içi sınıfın temsil edecek şekilde 2 kayan değer genişlik ve yükseklik kayan öğe olarak gösterilir. (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ı Yani artık yalnızca DrawScope ve ContentDrawScope CanvasScope, DrawScope olarak yeniden adlandırıldı. Yoğunluğu uygulamak için DrawScope güncellendi arayüz oluşturun ve LayoutDirection'ı sağlayın ContentDrawScope'taki DrawScope alt sınıfı silindi Painter ve PainterModifier güncellendi artık bir RTL mülkünü tutmamak için zaten DrawScope tarafından manuel olarak sağlamadan (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 öğesinin fırça boyutunu (yüksekliği) değiştirmek için Değiştirici.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 öğesinin fırça boyutunu (yüksekliği) değiştirmek için Değiştirici.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 renk kullanımları şununla değiştirildi: null değildir 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 spesifikasyonları uyarınca kullanan genişliğe sahip bir kutu kullanın (I244a7)
Doldurulmuş Metin Alanı için Materyal Tasarım uygulaması eklendi (Ic75cd)
Değiştirici parametre, ListItem'e eklendi ve parametreler şuna yeniden sıralandı: sondaki lambda gövdesini tanıtma (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)
composable'ı kabul etmek için floatingActionButton API'leri yeniden düzenlendi lambda kullanmayı tercih ettik. Kullanım için güncellenmiş örneklere göz atın ekleyebilirsiniz. (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 katılmak 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:android.graphics.Bitmap'te uzantı yöntemi oluşturuldu. Bitmap.asImageAsset(), Geleneksel Android'i birleştirmede yararlı ImageAsset oluşturma çerçevesi (Id5bbd) ile uygulama geliştirme
String parametreleri içeren Snackbar API'si kaldırıldı ve buna örnek gösterilebilir. Şununla ilgili güncellenen örneklere bakın: kullanım bilgileri (I55f80)
Sekme API'leri
text
veicon
lambda'ları kabul edecek şekilde yeniden düzenlendi (Ia057e)BottomGezinme bileşeni eklendi, şuna ilişkin dokümanlara ve örneklere: kullanım bilgileri (I731a0)
Simge, iconButton ve iconToggleButton eklendi, AppBarIcon kaldırıldı. Mevcut AppBarIcon kullanımlarını doğrudan iconButton, Böylece doğru dokunma hedefine sahip olurlar. Şuna ait örneklere bakın: görebilir ve sağlanan Malzeme Simgeleriyle ilgili Simgeler'e göz atabilirsiniz. bu bileşenleri doğrudan kullanabilirsiniz. (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. İlgili içeriği oluşturmak için kullanılan LayoutModifiers göz önüne alındığında konum özelliği bir anlam ifade etmez. döndürme veya ölçeklendirme. Geliştiriciler bunun yerine, ve alttantoLocal() işlevini kullanarak dönüşümü tek bir değerden Düzen Koordinatörü.
Layoutords, boyut özelliği için PxSize'a dokunun. Düzenler, düzenler için tam sayı piksel boyutları kullanır, bu nedenle tüm düzen boyutları tam sayılar kullanmalı, kayan nokta değerleri kullanmamalı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 sonlandırılarak ScrollState' (I400ce, b/157225838, b/149460415, b/154105299)
- 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ır: "anlamsal {gizli() }". (Ic1afd, b/145951226, b/145955412)
- Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. Tümü findXYZ API'leri, onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri şu şekilde yeniden adlandırıldı: performansXYZ. (I7f164)
- Transition API, yeni bir sürüm döndürecek şekilde değiştirildi TransitionState'i iletmek yerine TransitionState anlayabiliyoruz. Bu, API'yi animasyonlu() API'lerini kullanabilirsiniz. (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)
- Şu özellikte Gölgelendirici satır içi sınıfı kaldırıldı: NativeShader bekleme sınıfını sarmaladı NativeShader'ın adı Gölgelendirici olarak değiştirildi. Sarmalanmış Gölgelendirici satır içi sınıfı API yüzeyine değerli hiçbir şey eklememelidir satır içi bir sınıf olduğu için NativeShader'ı kullanabilirsiniz. (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
- Üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullan statik animasyon spesifikasyonu kavramını netleştirmek için -Şunun için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin: tween, spring gibi AnimationSpecs değerleri oluşturun. Bunun yerine oluşturabilirsiniz. - AnimationSpec uygulamasının açılış sayfası daha kolay tasarımcılara güvenmek yerine kurucular -KeyFrame'ler ve Tween (Tween) için süreyi ve gecikmeyi Int olarak değiştirin. Bu gereksiz tür yayınları ve yöntemin aşırı yüklenmesini ortadan kaldırır ( hem Long hem de Int desteklenir). (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ı şu şekilde yeniden düzenlendi: satır içi sınıf. Tamamlayıcı oluşturma kaldırıldı fonksiyon oluşturucunun lehine olan yöntemler yarıçapa sahip olacak şekilde varsayılan parametre ile zorunlu olan y eksenindeki çizgiyle aynı olan X ekseni yarıçap parametresidir.
Kullanılacak DrawScope.drawroundRect değeri güncellendi 2 ayrı yerine tek bir Yarıçap parametresi x ve y boyunca yarıçap için kayan noktalı değerler eksen (I46d1b)
temsil etmek için kullanılan sınıf sayısı konumlandırma bilgisi, standart bunun yerine Offset sınıfının kullanımında PxPosition'tur. Bunun sonucunda uzun bir satır içi sınıfın x'i temsil edecek şekilde 2 kayan noktalı değeri paketlemek ve y ofsetleri kayan noktalı olarak gösterilir. (I3ad98)
Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve temel türleri tanımlar. 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)
Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (I086f4)
Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (Id3434)
Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (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)
Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (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)
Çeşitli alanlarda Px sınıfı kullanımı değiştirildi bir parçası olarak sınıfları yalnızca Dp'ye bağımlı olacak şekilde yeniden düzenleme ve piksel parametreleri için temel türler (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 null değil; ClipToOutline, klip olarak yeniden adlandırıldı; Klip == true ile aynı olduğu için RectangleShape ile aynı olan klip == true etiketi kaldırıldı (I7ef11, b/155075735)
Daha üst düzey güncellendi oluşturma API'lerini kullanarak bir Tuval'in CanvasScope'u açın. Bu işlem, koruma ve yönetim ihtiyaçlarının Paint nesnelerini ekleyebilirsiniz. Şu özelliklere sahip tüketiciler için: bir Canvas'a erişim gerektirmesi çizim Tuvali uzantısını kullanabilir Bu yöntem, soruna geri çağırma temel çizgisini gösteren çizim komutlarını Kanvas. (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)
Şunu sarmalayan CanvasScope API oluşturuldu: Durum bilgisiz, bildirimsel bir öğeyi gösterecek Canvas nesnesi çizim API yüzeyini tıklayın. Dönüşümler yer alır alıcı kapsamlarında ve beden bilgilerinde karşılık gelen inset sınırlarının da kapsamındadır. Bir tüketicinin kendi Paint durumunu korumasına gerek yoktur nesnesini ifade eder.
CanvasScopeSample ve demo uygulamasını bildirime dayalı bir grafik içerecek şekilde güncelledi demo (Ifd86d)
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)
CoreTextField/TextFieldFocusIdentifier değiştirildi parametresini FocusNode ile entegre etmek için kullanabilirsiniz. (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. DrawKatmanModifier'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)
Desteklemek için PixelMap API oluşturuldu ImageAsset'teki piksel bilgilerini sorgulamak için kullanabilirsiniz. (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. arayüz-metin artık CoreText ve CoreTextField composable'larını içeriyor (Ib7d47)
ui-text modülü, ui-text-core (I57dec) olarak yeniden adlandırıldı
ui-framework/CoreText, CoreTextField composable'ları altına taşındı ui-text-compose. URL'nize ui-text-compose adresini belirler. (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 genel işlevler oldu ComposeTestRule'daki yöntemlerdir. (Icbe8f)[Mutable]Eyalet mülk yetkisi operatörleri uzantılara taşındı . Arayanlar eklemelidir içe aktarmaları için
by state { ... }
veyaby mutableStateOf(...)
kullanmaya devam edebilirsiniz. (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ımlamaya yönelik yeni bir API olan LayoutModifier2 eklendi; desteği sonlandırılan LayoutModifier (If32ac)
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).
VectorPainter API, şuraya eklendi: mevcut alt beste API'sini değiştir gösteren bir grafiktir. Alt bestenin sonucu yerine bir VectorPainter nesnesidir DrawModifier. Önceki DrawVector desteği sonlandırıldı VectorPainter oldu.
Image(Painter) API'si PaintBox(Painter) olarak yeniden adlandırıldı Şu şekilde davranan Vector composable oluşturuldu: Bunun yerine VectorAsset dışında resim composable bir ImageAsset'in (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 fonksiyonunu geri çevirerek vektörü bir düzenin arka planı olarak çizer. (I7b8e0)
Opaklık composable işlevi değiştirildi seçim yapabilirsiniz. (I5fb62)
Oluşturulabilir işlev klibini değiştiriciyle değiştir PaintClip(). DrawClipToBounds uygulaması basit bir değiştiricidir yalnızca katman sınırlarına klip oluşturmanız gerektiğinde kullanılacak elde edeceksiniz. (If28eb)
DrawShadow composable işlevidrawShadow() ile değiştirildi kullanabilirsiniz. Gölgeler artık layerModifier'ın bir parçası olarak çizilir. (I0317a)
Katman modları ve özellikleri Düzen için RenderNode ekleyerek. Bu strateji sayesinde kırpma, opaklık, döndürme, ölçeklendirme ve gölgeler. Bu, RepaintBoundary'nin yerini alacak. (I7100d, b/150774014)
androidx.compose.ViewComposer, androidx.ui.node.UiComposer klasörüne 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 yerine,setContent
tarafından döndürülenComposition
üzerindedispose
yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto adresine taşındı ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı. ComponentNode#emitRemoveAt, ComponentNode#removeAt olarak yeniden adlandırıldı. ComponentNode#emitMode, ComponentNode#move (Idef00) olarak yeniden adlandırıldıİşlenmesi için composable resim oluşturuldu yanı sıra boyutunu/düzeni çizmeye ek olarak ImageAsset'i kullanabilirsiniz. Bu composable rastgele bir Boyacının çizimini de doğal boyutuna uygun bir örnek sabit bir proje yönetimi yaklaşımını boyut veya minimum boyut (Ibcc8f)
Desteği sonlandırılmış Wrap composable. Bunun yerine, Layoutalign değiştiriciyi veya Stack composable'ı (Ib237f) kullanabilirsiniz
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 20 dakikada bir kaydırma listesi bileşeni olan görünür öğeleri oluşturur ve yerleştirir. Şu anda bilinen sorunlar yalnızca dikey olduğunu ve tüm reklam birimlerini alt öğelerinde değişiklik yapmak isteyebilir. (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)
SağlananHizalamaLines'ın oluşturulması için Layoutords değerleri değiştirildi bir küme oluşturabilir ve LayoutKoordinatları'nın get() operatörünü kullanın. Bu sayede setin bir veya daha fazla değerini her değiştirici için yeni bir koleksiyon oluşturmanız gerekir. (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)