Materyal Oluşturma

Kullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io'da açıklananlarla eşleşen bileşenler sağlamak için tasarlanmış Compose'un üst düzey giriş noktasıdır.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
11 Aralık 2024 1.7.6 - - 1.8.0-alpha07

Yapı

Oluşturma, androidx içindeki 7 Maven grup kimliğinin birleşimidir. Her grup, kendi sürüm notlarına sahip hedeflenen bir işlev alt kümesi içerir.

Bu tabloda, gruplar ve her sürüm notları grubunun bağlantıları açıklanmaktadır.

GrupAçıklama
compose.animationKullanıcı deneyimini zenginleştirmek için Jetpack Compose uygulamalarında animasyon oluşturabilirler.
compose.compiler@Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisi ile optimizasyonları etkinleştirin.
compose.foundationKullanıma hazır yapı taşlarıyla Jetpack Compose uygulamaları yazın ve kendi tasarım sistemi parçalarınızı oluşturmak için temeli genişletin.
compose.materialKullanıma hazır Materyal Tasarım bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, www.material.io'da açıklananlarla eşleşen bileşenler sağlamak için tasarlanmış Compose'un üst düzey giriş noktasıdır.
compose.material3Materyal Tasarım'ın bir sonraki aşaması olan Materyal Tasarım 3 bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Güncellenen temalar ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özelliklerini içeren Material 3, yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak şekilde tasarlanmıştır.
compose.runtimeCompose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Derleyici Eklentisi'nin hedeflemesi gereken temel çalışma zamanı.
compose.uiDüzen, çizim ve giriş dahil olmak üzere cihazla etkileşimde bulunmak için gereken oluşturma kullanıcı arayüzünün temel bileşenleri.

Bağımlılıkları beyan etme

Compose'a bağımlı eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.

Uygulamanızın veya modülünüzün build.gradle dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:

Groovy

dependencies {
    implementation "androidx.compose.material:material:1.7.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

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

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

1.8 sürümü

Sürüm 1.8.0-alpha07

11 Aralık 2024

androidx.compose.material:material-*:1.8.0-alpha07 yayınlanır. 1.8.0-alpha07 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Metin alanı boyutu değiştiricilerinin bazen uygulanmaması sorunu düzeltildi. (I90d4c, b/356905963)

Sürüm 1.8.0-alpha06

13 Kasım 2024

androidx.compose.material:material-*:1.8.0-alpha06 yayınlanır. 1.8.0-alpha06 sürümü bu taahhütleri içerir.

Sürüm 1.8.0-alpha05

30 Ekim 2024

androidx.compose.material:material-*:1.8.0-alpha05 yayınlanır. 1.8.0-alpha05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • contentPadding değiştiğinde her zaman gövde içeriğinin yeniden derlenmesini önlemek için contentPadding iskelet davranışını optimize edin. (I8c8e2, b/373904168)
  • Kontrol tuşlarına basıldığında malzeme kaydırma çubuğunun değerini değiştirmesini sağlayın. (I1c442)

Sürüm 1.8.0-alpha04

16 Ekim 2024

androidx.compose.material:material-*:1.8.0-alpha04 yayınlanır. 1.8.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kararlı temel sürüme sabitlemek için readOnlyTextFields'ten kaldırın. (I3aaba)

Hata Düzeltmeleri

  • Android S+'te genişleyen bileşenlerde (ör. tıklandığında genişleyen bir kart) dalgalanma desteği ekler. Daha önce dalga yeni boyutu doldurmazdı ancak artık yeni sınırlara kadar genişletilecek. (If509a, b/183019123)

Sürüm 1.8.0-alpha02

18 Eylül 2024

androidx.compose.material:material-*:1.8.0-alpha02 yayınlanır. 1.8.0-alpha02 sürümü bu taahhütleri içerir.

Sürüm 1.8.0-alpha01

4 Eylül 2024

androidx.compose.material:material-*:1.8.0-alpha01 yayınlanır. 1.8.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Güvenli bağımsız değişkenlerle bir bottomSheet oluşturmak için yeni NavGraphBuilder.bottomSheet oluşturucu eklendi ((I28589, I777db, b/351858980))

1.7 sürümü

Sürüm 1.7.6

11 Aralık 2024

androidx.compose.material:material-*:1.7.6 yayınlanır. 1.7.6 sürümü bu taahhütleri içerir.

1.7.5 sürümü

30 Ekim 2024

androidx.compose.material:material-*:1.7.5 yayınlanır. 1.7.5 sürümü bu taahhütleri içerir.

Sürüm 1.7.4

16 Ekim 2024

androidx.compose.material:material-*:1.7.4 yayınlanır. 1.7.4 sürümü bu taahhütleri içerir.

1.7.2 sürümü

18 Eylül 2024

androidx.compose.material:material-*:1.7.2 yayınlanır. 1.7.2 sürümü bu taahhütleri içerir.

1.7.1 sürümü

10 Eylül 2024

  • Android yapılarında değişiklik yapılmamıştır. -desktop yapı kaldırıldı ve -jvmStubs ile -linuxx64Stubs yapıları eklendi. Bu hedeflerin hiçbiri kullanılmak için tasarlanmamıştır. Bunlar, Jetbrains Compose çalışmalarına yardımcı olan yer tutuculardır.

1.7.0 sürümü

4 Eylül 2024

androidx.compose.material:material-*:1.7.0 yayınlanır. 1.7.0 sürümü bu taahhütleri içerir.

1.6.0 sürümünden bu yana yapılan önemli değişiklikler

  • Material bileşenleri, yeni dalga API'lerini kullanacak şekilde taşındı ve artık RippleTheme'yi sorgulamaz.
  • Daha önce MutableInteractionSource kabul eden ve varsayılan olarak remember { MutableInteractionSource() } olan materyal bileşenleri artık null kabul eder ve varsayılan olarak null olur.MutableInteractionSource MutableInteractionSource öğesini kaldırmayıp kullanmıyorsanız null değerini iletmeniz gerekir. Bu sayede bazı bileşenler, yalnızca gerektiğinde bir örnek oluşturarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.
  • BottomDrawer, ModalBottomSheet, BackdropScaffold ve standart Bottomsheet kararlı API'ye yükseltildi.

Sürüm 1.7.0-rc01

21 Ağustos 2024

androidx.compose.material:material-*:1.7.0-rc01 yayınlanır. 1.7.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta07

7 Ağustos 2024

androidx.compose.material:material-*:1.7.0-beta07 yayınlanır. 1.7.0-beta07 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta06

24 Temmuz 2024

androidx.compose.material:material-*:1.7.0-beta06 yayınlanır. 1.7.0-beta06 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta05

10 Temmuz 2024

androidx.compose.material:material-*:1.7.0-beta05 yayınlanır. 1.7.0-beta05 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta04

26 Haziran 2024

androidx.compose.material:material-*:1.7.0-beta04 yayınlanır. 1.7.0-beta04 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta03

12 Haziran 2024

androidx.compose.material:material-*:1.7.0-beta03 yayınlanır. 1.7.0-beta03 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-beta02

29 Mayıs 2024

androidx.compose.material:material-*:1.7.0-beta02 yayınlanır. 1.7.0-beta02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bağlantıların stilini belirlemek için API'yi güncelleme: TextLinkStyles öğesini TextStyle öğesine taşıdık ve TextDefaults öğesini materyalden kaldırdık (I5477b)

Sürüm 1.7.0-beta01

14 Mayıs 2024

androidx.compose.material:material-*:1.7.0-beta01 yayınlanır. 1.7.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Metin biçiminde Materyal temalı bağlantılar almak için API güncellendi. Özellikle, temalı LinkAnnotations oluşturmak ve temalı bağlantılarla HTML'yi ayrıştırmak için TextDefaults'ten yöntemler kaldırıldı. Bunun yerine, bağlantılara stil uygulamak için metin bileşenine parametre olarak TextLinkStyles sınıfı eklendi. (I31b93)

Sürüm 1.7.0-alpha08

1 Mayıs 2024

androidx.compose.material:material-*:1.7.0-alpha08 yayınlanır. 1.7.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • backgroundColor'ün TextFieldDecorationBox ve OutlinedTextFieldDecorationBox için geçerli olmaması sorununu düzeltin. Dekorasyon kutuları artık shape parametresini kabul ediyor. (I371c2, b/307694651)
  • RippleConfiguration#isEnabled kaldırıldı ve LocalRippleConfiguration boş değer kabul edecek şekilde ayarlandı. Bir dalgalanmayı devre dışı bırakmak için isEnabled = false ile RippleConfiguration yerine null ile LocalRippleConfiguration sağlayın. (I22725)
  • Metin bağlantılarında normal stil, fareyle üzerine gelinen ve odaklanan stilin yanı sıra basılı durum stili seçeneği bulunur. TextDefaults yöntemlerinin her biri bunu destekleyen bir pressedStyle bağımsız değişkenine sahiptir. (Ic473f, b/139312671)

Hata Düzeltmeleri

  • OutlinedTextField etiketi için üst dolgu artık sistem yazı tipi boyutunu hesaba katıyor. (Idc781)

Sürüm 1.7.0-alpha07

17 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha07 yayınlanır. 1.7.0-alpha07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Metin bağlantıları, normal stilin yanı sıra fareyle üzerine gelinen ve odaklanan stil seçeneklerine de sahip oldu. (I5f864, b/139312671)
  • Bağlantılara MaterialTheme uygulayan LinkAnnotation oluşturma ve HTML etiketli dizeyi ayrıştırma yöntemleri içeren bir TextDefaults nesnesi eklendi. (I98532, b/139312671)

Sürüm 1.7.0-alpha06

3 Nisan 2024

androidx.compose.material:material-*:1.7.0-alpha06 yayınlanır. 1.7.0-alpha06 sürümü bu taahhütleri içerir.

Duyuru

  • androidx.compose.material artık bu maven grubundaki her yapının aynı sürümünü kullanmayı gerektirmiyor. Kullanıcılar, Compose temel kitaplıklarının (Ie5fba) sürümlerini bir arada kullanabilir.

API Değişiklikleri

  • Daha fazla ModalDrawer ve BottomDrawer varsayılan ayarı DrawerDefaults nesnesine taşındı. (Ib5b2e)

Sürüm 1.7.0-alpha05

20 Mart 2024

androidx.compose.material:material-*:1.7.0-alpha05 yayınlanır. 1.7.0-alpha05 sürümü bu taahhütleri 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ınlanır. 1.7.0-alpha04 sürümü bu taahhütleri içerir.

Yeni Özellikler

Sürüm 1.7.0-alpha03

21 Şubat 2024

androidx.compose.material:material-*:1.7.0-alpha03 yayınlanır. 1.7.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • BottomDrawer, deneysel sürümden kararlı sürüme geçirildi. BottomDrawerState artık ilerlemeyi işlev olarak gösterir ve belirli hedefler arasındaki ilerlemeyi sorgulamanıza olanak tanır. BottomDrawerState artık animasyon spesifikasyonunu özelleştirmeye izin veriyor ve confirmStateChange artık sona gelen bir lambda değil. (I9c029, b/261423850)
  • BackdropScaffold, deneysel sürümden kararlı sürüme geçirildi. Animasyon spesifikasyonu, yönergelere uygun olarak artık tween spesifikasyonudur. Sonraki lambdalarla ilgili karışıklığı önlemek için BackdropScaffold işlevinin snackbarHost parametresi artık son parametre değildir. BackdropScaffoldState, ankrajlar arasındaki ilerlemeyi sorgulamak için bir progress(from, to) API'si sağlar. (I73f48, b/261423218)
  • Standart alt sayfalar, deneysel sürümden kararlı sürüme geçirildi. Desteği sonlandırılan kurucular kaldırıldı. Animasyon spesifikasyonu, yönergelere uygun olarak artık bir tween spesifikasyonudur. (I3c1a8, b/278692145, b/261409034)
  • Kalıcı alt sayfalar, deneysel sürümden kararlı sürüme geçirildi. Desteği sonlandırılan kurucular kaldırıldı. Animasyon spesifikasyonu, yönergelere uygun olarak artık tween spesifikasyonudur. (Ic53f4, b/278692145, b/266780235, b/261409034)

Hata Düzeltmeleri

  • BackdropScaffold'ün, LookaheadScope ile birlikte belirli senaryolarda kilitlenmesine neden olan sorun düzeltildi. (I51396)
  • Performansı iyileştirmek için BottomSheetScaffold içindeki alt kompozisyon kaldırıldı. BottomSheetScaffold'ün LookaheadScope ile birlikte belirli senaryolarda kilitlenmesine neden olan sorun düzeltildi. (I2f90c)
  • ModalBottomSheetLayout içindeki alt kompozisyon kaldırıldı, performans iyileştirildi. (I7a025)

Sürüm 1.7.0-alpha02

7 Şubat 2024

androidx.compose.material:material-*:1.7.0-alpha02 yayınlanır. 1.7.0-alpha02 sürümü bu taahhütleri içerir.

Sürüm 1.7.0-alpha01

24 Ocak 2024

androidx.compose.material:material-*:1.7.0-alpha01 yayınlanır. 1.7.0-alpha01 sürümü bu taahhütleri içerir.

Davranış Değişiklikleri

  • Materyal bileşenleri, yeni dalga API'lerini kullanacak şekilde taşındı ve artık RippleTheme'yi sorgulamaz.

API Değişiklikleri

  • rememberRipple ve RippleTheme, material-ripple'den kullanımdan kaldırıldı. Material ve diğer tasarım sistemi kitaplıklarına yeni ripple ve RippleConfiguration API'leri eklendi.

  • Daha önce MutableInteractionSource kabul eden ve varsayılan olarak { MutableInteractionSource() }'ı hatırlayan materyal bileşenleri artık null kabul ediyor ve varsayılan olarak null değerini alıyor.MutableInteractionSource MutableInteractionSource öğesini kaldırmayıp kullanmıyorsanız null değerini iletmeniz gerekir. Bu sayede bazı bileşenler, yalnızca gerektiğinde bir örnek oluşturarak performansı artırır. Kendi bileşenlerinizde de benzer değişiklikler yapmanız önerilir.

1.6 sürümü

1.6.8 sürümü

12 Haziran 2024

androidx.compose.material:material-*:1.6.8 yayınlanır. 1.6.8 sürümü bu taahhütleri içerir.

1.6.7 sürümü

1 Mayıs 2024

androidx.compose.material:material-*:1.6.7 yayınlanır. 1.6.7 sürümü bu taahhütleri içerir.

1.6.6 sürümü

17 Nisan 2024

androidx.compose.material:material-*:1.6.6 yayınlanır. Son sürümden bu yana değişiklik yok.

1.6.5 sürümü

3 Nisan 2024

androidx.compose.material:material-*:1.6.5 yayınlanır. 1.6.5 sürümü bu taahhütleri içerir.

1.6.4 sürümü

20 Mart 2024

androidx.compose.material:material-*:1.6.4 yayınlanır. 1.6.4 sürümü bu taahhütleri içerir.

Sürüm 1.6.3

6 Mart 2024

androidx.compose.material:material-*:1.6.3 yayınlanır. 1.6.3 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ExposedDropdownMenu'teki gerileme sorununu düzelterek tekrar odaklanılabilir hale getirin. (c0e0ed, b/323694447)

Sürüm 1.6.2

21 Şubat 2024

androidx.compose.material:material-*:1.6.2 yayınlanır. 1.6.2 sürümü bu taahhütleri içerir.

1.6.1 sürümü

7 Şubat 2024

androidx.compose.material:material-*:1.6.1 yayınlanır. 1.6.1 sürümü bu taahhütleri içerir.

1.6.0 sürümü

24 Ocak 2024

androidx.compose.material:material-*:1.6.0 yayınlanır. 1.6.0 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-rc01

10 Ocak 2024

androidx.compose.material:material-*:1.6.0-rc01 yayınlanır. 1.6.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-beta03

13 Aralık 2023

androidx.compose.material:material-*:1.6.0-beta03 yayınlanır. 1.6.0-beta03 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-beta02

29 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta02 yayınlanır. 1.6.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-beta01

15 Kasım 2023

androidx.compose.material:material-*:1.6.0-beta01 yayınlanır. 1.6.0-beta01 sürümü bu taahhütleri içerir.

Sürüm 1.6.0-alpha08

18 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha08 yayınlanır. 1.6.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • materialIcon işlevinin desteğini sonlandırıp autoMirror parametresi alan aşırı yüklemesini tercih edin. (Ia338d)

Hata Düzeltmeleri - Büyük içerikler için gezinme öğesinin yüksekliğini otomatik olarak artırma. (0c4ecc, b/272336962)

Sürüm 1.6.0-alpha07

4 Ekim 2023

androidx.compose.material:material-*:1.6.0-alpha07 yayınlanır. 1.6.0-alpha07 sürümü bu taahhütleri 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ınlanır. 1.6.0-alpha06 sürümü bu taahhütleri içerir.

Davranışta Değişiklik Yapan Değişiklik

  • Çekmeceli dolapla ilgili işlevler BottomSheetScaffold'ten kaldırıldı. Önceki işlevselliğe ulaşmak için BottomSheetScaffold öğenizi bir Drawer bileşenine sarın. Örnek için bkz. BottomSheetScaffoldWithDrawerSample. (I1dcc8)

API Değişiklikleri

  • İskeletin alt öğelerini ölçüm sırasında mı yoksa yerleşim sırasında mı ölçmesi gerektiğini kontrol etmek için geçici bir işaret eklendi. Bu, varsayılan olarak ölçümde ölçülür. Yeni davranışla ilgili sorun yaşıyorsanız lütfen sorun kaydı oluşturun. (If6e3b)

Sürüm 1.6.0-alpha05

6 Eylül 2023

androidx.compose.material:material-*:1.6.0-alpha05 yayınlanır. 1.6.0-alpha05 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Sağdan sola düzenler halinde oluşturulan simgelerin otomatik olarak yansıtılması için destek eklendi. material-icons-core ve material-icons-extended modüllerindeki simgeler artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge kümeleri sağlıyor. Yeni grupların önüne Icons.AutoMirrored.Filled... vb. ön ek eklenir ve bu gruplar, RTL düzenlerinde otomatik olarak yansıtılacak simgeler içerir. Otomatik olarak yansıtılabilen (ve yansıtılması gereken) simgelerin listesi için Material simgelerinin listesine bakın.

API Değişiklikleri

  • Sağdan sola düzenler halinde oluşturulan simgelerin otomatik olarak yansıtılması için destek eklendi. material-icons-core ve material-icons-extended modüllerindeki simgeler artık simge izin verdiğinde otomatik yansıtmayı desteklemek için ek simge kümeleri sağlıyor. Yeni grupların önüne Icons.AutoMirrored.Filled... vb. ön ek eklenir ve bu gruplar, RTL düzenlerinde otomatik olarak yansıtılacak simgeler içerir. Otomatik olarak yansıtılabilen (ve yansıtılması gereken) simgelerin listesi için Material simgelerinin 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 bir değiştirme bloğu önerisi sağlanmaktadır. Sağdan sola metin yazan dillerde simgeleri yansıtmak için özel bir işlem yapmıyorsanız yeni simge grubuna geçmenizi öneririz. Örneğin, Icons.Filled.ArrowBack, Icons.AutoMirrored.Filled.ArrowBack olarak yeniden yapılandırılmalıdır. (I4b511)

Sürüm 1.6.0-alpha04

23 Ağustos 2023

androidx.compose.material:material-*:1.6.0-alpha04 yayınlanır. 1.6.0-alpha04 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • LookaheadScope içinde bir Scaffold içinde Subcomposition (ör. BottomSheetScaffold) kullanan bazı bileşenlerin boyutlarını çok erken okumaya çalıştığı sorun düzeltildi. (If2c5d)
  • DropdownMenu'nin offset hesaplaması düzeltildi. Böylece x ofsetleri yalnızca yerel düzen yönüne bağlı olacak ve menü ekranın alt kısmına yakın olduğunda y ofsetleri artık tersine çevrilmeyecek. (Iccc74, b/294103942)
  • BottomSheetScaffold'ün iç düzenini optimize ettik ve LookaheadLayout içinde BottomSheetScaffold ile ilgili olası bir sorunu düzelttik. (Ic0afa)

Sürüm 1.6.0-alpha03

9 Ağustos 2023

androidx.compose.material:material-*:1.6.0-alpha03 yayınlanır. 1.6.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Material2 bileşenleri artık Android'de kenardan kenara işlevini desteklemek için windowInsets değerini iletmek üzere ayrı bir API'ye sahiptir. material3 bileşenlerinin aksine, material2 bileşenleri varsayılan olarak iç içe eklemeleri desteklemez ve değer manuel olarak iletilmelidir. Yardım için ilgili örneklere bakın. (I655e8)

Sürüm 1.6.0-alpha02

26 Temmuz 2023

androidx.compose.material:material-*:1.6.0-alpha02 yayınlanır. 1.6.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu, aşağıdaki bileşenler için geçerlidir: SwipeToDismiss ve E-Tablo tabanlı bileşenler. Lütfen yoğunluğun parametre olduğu durumlarda sağlanan yeni aşırı yüklemeyi kullanın. (I1846e)
  • Birleştirilebilir öğelere izin verilen girişleri belirtmek için ek ek açıklamalar (I51109)
  • API dosyaları, uyumluluğu engellemeyle ilgili not eklemek için güncellendi (I8e87a, b/287516207)
  • FabPosition (Ib7aea, b/170592777) için yeni Başlangıç hizası eklendi
  • 2. materyaldeki TextFieldColorsWithIcons, TextFieldColors ile değiştirilerek kullanımdan kaldırıldı. leadingIconColor veya trailingIconColor'ü geçersiz kılarken aşırı yüklemeyi de interactionSource ile geçersiz kılın. (Id57ed, b/199377790)

Sürüm 1.6.0-alpha01

21 Haziran 2023

androidx.compose.material:material-*:1.6.0-alpha01 yayınlanır. 1.6.0-alpha01 sürümü bu taahhütleri içerir.

Davranış Değişiklikleri

  • Material 2 yazı tipinde includeFontPadding artık varsayılan olarak false olarak kullanılıyor. Varsayılan satır yüksekliği stili de Trim.None ve Alignment.Center olarak değiştirildi ve Typography'ın TextStyle'larına açık lineHeight (sp cinsinden) eklendi. Bu değerleri özelleştirmek istiyorsanız API dokümanlarına göz atın ve bu değişikliklerle ilgili ayrıntılı açıklama için blog yayınını inceleyin. (Icabc3, I3f801, I04c03)

API Değişiklikleri

  • Material'ın Swipeable API'lerinin desteği sonlandırıldı. Lütfen hem basit hem de karmaşık kullanım alanları için optimize edilmiş Foundation'ın AnchoredDraggable API'lerine bakın. (I732e0)

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (sabitlenmiş) ankraj ile kaydırma yönündeki en yakın ankraj arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Sürüm 1.5

Sürüm 1.5.4

18 Ekim 2023

androidx.compose.material:material-*:1.5.4 yayınlanır. 1.5.4 sürümü bu taahhütleri içerir.

Sürüm 1.5.3

4 Ekim 2023

androidx.compose.material:material-*:1.5.3 yayınlanır. Bu sürümde herhangi bir değişiklik yok

Sürüm 1.5.2

27 Eylül 2023

androidx.compose.material:material-*:1.5.2 yayınlanır. 1.5.2 sürümü bu taahhütleri içerir.

Sürüm 1.5.1

6 Eylül 2023

androidx.compose.material:material-*:1.5.1, herhangi bir değişiklik yapılmadan yayınlanır. 1.5.1 sürümü bu taahhütleri içerir.

1.5.0 sürümü

9 Ağustos 2023

androidx.compose.material:material-*:1.5.0 yayınlanır. 1.5.0 sürümü bu taahhütleri içerir.

1.4.0'dan bu yana yapılan önemli değişiklikler

API Değişiklikleri

  • BottomSheetScaffold sürüşülebilir API'lerinde yapılan değişiklikleri dahil etti. BottomSheetState adlı kullanıcının confirmStateChange parametresi confirmValueChange olarak yeniden adlandırıldı. progress artık kayan nokta değeri olarak gösteriliyor. animateTo ve snapTo dahilidir. Bunun yerine expand() ve collapse() politikalarını kullanın. direction ve overflow kaldırıldı. offset, requireOffset() ile değiştirildi. I323b4
  • Drawer'daki snapTo işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368)
  • Dairesel ilerleme durumu göstergeleri için bir parça rengi parametresi ve hem dairesel hem de doğrusal ilerleme durumu göstergeleri için bir fırça kapağı parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState'nin confirmStateChange olarak ayarlanmış confirmValueChange olarak değiştirildi. (Ib48d1)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğenin boyutu daha küçükse dokunma etkileşimlerinin anlamını açıklığa kavuşturmak için en az 48.dp boyutunda yer ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout sürüşülebilir API'lerinde değişiklikler yapıldı. ModalBottomSheetState'nin animateTo artık animationSpec parametresi almıyor ve gösterilen ofset artık boş değer alabilir. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (Ia2e79)
  • @JvmDefaultWithCompatibility ek açıklaması (I8f206) ekleniyor
  • ModalDrawer. DrawerState'nin animateTo sürümünde, kaydırılabilir API'lerde yapılan değişiklikler dahil edildi. animateTo, open ve close yöntemleriyle değiştirildi ve ofset artık null olabilir. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (I3de9e)
  • Çekme panelleri ve sayfalar, hareketlerin kaydırma etkinliklerine dönüşebileceği durumlarda basmaları doğru şekilde geciktirmek için güncellendi.
  • material ve material3 metinlerine minLines parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğini satır sayısı açısından ayarlamanıza olanak tanır (I4af1d)TextFieldOutlinedTextField

Hata Düzeltmeleri

  • pullRefresh'ün hızı tüketmemesi ve bunun da aşırı kaydırmanın gösterilmesine neden olması sorunu düzeltildi. Ayrıca, Modifier.pullRefresh içindeki onRelease lambda işlevinin API imzasını, tüketilen hız için bir Float döndürecek şekilde değiştirildi (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (sabitlenmiş) ankraj ile kaydırma yönündeki en yakın ankraj arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • İşlemler iletişim kutusunun genişliğine sığmak için üst üste yığıldığında AlertDialog kapatma işleminin onay işleminin altında görünmesi düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)
  • gesturesEnabled false olarak ayarlandığında BottomSheetScaffold artık iç içe yerleştirilmiş kaydırmaya katılmaz. (I634f3, b/215403277)
  • Yuvalara boş içerik sağlandığında BottomSheetScaffold'ün kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • PullRefreshIndicator'ün tıklamaları/işaretçi etkinliklerini durdurması düzeltildi. (2494256, b/271777421)
  • ModalBottomSheetLayout'ün, yön değişikliğinde uç durumda kilitlenmesi sorunu düzeltildi. Sayfa içeriğindeki/üzerindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz bir şekilde çalışıyor. (I2f981, b/266780234)

Sürüm 1.5.0-rc01

26 Temmuz 2023

androidx.compose.material:material-*:1.5.0-rc01 yayınlanır. 1.5.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.5.0-beta03

28 Haziran 2023

androidx.compose.material:material-*:1.5.0-beta03 yayınlanır. 1.5.0-beta03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • BottomSheetState, ModalBottomSheetState ve BottomDrawerState artık mevcut (sabitlenmiş) ankraj ile kaydırma yönündeki en yakın ankraj arasındaki ilerlemeyi gösteren bir ilerleme özelliği sunuyor. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Sürüm 1.5.0-beta02

7 Haziran 2023

androidx.compose.material:material-*:1.5.0-beta02 yayınlanır. 1.5.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.5.0-beta01

24 Mayıs 2023

androidx.compose.material:material-*:1.5.0-beta01 yayınlanır. 1.5.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • DrawerState ve BottomDrawerState'ın ofseti artık null olabilir. Bunun yerine, ofsetin olmadığını belirtmek için Float.NaN döndürürler. (Ie9855)
  • Görüntülenen menü öğelerinin dikey kaydırma durumunu kontrol etmek için DropdownMenu veya ExposedDropdownMenu oluştururken ScrollState iletme seçeneği eklendi. (Idb009, b/185304441)
  • Kullanıcının daha fazla özellikli altbilgi için bu ayarı yapılandırabilmesi amacıyla ModalBottomSheetLayout hareketinin etkinleştirilmesi/devre dışı bırakılması desteğini ekleyin (I40af0)
  • Metin rengini verimli bir şekilde animasyonlu hale getirmek veya ayarlamak için BasicText parametresine bir renk parametresi eklendi. (Iffd88, b/246961787)
  • isContainer olan semantik mülkünün adını isTraversalGroup olarak değiştirme (I121f6)

Hata Düzeltmeleri

  • İşlemler iletişim kutusunun genişliğine sığmak için üst üste yığıldığında AlertDialog kapatma işleminin onay işleminin altında görünmesi düzeltildi. Bu düzeltme, uygulamayı Materyal Tasarım spesifikasyonuyla uyumlu hale getirir. (I029de, b/235454277)

Sürüm 1.5.0-alpha04

10 Mayıs 2023

androidx.compose.material:material-*:1.5.0-alpha04 yayınlanır. 1.5.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Yoğunluk bağımlılığını bileşen düzeyine taşıyoruz. Bu durum şu bileşenler için geçerlidir: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. Lütfen yoğunluğun parametre olduğu durumlarda sağlanan yeni aşırı yüklemeyi kullanın. (I8fbd8)

Sürüm 1.5.0-alpha03

19 Nisan 2023

androidx.compose.material:material-*:1.5.0-alpha03 yayınlanır. 1.5.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • BottomDrawer dahililerini yeni SwipeableV2 API'lerini kullanacak şekilde güncelleyin. Bu nedenle BottomDrawerState artık yalnızca sınıf düzeyinde tanımlanmış API'lere sahip olacak ve SwipeableState'dan yöntem/mülk devralmayacak. Dahili bir SwipeableV2State ile kompozisyon kullanıyoruz. Ofset artık boş bırakılabilen bir kayan nokta mülküdür. Mevcut değere ve kaydırma hedef değerine currentValue ve targetValue mülkleri aracılığıyla yine erişilebilir. open/expand/close gibi önceki sınıf düzeyindeki yöntemler ve isOpen/isClosed gibi mülkler desteklenmeye devam eder. (Iad40c, b/178529942, b/220676296)

Hata Düzeltmeleri

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

Sürüm 1.5.0-alpha02

5 Nisan 2023

androidx.compose.material:material-*:1.5.0-alpha02 yayınlanır. 1.5.0-alpha02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Yuvalara boş içerik sağlandığında BottomSheetScaffold'ün kilitlenmesine neden olan hata düzeltildi. (Ib24a5, b/235588730)
  • PullRefreshIndicator'ün tıklamaları / işaretçi etkinliklerini durdurması sorunu düzeltildi (2494256, b/271777421)

Sürüm 1.5.0-alpha01

22 Mart 2023

androidx.compose.material:material-*:1.5.0-alpha01 yayınlanır. 1.5.0-alpha01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Bir çip grubu yeniden akışı örneği ekleyin. Tek satırlık çip grubu örneğindeki alt çipler arasındaki yatay dolguyu spesifikasyonla eşleşecek şekilde güncelleyin. (I3b155)
  • ModalBottomSheetLayout'ün, yön değişikliğinde uç durumda kilitlenmesi sorunu düzeltildi. Sayfa içeriğindeki/üzerindeki düzen animasyonları (ör. Modifier.animateContentSize) artık sorunsuz bir şekilde çalışıyor. (I2f981, b/266780234)

Sürüm 1.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.material:material-*:1.4.3, herhangi bir değişiklik içermeden (yalnızca sürüm yükseltmesi) yayınlanır.

1.4.2 sürümü

19 Nisan 2023

androidx.compose.material:material-*:1.4.2 yayınlanır. 1.4.2 sürümü bu taahhütleri içerir.

Sürüm 1.4.1

5 Nisan 2023

androidx.compose.material:material-*:1.4.1 yayınlanır. 1.4.1 sürümü bu taahhütleri içerir.

1.4.0 sürümü

22 Mart 2023

androidx.compose.material:material-*:1.4.0 yayınlanır. 1.4.0 sürümü bu taahhütleri içerir.

1.3.0 sürümünden bu yana yapılan önemli değişiklikler

API Değişiklikleri

  • Modifier.minimumInteractiveComponentSize ekleyin. Öğenin boyutu daha küçükse dokunma etkileşimlerinin anlamını açıklığa kavuşturmak için en az 48.dp boyutunda yer ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)
  • ModalDrawer sürüşülebilir API'lerinde değişiklikler yapıldı. DrawerState'nin animateTo özelliği, open ve close yöntemleriyle değiştirildi ve ofset artık null olabilir. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (I3de9e)
  • material ve material3 metinlerine minLines parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğini satır sayısı açısından ayarlamanıza olanak tanır (I4af1d)TextFieldOutlinedTextField
  • BasicText ve BasicTextField öğesine minLines parametresi eklendi. Bu bileşenlerin minimum yüksekliğini satır sayısı açısından ayarlamanıza olanak tanır (I24294, b/122476634)

Sürüm 1.4.0-rc01

8 Mart 2023

androidx.compose.material:material-*:1.4.0-rc01, herhangi bir değişiklik yapılmadan yayınlanır. 1.4.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.4.0-beta02

22 Şubat 2023

androidx.compose.material:material-*:1.4.0-beta02 yayınlanır. 1.4.0-beta02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • BottomSheetScaffold sürüşülebilir API'lerinde değişiklikler yapıldı. BottomSheetState adlı kullanıcının confirmStateChange parametresi confirmValueChange olarak yeniden adlandırıldı. progress artık kayan nokta değeri olarak gösteriliyor. animateTo ve snapTo dahilidir. Bunun yerine expand() ve collapse() politikalarını kullanın. direction ve overflow kaldırıldı. offset, requireOffset() ile değiştirildi. (I323b4)

Hata Düzeltmeleri

  • Tıklanabilir ve seçilebilir yüzeylerden semantik roller kaldırıldı, bunları kullanarak rolleri ayarlamak için modifier.semantics'i kullanan bileşenler güncellendi (Ibb4ba)
  • Genişletilmiş Materyal simgelerinde, dolu desktop_mac, directions ve kitchen simgelerinde küçük bir güncelleme yapıldı. (I65f5e)

Sürüm 1.4.0-beta01

8 Şubat 2023

androidx.compose.material:material-*:1.4.0-beta01 yayınlanır. 1.4.0-beta01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • pullRefresh'ün hızı tüketmemesi ve bunun da aşırı kaydırmanın gösterilmesine neden olduğu sorun düzeltildi. Ayrıca, Modifier.pullRefresh içindeki onRelease lambda işlevinin API imzasını, tüketilen hız için bir Float döndürecek şekilde değiştirildi (I7db65, b/266874741)
  • LocalMinimuTouchTargetEnforcement mülk alıcısını geri yükleyin, desteği sonlandırıldı olarak işaretleyin ve LocalMinimumInteractiveComponentEnforcement adresine yönlendirin. (I60dd5)

Sürüm 1.4.0-alpha05

25 Ocak 2023

androidx.compose.material:material-*:1.4.0-alpha05 yayınlanır. 1.4.0-alpha05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • ModalBottomSheetLayout's HalfExpanded durumunun yanlış hesaplanması ve sayfanın yüzer görünmesine neden olan sorun düzeltildi. (I8c615, b/265610459)
  • ModalBottomSheetLayout'te, bazı durumlarda gizli durumdan görünür duruma geçerken sayfanın kilitlenmesine yol açan bir 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ınlanır. 1.4.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Surfaces'te IsContainer semantik özelliğine eklendi. Bu özellik, yüzeyler gibi öğelerin anlamsal anlamına göre gezinme sırasını belirleyen daha sonraki bir değişiklikte kullanılır. (I63379)
  • Drawer'daki snapTo işlevini deneysel olmayan API olarak işaretleyin. (Ib9c18, b/261425368)
  • Dairesel ilerleme durumu göstergeleri için bir parça rengi parametresi ve hem dairesel hem de doğrusal ilerleme durumu göstergeleri için bir fırça kapağı parametresi eklendi. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver ve rememberModalBottomSheetState'nin confirmStateChange adlı dosyası confirmValueChange olarak yeniden adlandırıldı. (Ib48d1)
  • Kullanımdan kaldırılan ve gizlenen işlevlerin daha fazla dönüş türü için boş değer kabul edilebilirlik durumu (Ibf7b0)
  • Modifier.minimumInteractiveComponentSize ekleyin. Öğenin boyutu daha küçükse dokunma etkileşimlerinin anlamını açıklığa kavuşturmak için en az 48.dp boyutunda yer ayırmak amacıyla kullanılabilir. (I33f58, b/258495559)
  • ModalBottomSheetLayout sürüşülebilir API'lerinde değişiklikler yapıldı. ModalBottomSheetState'nin animateTo artık animationSpec parametresi almıyor ve gösterilen offset artık boş değer kabul ediyor. offset özelliğini zorunlu kılmak için requireOffset kullanın. (Ia2e79)

Hata Düzeltmeleri

  • ModalBottomSheetLayout e-tablolarının maksimum genişliği artık 640 dp'dir. (I71a4f, b/234927577)
  • rememberPullRefreshState'ün zaman içinde refreshThreshold ve refreshingOffset'yi güncellememesiyle ilgili sorun düzeltildi. (Ifed10, b/263159832)
  • İlerleme durumu göstergelerinin ilerleme durumu artık beklenen aralıkla düzgün şekilde sınırlandırılmıştır. (I8a7eb, b/262262727)
  • ModalBottomSheetState henüz herhangi bir ankraj almamışsa snapTo veya animateTo çağrıldığında istisna atma yerine currentValue'ı animasyon olmadan günceller. (I2c91b)
  • Material 2 FilterChip uygulamasında etkin durum düzeltildi. (Id326a, b/261329817)
  • Dikeyden yatay yöne döndürüldüğünde ModalBottomSheetLayout HalfExpanded ise kilitlenme sorunu düzeltildi. Lütfen doğru initialValue değerini ilettiğinizden emin olun (örneğin, yapılandırmayı kontrol ederek). (Ie8df7, b/182882364)
  • E-tablo içeriği boşsa ModalBottomSheetLayout'ün kilitlenmesine neden olan sorun düzeltildi. ModalBottomSheetLayout artık boş sayfa içeriğine izin veriyor. E-tablo içeriği boşsa yalnızca Gizli durumunda olur. (Ic2288, b/200980998, b/216693030)

Bilinen Sorun

  • androidx.compose.foundation:1.4.0-alpha03 sürümünden androidx.compose.foundation:1.4.0-alpha04 sürümüne güncelleme yaparken java.lang.NoSuchFieldError hatasıyla karşılaşabilirsiniz. Sorunun ilk olarak bildirildiği yer burada. Gönderilen düzeltme, bir sonraki Oluştur güncellemesinde kullanıma sunulacaktır. Bu sorunu geçici olarak çözmek için androidx.compose.material ve androidx.compose.material3 kitaplıklarınızı en son sürüme(1.1.0-alpha04) güncelleyin veya androidx.compose.foundation sürümünüzü 1.4.0-alpha03'e düşürün.

Sürüm 1.4.0-alpha03

7 Aralık 2022

androidx.compose.material:material-*:1.4.0-alpha03 yayınlanır. 1.4.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • @JvmDefaultWithCompatibility ek açıklaması ekleniyor (I8f206)
  • ModalDrawer API'lerinde ModalDrawer tarihinde yapılan değişiklikleri dahil etti.Swipeable DrawerState'nin animateTo yöntemi, open ve close yöntemleriyle değiştirildi ve ofset artık boş değer alabilir. Ofseti zorunlu kılmak için requireOffset öğesini kullanın. (I3de9e)
  • Üst öğelerin kaydırma bilgilerini sorgulamak için bir Değiştirici API eklendi. (I2ba9d, b/203141462)
  • Hareketlerin kaydırma etkinlikleri haline gelebileceği durumlarda, basma etkileşimlerini doğru şekilde geciktirmek için Clickable içinde kullanılır.
  • Clickables öğesinin, Scrollable ViewGroup içinde kullanıldığında dalgaların doğru şekilde geciktilmemesi sorunu düzeltildi.
  • Çekme panelleri ve sayfalar, hareketlerin kaydırma etkinliklerine dönüşebileceği durumlarda basmaları doğru şekilde geciktirmek için güncellendi.

Hata Düzeltmeleri

  • Yenileme durumu true olarak değiştirilmezse onRefresh çağrıldıktan sonra PullRefreshIndicator'ün takılı kalmasına neden olan sorun düzeltildi. (Ie2416, b/248274004)

Bağımlılık Güncellemeleri

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

Sürüm 1.4.0-alpha02

9 Kasım 2022

androidx.compose.material:material-*:1.4.0-alpha02 yayınlanır. 1.4.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • awaitFirstDown ve waitForUpOrCancellation artık daha fazla esneklik için PointerEventPass kabul ediyor. (I7579a, b/212091796)
  • material ve material3 metinlerine minLines parametresi eklendi. Bu parametre, bileşenin minimum yüksekliğini satır sayısı açısından ayarlamanıza olanak tanır (I4af1d)TextFieldOutlinedTextField
  • BasicText ve BasicTextField öğesine minLines parametresi eklendi. Bu bileşenlerin minimum yüksekliğini satır sayısı açısından ayarlamanıza olanak tanır (I24294, b/122476634)

Sürüm 1.4.0-alpha01

24 Ekim 2022

androidx.compose.material:material-*:1.4.0-alpha01 yayınlanır. 1.4.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Hareket algılayıcılar için awaitEachGesture() adlı yeni bir yöntem eklendi. forEachGesture()'e benzer şekilde çalışır ancak hareketler üzerinde döngü tamamen AwaitPointerEventScope içinde çalıştığından etkinlikler iterasyonlar arasında kaybolmaz.
  • forEachGesture(), hareketler arasında etkinliklerin kaybolmasına neden olduğu için desteği sonlandırıldı ve awaitEachGesture() ile değiştirildi. (Iffc3f, b/251260206)

Sürüm 1.3

1.3.1 sürümü

9 Kasım 2022

androidx.compose.material:material-*:1.3.1 yayınlanır. 1.3.1 sürümü bu taahhütleri içerir.

1.3.0 sürümü

24 Ekim 2022

androidx.compose.material:material-*:1.3.0 yayınlanır. 1.3.0 sürümü bu taahhütleri içerir.

1.2.0 sürümünden bu yana yapılan önemli değişiklikler

Davranışları bozan değişiklik

  • İletişim kutularında ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.

API Değişiklikleri

  • Oluştur'a (I29168) Ekranı Kaydırarak Yenile bileşeni ekleyin.
  • RangeSlider (I3b79a) öğesinde parametre adını values yerine value olarak değiştirin.

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.material:material-*:1.3.0-rc01 yayınlanır. 1.3.0-rc01 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-beta03

21 Eylül 2022

androidx.compose.material:material-*:1.3.0-beta03 yayınlanır. 1.3.0-beta03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Oluştur'a Ekranı Kaydırarak Yenile bileşeni ekleme (I29168)

Sürüm 1.3.0-beta02

7 Eylül 2022

androidx.compose.material:material-*:1.3.0-beta02 yayınlanır. 1.3.0-beta02 sürümü bu taahhütleri 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ınlanır. 1.3.0-beta01 sürümü bu taahhütleri içerir.

Davranışları bozan değişiklik

İletişim kutularında ve pop-up'larda desteklenen maksimum yükseklik 8 dp'ye düşürüldü.

Oluşturma iletişim kutuları ve pop-up'lar için desteklenen maksimum yükseklik 30 dp'den 8 dp'ye düşürüldü. Bu değişiklik hem materyal hem de kullanıcı arayüzü özel iletişim kutularını ve pop-up'larını etkiler. Bu değişiklik, S sürümünden önceki Android sürümlerindeki bir erişilebilirlik hatasını azaltmak ve bu pencerelerdeki erişilebilirlik hizmetlerinin iletişim kutusunun veya pop-up'ın içindeki içerikle etkileşim kurabilmesini sağlamak için yapılmıştır.

Bu değişiklikten yalnızca, yüksekliği 8 dp'den yüksek seviyelere ayarlanmış özel bir iletişim kutusu veya pop-up uygulaması oluşturuyorsanız etkileneceksiniz. İletişim kutunuzun veya pop-up'ınızın yüksekliğini düşürebilirsiniz. Bu yeni davranışı devre dışı bırakmanız gerekiyorsa istediğiniz yükseklik ayarıyla kendi iletişim kutunuzu veya pop-up'ınızı oluşturabilirsiniz. Erişilebilirlik olumsuz yönde etkilenebileceğinden ve iletişim kutusunun veya pop-up'ın alt kısmının erişilebilirlik hizmetleri tarafından etkileşime açık ve okunabilir olmasının sorumluluğu geliştiriciye ait olduğundan bu yöntem önerilmez.

Sürüm 1.3.0-alpha03

10 Ağustos 2022

androidx.compose.material:material-*:1.3.0-alpha03 yayınlanır. 1.3.0-alpha03 sürümü bu taahhütleri içerir.

Sürüm 1.3.0-alpha02

27 Temmuz 2022

androidx.compose.material:material-*:1.3.0-alpha02 yayınlanır. 1.3.0-alpha02 sürümü bu taahhütleri içerir.

Harici Katkı

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

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.compose.material:material-*:1.3.0-alpha01 yayınlanır. 1.3.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • RangeSlider (I3b79a) parametre adının values yerine value olarak değiştirilmesi

Hata Düzeltmeleri

  • Rozet örneğini, daha anlamlı bir içerik açıklaması sağlayacak şekilde güncelleyin. (I10b9d)

Sürüm 1.2

Sürüm 1.2.1

10 Ağustos 2022

androidx.compose.material:material-*:1.2.1 yayınlanır. 1.2.1 sürümü bu taahhütleri içerir.

Sürüm 1.2.0

27 Temmuz 2022

androidx.compose.material:material-*:1.2.0 yayınlanır. 1.2.0 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-rc03

29 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc03 yayınlanır. 1.2.0-rc03 sürümü bu taahhütleri içerir.

  • 1.2.0-rc02 sürümünden 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ınlanır. 1.2.0-rc02 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-rc01

15 Haziran 2022

androidx.compose.material:material-*:1.2.0-rc01 yayınlanır. 1.2.0-rc01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Oluşturma kitaplarındaki arayüzler artık jdk8 varsayılan arayüz yöntemleri (I5bcf1) kullanılarak oluşturuluyor

Hata Düzeltmeleri

  • Rozeti, simge yerine etikete eklemek için simge ön ekiyle günceller. (I90993)

Sürüm 1.2.0-beta03

1 Haziran 2022

androidx.compose.material:material-*:1.2.0-beta03 yayınlanır. 1.2.0-beta03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • BottomSheetScaffold'ün üst uygulama çubuğunun gölgesinin üzerine çizdiği bir hata düzeltildi. BottomSheetScaffold artık bilgi çubuğu yerleştirirken sayfanın durumunu da dikkate alıyor: bilgi çubukları, daraltılmış durumdayken sayfanın ve FAB'nin üzerine, genişletilmiş durumdayken ise sayfanın alt kısmına yerleştiriliyor. (Ia80b5, b/187771422)

Sürüm 1.2.0-beta02

18 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta02 yayınlanır. 1.2.0-beta02 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-beta01

11 Mayıs 2022

androidx.compose.material:material-*:1.2.0-beta01 yayınlanır. 1.2.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Bu, 1.2 sürümünün ilk beta sürümüdür.

API Değişiklikleri

  • OutlinedTextField'te kenar çizgisi çizen TextFieldDefaults.BorderStroke kompozit öğesi 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ınlanır. 1.2.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kısmi tüketim (aşağı VEYA konum) özelliği PointerInputChange sürümünde kullanımdan kaldırıldı. Değişikliği tamamen kullanmak için consume() kullanabilirsiniz. Değişikliğin daha önce başka bir kullanıcı tarafından tüketilip tüketilmediğini belirlemek için isConsumed değerini kullanabilirsiniz.
  • PointerInputChange::copy() artık her zaman yüzeysel bir kopya oluşturuyor. Bu, PointerInputChange kopyalarının, kopyalardan biri tüketildikten sonra tüketileceği anlamına gelir. Bağlantısız bir PointerInputChange oluşturmak istiyorsanız bunun yerine kurucuyu kullanın. (Ie6be4, b/225669674)

Sürüm 1.2.0-alpha07

6 Nisan 2022

androidx.compose.material:material-*:1.2.0-alpha07 yayınlanır. 1.2.0-alpha07 sürümü bu taahhütleri içerir.

Sürüm 1.2.0-alpha06

23 Mart 2022

androidx.compose.material:material-*:1.2.0-alpha06 yayınlanır. 1.2.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Surface API'deki değişiklikleri takip etmek için tıklanabilir Card API'de yapılan güncellemeler (I56bcb)
  • Seçilebilir ve değiştirilebilir yüzeyler için ek aşırı yüklenmiş işlevler ekleyen Material 2 Surface API'de yapılan güncellemeler. (Ifcca5)

Sürüm 1.2.0-alpha05

9 Mart 2022

androidx.compose.material:material-*:1.2.0-alpha05 yayınlanır. 1.2.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • LazyVerticalGrid ve LazyHorizontalGrid artık kararlı. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt paketine taşındı. Lütfen içe aktarmalarınızı androidx.compose.foundation.lazy yerine androidx.compose.foundation.lazy.grid olarak güncelleyin. (I2d446, b/219942574)
  • WindowInsetsControllerCompat için yalnızca bir Görünüm'e dayanan önceki değişikliği geri aldık ve bazı pencere işaretçilerini yönetmek için gereken bir Pencere'yi tekrar zorunlu kıldık. Doğru pencerenin kullanılmasını sağlamak için ViewCompat.getWindowInsetsController desteği sonlandırıldı (ör. görünüm bir iletişim kutusundaysa).WindowCompat.getInsetsController (I660ae, b/219572936)
  • Metin:includeFontPadding artık varsayılan olarak kapalıdır. includeFontPadding=false nedeniyle oluşan kırpma sorunları ele alınır ve uzun komut dosyalarında kırpma olmaz. (I31c84, b/171394808)
  • Eksenler arası boyutları 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ınlanır. 1.2.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Add support for filter chips (I39a6e, b/192585545)
  • TextFieldDecorationBox ve OutlinedTextFieldDecorationBox eklendi. Bu bileşenleri BasicTextField ile birlikte kullanmak, Material Design metin alanlarına dayalı özel metin alanları oluşturmanıza yardımcı olur ancak daha fazla özelleştirme seçeneği sunar.
  • Metin alanlarında yatay ve dikey dolguları ayarlama yöntemi sağlandı. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/168003617)
  • Bir birleştirilebilir işlevin, kullanılmak üzere tasarlanmadığı bir uygulayıcıyı hedeflediğinde derleme zamanında raporlanmasına olanak tanıyan ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget eklendi.

    Çoğu durumda ek açıklamaları, derleyici eklentisi tarafından anlaşılabilir. Bu nedenle, bu ek açıklamaları doğrudan kullanmak nadir bir durumdur. Özel bir uygulayıcı oluşturma ve kullanma, soyut birleştirilebilir işlevler (arayüz yöntemleri gibi), birleştirilebilir lambda olan alanlar veya global değişkenler (yerel değişkenler ve parametreler çıkarılır) veya ComposeNode ya da ilgili birleştirilebilir işlevler kullanıldığında çıkarım yapılamaz.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode'ı çağıran birleştirilebilir işlevlerin, işlev ve tüm birleştirilebilir lambda parametresi türleri için bir CompoableTarget ek açıklaması eklemesi gerekir. Bununla birlikte, ComposableTargetMarker ile ek açıklama içeren bir ek açıklama oluşturmanız ve ardından doğrudan ComposableTarget yerine işaretlenmiş ek açıklamayı kullanmanız önerilir. ComposableTargetMarker ile işaretlenmiş bir birleştirilebilir ek açıklama, uygulayıcı parametresi olarak özellik sınıfının tam nitelikli adının yer aldığı bir ComposbleTarget ile eşdeğerdir. ComposableTargetMarker kullanımıyla ilgili bir örnek için anroidx.compose.ui.UiComposable bölümüne bakın. (I38f11)

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.material:material-*:1.2.0-alpha03 yayınlanır. 1.2.0-alpha03 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Sürüm 1.2.0-alpha02

26 Ocak 2022

androidx.compose.material:material-*:1.2.0-alpha02 yayınlanır. 1.2.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Karmaşık mantık içermeyen mevcut yöntemlerin aşırı yüklenmeleri olan yöntemlere NonRestartableComposable eklendi. Bu, çağrılan iç işlevde tekrarlanan tüm parametreler için derleyici tarafından oluşturulan hafıza önbelleğe alma kontrollerini (eşit) azaltır. (I90490)
  • İşlem çipi (I07100, b/192585545) desteği eklendi

Sürüm 1.2.0-alpha01

12 Ocak 2022

androidx.compose.material:material-*:1.2.0-alpha01 yayınlanır. 1.2.0-alpha01 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

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

Harici Katkı

  • ModalBottomSheetState adlı kullanıcının isSkipHalfExpanded işareti kaldırıldı. Oluşturucu aracılığıyla ayarlanabilir veya daha sonra ModalBottomSheetState'nin isSkipHalfExpanded özelliği true olarak ayarlanarak güncellenebilir. isSkipHalfExpanded değerinin güncellenmesi, sayfanın yeniden oluşturulmasına neden olur. (I18b86, b/186669820)

Sürüm 1.1

1.1.1 sürümü

23 Şubat 2022

androidx.compose.material:material-*:1.1.1 yayınlanır. 1.1.1 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Sürüm 1.1.0

9 Şubat 2022

androidx.compose.material:material-*:1.1.0 yayınlanır. 1.1.0 sürümü bu taahhütleri içerir.

1.0.0 sürümünden bu yana yapılan önemli değişiklikler

  • Android 12 aşırı kaydırma efekti için kararlı destek
  • Dokunma hedefi boyutlandırmasında iyileştirmeler
  • Compose 1.0 ile ilgili olarak, Materyal bileşenlerinin dokunma hedefi boyutu için Materyal erişilebilirlik yönergelerini karşılamak üzere düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük olarak ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişler. Bu sayede, Görünümler ve Oluşturma'yı birlikte kullandığınızda tutarlı bir davranış elde edersiniz. Bu değişiklik, kullanıcı arayüzünüzü Compose Material bileşenlerini kullanarak oluşturduğunuzda dokunma hedefi erişilebilirliğiyle ilgili minimum şartların karşılanmasını da sağlar.
  • Gezinme çubuğu için kararlı destek
  • Daha önce deneysel olan bazı API'leri kararlı sürüme geçiriyor
  • 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ınlanır. 1.1.0-rc03 sürümü bu taahhütleri içerir.

Davranış Değişiklikleri

Compose 1.0 ile ilgili olarak, Materyal bileşenlerinin, Materyal erişilebilirlik yönergeleri dokunma hedefi boyutunu karşılamak için düzen alanlarını genişleteceğini unutmayın. Örneğin, düğmenin boyutunu daha küçük olarak ayarlasanız bile düğme dokunma hedefi minimum 48x48 dp boyutuna genişler. Bu sayede, Görünümler ve Oluşturma'yı birlikte kullandığınızda tutarlı bir davranış elde edersiniz. Bu değişiklik, kullanıcı arayüzünüzü Compose Material bileşenlerini kullanarak oluşturduğunuzda dokunma hedefi erişilebilirliğiyle ilgili minimum şartların karşılanmasını da sağlar.

Hata Düzeltmeleri

  • Minimum dokunma hedefi değiştiricileri incelerken 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ınlanır. 1.1.0-rc01 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

Sürüm 1.1.0-beta04

1 Aralık 2021

androidx.compose.material:material-*:1.1.0-beta04 yayınlanır. 1.1.0-beta04 sürümü bu taahhütleri 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ınlanır. 1.1.0-beta03 sürümü bu taahhütleri içerir.

Sürüm 1.1.0-beta02

3 Kasım 2021

androidx.compose.material:material-*:1.1.0-beta02 yayınlanır. 1.1.0-beta02 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Dalgalanma ve diğer göstergeler artık her zaman aşağı etkinliği için geciktirilmek yerine yalnızca bir Modifier.scrollable() kapsayıcısının içindeyse geciktirilecek. (Ibefe0, b/203141462)

Sürüm 1.1.0-beta01

27 Ekim 2021

androidx.compose.material:material-*:1.1.0-beta01 yayınlanır. 1.1.0-beta01 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • Dalgalar artık fareyle üzerine gelme ve odaklanma durumlarını destekliyor. Bu sayede, düğme gibi bir bileşenin üzerine gelindiğinde veya bileşene odaklanıldığında doğru durum yer paylaşımı gösterilecek.

Sürüm 1.1.0-alpha06

13 Ekim 2021

androidx.compose.material:material-*:1.1.0-alpha06 yayınlanır. 1.1.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Daha verimli bir şekilde, düzen için alt öğe içermeyen bir aşırı yükleme eklendi (Ib0d9a)
  • İçinde TextField ve DropdownMenu bulunan ExposedDropdownMenuBox'a dayalı ExposedDropdownMenu uygulaması (If60b2)
  • Desteği sonlandırılan dismissOnClickOutside yerine dismissOnOutsideClick, PopupProperties'e eklendi. Yeni mülk, tıklama konumunu ve ankraj sınırlarını alır. Böylece, onDismissRequest işlevinin çağrılıp çağrılmayacağı konusunda daha ayrıntılı kontrol sağlanır. Örneğin, bu özellik, ankraja dokunulduğunda ankrajın kapatılmasını önlemek için yararlı olabilir.
    • updateAndroidWindowManagerFlags, PopupProperties'a eklendi. Bu sayede pop-up'ın Android WindowManager'a ilettiği işaretçiler üzerinde düşük düzeyde kontrol sağlandı. Lambda parametresi, PopupProperties değerlerinden hesaplanan ve WindowManager işaretlerine neden olan işaretler olacaktır (ör. odaklanılabilir). Lambda işlevinin sonucu, Android WindowManager'a iletilecek nihai işaretler olur. updateAndroidWindowManagerFlags, varsayılan olarak parametrelerden hesaplanan işaretleri değiştirmez. Bu API, yalnızca pop-up'ın çok özel davranış koşullarının olduğu durumlarda dikkatli bir şekilde 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ınlanır. 1.1.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Erişilebilir dokunma hedefi olmayan Material bileşenleri için minimum dokunma hedefi boyutu ekler. Bu işlem, bileşenlerin yeterince büyük bir dokunma hedefine sahip olmasını sağlamak için bileşenlerin etrafına ek boşluk eklediğinden, bu bileşenlerin boyutunun görsel boyutları olduğunu varsayılan ve dokunma hedefi boyutunu hesaba katmayan mevcut kullanıcı arayüzlerini değiştirebilir. Bu davranışı bir hiyerarşide devre dışı bırakmak için deneysel LocalMinimumTouchTargetEnforcement composition local özelliğini kullanabilirsiniz. Ancak bu özellik, yalnızca mevcut kullanıcı arayüzlerini yeni minimum boyutu hesaba katacak şekilde güncellerken geçici bir çıkış yolu olarak tasarlanmıştır. (I9b966, b/149691127, b/171509422)
  • TextFieldColors'ı, leadingColor ve trailingColor'a InteractionSource sağlamak için genişleten deneysel TextFieldColorsWithIcons arayüzü eklendi. Bu sayede, TextField'in görünümü, odak durumuna göre değiştirilebilir. (I66923, b/198402662)

Sürüm 1.1.0-alpha04

15 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha04 yayınlanır. 1.1.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • performGesture ve GestureScope desteği sonlandırıldı ve bunların yerine performTouchInput ve TouchInjectionScope getirildi. (Ia5f3f, b/190493367)
  • Geliştiricilerin dokunma hedeflerinin erişilebilirlik minimumlarını karşıladığından emin olabilmesi için SemanticsNode öğesine minimum dokunma hedefi boyutunu içeren touchBoundsInRoot eklendi. (I2e14b, b/197751214)

Hata Düzeltmeleri

  • Minimum dokunma hedefi amacıyla klibin, dokunma hedefi sınırlarını klip bölgesinin ötesine uzatmasına izin verin. (I43e10, b/171509422)
  • Divider kompozit öğesi, ekran yoğunluğundan bağımsız olarak tek piksellik bölücülerin çizilmesini desteklemek için kalınlık parametresi için Dp.Hairline'e uyacak şekilde güncellendi. (I16ffb, b/196840810)

Sürüm 1.1.0-alpha03

1 Eylül 2021

androidx.compose.material:material-*:1.1.0-alpha03 yayınlanır. 1.1.0-alpha03 sürümü bu taahhütleri içerir.

Yeni Özellikler

  • 1.1.0-alpha03 derleyicisi, Kotlin 1.5.30'e bağlı olacak şekilde güncellendi. (I74545)

API Değişiklikleri

  • Kırpılmış sınırları almak için test yöntemi eklendi. (I6b28e)
  • Erişilebilirliği sağlamak için ViewConfiguration'a minimum dokunma hedefi boyutu eklendi. Bu boyut, semantikte ve işaretçi girişinde kullanılabilir. (Ie861c)

Sürüm 1.1.0-alpha02

18 Ağustos 2021

androidx.compose.material:material-*:1.1.0-alpha02 yayınlanır. 1.1.0-alpha02 sürümü bu taahhütleri içerir.

Harici Katkı

  • Kaydırma ofsetinin bir ankrajın yuvarlama hatası içinde olduğu durumlarda SwipeableState'in davranışını düzeltin. (I03d39, b/191993377)

Sürüm 1.1.0-alpha01

4 Ağustos 2021

androidx.compose.material:material-*:1.1.0-alpha01 yayınlanır. 1.1.0-alpha01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kaynak ve hedef dikdörtgenleri kullanan DrawScope#drawImage yöntemini, isteğe bağlı bir FilterQuality parametresi kullanacak şekilde güncellendi. Bu, piksel tabanlı sanat için ölçeklendirildiğinde pikselli olması amaçlanan piksel sanatında kullanışlıdır. BitmapPainter + Image composable, isteğe bağlı bir FilterQuality parametresi de kullanacak şekilde güncellendi (Ie4fb0, b/180311607)
  • BadgeBox, BadgedBox olarak yeniden adlandırıldı ve parametreler, Badge bileşenini kabul edecek şekilde değiştirildi. Rozetli kutunun 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

  • Altta hizalanmış bir Gezinme Rayı örneği ve Katalog uygulaması demosu eklendi. (I3cffc)
  • İletişim kutuları artık platform boyutlandırma davranışını takip ediyor. Bu davranışı geçersiz kılmak için usePlatformDefaultWidth değerini false olarak ayarlayın. (Iffaed, b/192682388)
  • Katalog uygulamasına gezinme çubuğu demosu eklendi. (I04960)
  • Katalog uygulamasına rozet demosu eklendi. (If285d)

Sürüm 1.0

Sürüm 1.0.5

3 Kasım 2021

androidx.compose.material:material-*:1.0.5 yayınlanır. 1.0.5 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • derivedStateOf örneklerini izlemeyle ilgili bir kilitlenme düzeltildi. (aosp/1792247)

Sürüm 1.0.4

13 Ekim 2021

androidx.compose.material:material-*:1.0.4 yayınlanır. 1.0.4 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.31'e bağlı olacak şekilde güncellendi

Sürüm 1.0.3

29 Eylül 2021

androidx.compose.material:material-*:1.0.3 yayınlanır. 1.0.3 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.30'e bağlı olacak şekilde güncellendi

Sürüm 1.0.2

1 Eylül 2021

androidx.compose.material:material-*:1.0.2 yayınlanır. 1.0.2 sürümü bu taahhütleri içerir.

Oluştur 1.0.2 sürümünü desteklemek için güncellendi. Compose 1.0.2, Kotlin 1.5.21 ile uyumludur.

1.0.1 sürümü

4 Ağustos 2021

androidx.compose.material:material-*:1.0.1 yayınlanır. 1.0.1 sürümü bu taahhütleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.21'e bağlı olacak şekilde güncellendi.

Sürüm 1.0.0

28 Temmuz 2021

androidx.compose.material:material-*:1.0.0 yayınlanır. 1.0.0 sürümü bu taahhütleri içerir.

1.0.0 sürümünün önemli ö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 aşağıdaki kilitlenmeyi görebilirsiniz:

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

    Bu sorunu düzeltmek için build.gradle dosyanızdaki minSdkVersion değerini geçici olarak 24 veya daha yüksek bir sürüme yükseltin. Bu sorun, Android Studio Bumblebee ve AGP'nin sonraki sürümünde 7.1 düzeltilecektir. (b/194289155)

Sürüm 1.0.0-rc02

14 Temmuz 2021

androidx.compose.material:material-*:1.0.0-rc02 yayınlanır. 1.0.0-rc02 sürümü bu taahhütleri 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 değerini yanlış olarak ayarlayın. (Iffaed, b/192682388)

Sürüm 1.0.0-rc01

1 Temmuz 2021

androidx.compose.material:material-*:1.0.0-rc01 yayınlanır. 1.0.0-rc01 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • BadgeBox bileşeni eklendi. Kullanım bilgileri için dokümanlara ve örneklere bakın (I5e284)
  • PopupProperties'daki useDefaultMaxWidth, usePlatformDefaultWidth olarak yeniden adlandırıldı. (I05710)
  • İletişim kutuları artık ekran genişliğinin tamamını kullanabilir. (I83929, b/190810877)
  • Deneysel Aralık Kaydırma Çubuğu uygulaması eklendi (I2f4b3)

Hata Düzeltmeleri

  • Material Design spesifikasyonlarına uygunluk sağlamak için, geçersiz giriş içeren OutlinedTextField'de etiket yer tutucu olarak kullanıldığında etiket için hata rengi kullanılmaya son verildi. İkincisi, metin alanında giriş metni olmadığında ve metin alanı odakta olmadığında doğrudur. Bu değişiklikle birlikte, TextFieldColors.labelColor() işlevindeki error:Boolean parametresinin anlamı da değişti: Etiket yer tutucu olarak kullanılıyorsa giriş geçersiz olsa bile artık false döndürülür. (I45f78)

Sürüm 1.0.0-beta09

16 Haziran 2021

androidx.compose.material:material-*:1.0.0-beta09 yayınlanır. 1.0.0-beta09 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Kenarlık şeklini özelleştirebilmek için OutlinedTextField'e Shape parametresi eklendi (I8f39e, b/181322957)
  • TextOverflow, satır içi sınıfa dönüştürülür. (I433af)

Hata Düzeltmeleri

  • Color.Unspecified iletildikten sonra BottomDrawer, BackdropScaffold ve ModalBottomSheetLayout'taki scrim kaybolur (I2d899, b/182063309)

Profil Kuralları eklendi

Bu sürüm, aşağıdaki oluşturma modüllerine (I14ed6) profil kuralları ekler:

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Profil kuralları nedir?

  • Bir kitaplığın profil kuralları, src/main veya eşdeğer dizinde bulunan baseline-prof.txt metin dosyasında belirtilir. Dosyada satır başına bir kural belirtilir. Bu durumda kural, kitaplıktaki yöntemler veya sınıflarla eşleştirme için kullanılan bir kalıptır. Bu kuralların söz dizimi, adb shell profman --dump-classes-and-methods ... kullanılırken kullanılan, okunabilir ART profil biçiminin bir üst kümesidir. Bu kurallar, yöntemleri veya sınıfları hedeflemek için iki biçimden birini alır.

  • Yöntem kuralları aşağıdaki kalıba sahiptir:

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

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

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

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

  • Tek bir kuralın birden fazla yöntemi veya sınıfı kapsayabilmesi için bu kalıplarda joker karakterler (**, * ve ?) bulunabilir.

Kurallar ne işe yarar?

  • H işareti bulunan bir yöntem, bu yöntemin "sıcak" bir yöntem olduğunu ve önceden derlenmesi gerektiğini gösterir.

  • S işareti bulunan bir yöntem, başlangıçta çağrılan bir yöntem olduğunu gösterir ve yöntemin başlangıçta derleme ve yorumlama maliyetini önlemek için önceden derlenmesi gerekir.

  • P işareti olan bir yöntem, başlangıçtan sonra çağrılan bir yöntem olduğunu gösterir.

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

Nasıl çalışır?

  • Kitaplıklar, AAR yapılarına paketlenecek bu kuralları tanımlayabilir. Ardından, bu yapıları içeren bir APK derlendiğinde bu kurallar birleştirilir ve birleştirilen kurallar, APK'ya özel kompakt bir ikili ART profili oluşturmak için kullanılır. Ardından ART, APK cihazlara yüklendiğinde bu profilden yararlanarak uygulamanın performansını (özellikle de ilk çalıştırmayı) iyileştirmek için uygulamanın belirli bir alt kümesini önceden derleyebilir. Bu durumun, hata ayıklama yapılabilir uygulamaları etkilemeyeceğini unutmayın.

Sürüm 1.0.0-beta08

2 Haziran 2021

androidx.compose.material:material-*:1.0.0-beta08 yayınlanır. 1.0.0-beta08 sürümü bu taahhütleri içerir.

Yeni Özellikler

Davranışta Değişiklik Yapan API Değişikliği

  • DAVRANIŞ DEĞİŞİKLİĞİ: Kart artık tıklamaları tüketiyor. Bu nedenle, Card(Modifier.clickable) aracılığıyla eklenen tıklamalar işlem yapmaz. Lütfen onClick'ı kabul eden yeni deneysel kart aşırı yüklemesini kullanın. (Ia8744, b/183775620)
    • Tıklamaların yanı sıra tıklanabilir diğer işlevleri (indication, interactionSource, enabled/disabled) işleyen yeni bir Card overload eklendi. Kart, bu durumlarda dalgalanma göstergesini kırpmadığı için Modifier.clickable ile normal, tıklanamayan bir kart kullanılamıyordu.
  • DAVRANIŞ DEĞİŞİKLİĞİ: Surface artık tıklamaları tüketiyor. Bu nedenle, Surface(Modifier.clickable) aracılığıyla eklenen tıklamalar işlem yapmaz. Lütfen onClick'ı kabul eden Surface'in yeni deneysel aşırı yüklemesini kullanın. (I73e6c, b/183775620)
    • Tıklamaların yanı sıra diğer tıklanabilir işlevleri (indication, interactionSource, enabled/disabled) işleyen yeni bir Surface overload eklendi. Modifier.clickable ile normal, tıklanamayan bir yüzey kullanmak mümkün değildi çünkü yüzey bu durumlarda dalgalanma göstergesini kırpmaz.

API Değişiklikleri

  • FabPosition, gelecekte olası genişletmeleri desteklemek için enum'dan satır içi sınıfa dönüştürüldü (I030fb)
  • Yeni enum değerleri eklendiğinde kapsamlı when ifadeleriyle ilgili sorunları önlemek için enum kullanımları satır içi sınıflara yeniden yapılandırıldı. (I2b5eb)
  • Kaydırma/sürükleme sırasında dalgalanma gösterilmesini önlemek için tıklanabilir/açma/kapatma düğmeli öğelere dokunma zaman aşımı ekler (Ia2704, b/168524931)
  • ContentDescription ve Text semantics özellikleri artık tek değer değil liste şeklindedir. Bu sayede, bunları birleştirirken birleştirme yerine olduğu gibi birleştirebilirsiniz. Ayrıca bu değişikliklerden yararlanmak için daha iyi test API'leri sağlandı (Ica6bf, b/184825850)
  • Modifier.focusModifier() desteği sonlandırıldı ve Modifier.focusTarget() (I6c860) ile değiştirildi
  • FocusState enum, FocusState arayüzüyle değiştirildi (Iccc1a, b/187055290)
  • Görüntü destekli dalga uygulaması kararlı hale geldiğinden LocalRippleNativeRendering kaldırıldı (I7fab3, b/188569367)

Hata Düzeltmeleri

  • Modifier.onGloballyPositioned(), tüm değiştiricilerin uygulanmasından sonra düzen koordinatlarını değil, değiştirici zincirindeki bu değiştiricinin koordinatlarını bildirecek şekilde değiştirildi. Bu, artık değiştiricilerin sıralamasının hangi koordinatların raporlanacağını etkilediği anlamına gelir. (Ieb67d, b/177926591)
  • Mevcut İçerik Oluşturma kataloğu için bir README dosyası eklendi. (If9191)

Sürüm 1.0.0-beta07

18 Mayıs 2021

androidx.compose.material:material-*:1.0.0-beta07 yayınlanır. 1.0.0-beta07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Artık Navigasyon Oluşturma'da rota desteği için uzantı yöntemlerini kullanmanız gerekmiyor. (I22beb, b/172823546)

Sürüm 1.0.0-beta06

5 Mayıs 2021

androidx.compose.material:material-*:1.0.0-beta06 yayınlanır. 1.0.0-beta06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Ripple, Android cihazlarda RippleDrawable'ü dahili olarak kullanacak şekilde taşındı. Bu, dalga animasyonlarının RenderThread'da gerçekleşeceği ve bu nedenle kullanıcı arayüzü iş parçacığı yük altındayken (ör. ekranlar arasında gezinirken) bile sorunsuz olacağı anlamına gelir. Bu, Ripple'ın API yüzeyini değiştirmez ancak bu değişiklik sonucunda davranış değişiklikleri olabilir. Taşıma işlemine yardımcı olmak için LocalRippleNativeRendering eklendi. CompositionLocalProvider içindeki önceki dalga uygulamasına geri dönmek için bu CompositionLocal özelliğine false değeri sağlayın. Bu API geçicidir ve gelecekte kaldırılacaktır. Bu nedenle, bu API'yi kullanmanıza neden olan sorunlarla karşılaşırsanız lütfen hata kaydı gönderin. (I902f8, b/168777351, b/183019123)
  • Koleksiyonu ve öğelerini erişilebilirlik hizmetleri için işaretlemeye olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017)
  • Geçersiz giriş içeren bir düğümü işaretlemeye olanak tanıyan erişilebilirlik API'si error eklendi (I12997, b/180584804, b/182142737)

Hata Düzeltmeleri

  • https://github.com/google/accompanist/pull/365 adresinden alınan Compose Material katalogu içe yerleştirilen öğelerinin uygulamasını güncelledik. (I25dc3)
  • weight(fill = false) özelliğine sahip satır ve sütun alt öğeleri artık üst öğenin kullanılabilir ana eksen alanının tamamını doldurması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ınlanır. 1.0.0-beta05 sürümü bu taahhütleri içerir.

Hata Düzeltmeleri

  • Mevcut İçerik 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ınlanır. 1.0.0-beta04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • API DEĞİŞİKLİĞİ: DrawerState durumu artık deneysel SwipeableState'i genişletmiyor.
    • API DEĞİŞİKLİĞİ: BottomDrawerState artık deneysel olarak işaretlendi. Bu, deneysel BottomDrawer bileşeniyle (I81114, b/181656094) eşleşecek.
  • SoftwareKeyboardController'deki hideSoftwareKeyboard ve showSoftwareKeyboard öğelerini sırasıyla hide() ve show() olarak yeniden adlandırın.
    • LocalSoftwareKeyboardController için CompositionLocal arayüzünün tamamını sağlayarak ayarlanmasını sağlayın (özellikle testlerde kullanışlıdır) (I579a6)
  • LiveRegion erişilebilirlik API'si eklendi. Düğüm canlı bölge olarak işaretlenmişse erişilebilirlik hizmetleri, kullanıcıyı değişiklikler hakkında otomatik olarak bilgilendirir (Idcf6f, b/172590946)

Hata Düzeltmeleri

  • Mevcut modüle, İçerik Oluşturma kataloğunun uygulanması eklendi. Şu anda eksik olan özellikler: bileşen karo resimleri, tema seçici (sonraki değişikliklerde eklenecektir). (Ie7a94)

Sürüm 1.0.0-beta03

24 Mart 2021

androidx.compose.material:material-*:1.0.0-beta03 yayınlanır. 1.0.0-beta03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • DefaultMonotonicFrameClock desteği sonlandırıldı. MonotonicFrameClock olmadan withFrameNanos veya Recomposer.runRecomposeAndApplyChanges çağrısı yaptığınızda artık IllegalStateException hatası alırsınız. (I4eb0d)
  • Sekmede simge ve satır içi metin görüntülemeyi desteklemek için yeni bir API LeadingIconTab eklendi. (I23267)

Harici Katkı

  • [Jossi Wolf tarafından] BottomDrawer artık çekmece yuvasının içeriğini sarmalıyor. Üst öğenin yüksekliği sonsuz olduğunda BottomDrawer bir IllegalStateException atmaz. Alt çekmece, üst öğesinin% 50'sinden küçükse artık genişletilmiş durumda açılır. BottomDrawerState ve ModalBottomSheetLayoutState ile ilgili dokümanlar güncellendi. BottomDrawerState#isOpen, açık veya genişletilmiş durumdaysa artık true değerini döndürüyor. (I87241)

Sürüm 1.0.0-beta02

10 Mart 2021

androidx.compose.material:material-*:1.0.0-beta02 yayınlanır. 1.0.0-beta02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • TextField'deki önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController kompozisyon yerel API'si eklendi. (I5951e, b/168778053)

Hata Düzeltmeleri

  • Deneysel API'lerin herkese açık kullanımıyla ilgili kısıtlamaları zorunlu kılma (I6aa29, b/174531520)
  • TopAppBar ve BottomAppBar'ın varsayılan yatay hizası, Row ile tutarlı olacak şekilde Başlangıç olarak değiştirildi (Ib2dc7)
  • Mevcut entegrasyon testi demolarında iç içe yerleştirilmiş bir İçerik Oluşturma kataloğu için yeni bir modül ve yer tutucu kullanıcı arayüzü eklendi. (Idfcb3)
  • androidx.compose.ui:ui artık AppCompat veya Fragment'e bağlı değildir. Uygulamanızda ComposeView kullanıyorsanız ve Fragment ve/veya AppCompat kullanıyorsanız AppCompat 1.3 veya sonraki bir sürümü / Fragment 1.3 veya sonraki bir sürümü kullandığınızdan emin olun. Bu sürümler, ComposeView için gereken yaşam döngüsü ve kayıtlı durum sahiplerinin doğru şekilde ayarlanması için gereklidir. (I1d6fa, b/161814404)

Sürüm 1.0.0-beta01

24 Şubat 2021

androidx.compose.material:material-*:1.0.0-beta01 yayınlanır. 1.0.0-beta01 sürümü bu taahhütleri içerir.

Bu, Compose 1.0.0 Beta'nın ilk sürümüdür.

API Değişiklikleri

  • Beden düzenleyiciler yeniden adlandırıldı. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)
  • imageResource ve vectorResource artık sırasıyla ImageBitmap ve ImageVector yardımcılarında uzantı işlevidir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)
  • Boyutlandırma için özgün öğeler olan değiştiriciler artık deneysel değildir. (I15744)
  • dp iddiaları kaldırıldı (I798d2)
  • SoftwareKeyboardController geri çağırma işlevi, kısa süre içinde yeni bir API ile değiştirilmek üzere tüm metin alanlarından kaldırıldı. (Iae869, b/168778053)
  • Switch, Checkbox ve RadioButton işlem lambdaları artık boş değer alabilir. Tıklanabilir satırda onay kutusu örnekleri bu özelliği kullanacak şekilde güncellendi. (If601b, b/171819073)
  • InteractionState, [Mutable]InteractionSource ile değiştirildi
    • Etkileşim etkinliklerini yayınlamaktan / toplamaktan arayüzler sorumludur.
    • interactionState = remember { InteractionState() } değerini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } değerini kullanın.
    • Bunun yerine: Interaction.Pressed in interactionState InteractionSource.collectIsPressedAsState() gibi InteractionSource'daki uzantı işlevlerini kullanmanız gerekir.
    • Karmaşık kullanım alanları için etkileşim akışını gözlemlemek üzere InteractionSource.interactions parametresini kullanabilirsiniz. Daha fazla bilgi için InteractionSource belgelerini ve örneklerini inceleyin.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • CompositionLocals'a AccessibilityManager arayüzü ve LocalAccessibilityManager ekleyin (I53520)
  • Desteği sonlandırılan LayoutCoordinates yöntemleri kaldırıldı. positionInParent ve boundsInParent için mülk yerine işlev kullanın (I580ed, b/169874631, b/175142755)
  • Kaydırma çubuğu artık etkin/devre dışı durumu destekler (I6d56b, b/179793072)
  • CoreTextField gibi düşük düzeyli metin bileşenlerinden gelen giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
  • AnimationEndReason.Interrupted kaldırıldı. Animasyon kesintiye uğrarsa CancellationException atılır. (I2cbbc, b/179695417)
  • @ExperimentalRippleApi kaldırıldı ve RippleAlpha, arayüz yerine özelliklere sahip bir sınıf olarak değiştirildi. (I6df7c)
  • TextField ve OutlinedTextField'de farklı durumlarda kullanılan farklı renkleri temsil etmek için TextFieldColors arayüzü eklendi. Varsayılan uygulama için TextFieldDefaults.textFieldColors ve TextFieldDefaults.outlinedTextFieldColors'e bakın.
    • TextField ve OutlinedTextField içindeki isErrorValue parametresi isError olarak yeniden adlandırıldı. (I831f9, b/171305338, b/168004067)
  • Erişilebilirlik amacıyla sekme veya radyo düğmesi koleksiyonunu işaretlemeye olanak tanıyan selectionGroup değiştirici ekleyin (Ie5c29)
  • LazyListState.animateScrollToItem ekleme

    Bu yöntem, listedeki belirli bir öğeye sorunsuz bir şekilde kaydırılır. (I4bfd7)

  • ScrollableState.smoothScrollBy(), animateScrollBy() olarak yeniden adlandırıldı LazyListState.snapToItemIndex(), scrollToItem() olarak yeniden adlandırıldı ScrollState.smoothScrollTo(), animateScrollTo() olarak yeniden adlandırıldı (I35ded)

  • @ReadOnlyComposable ile işaretlenen tüm derlenebilir öğeler artık yalnızca diğer @ReadOnlyComposables öğelerine çağrı gönderdiklerinden emin olmak için derleme zamanında doğrulanıyor (I58961)

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

  • Modifier.verticalScroll()/horizontalScroll() işlevindeki kaydırma konumu artık tam sayılarla temsil ediliyor (I81298)

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

  • FlingConfig, FlingBehavior olarak yeniden adlandırıldı ve artık önceden tanımlanmış azalma değerleri yerine askıya alma animasyonunun özelleştirilmesine olanak tanır. (I02b86, b/175294473)

  • Beden düzenleyiciler yeniden adlandırıldı. Modifier.width/height/size, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Modifier.preferredWidth/preferredHeight/preferredSize, width/height/size olarak yeniden adlandırıldı. (I5b414)

  • defaultMinSizeConstraints, defaultMinSize olarak yeniden adlandırıldı. (I4eaae)

  • Oryantasyon, temel pakete taşındı. VelocityTracker, ui.gesture alanından ui.input.pointer alanına taşındı. (Iff4a8, b/175294473)

  • drawerState.open() ve drawerState.close() artık askıya alma işlevleridir. Bunları çağıracak bileşiğin kapsamını almak için rememberCoroutineScope() işlevini kullanın (I16f60, b/175294473)

  • Providers, CompositionLocalProvider olarak yeniden adlandırıldı

    • Composition kurucusu artık anahtar parametresi kabul etmiyor ve desteği sonlandırıldı.
    • currentCompositeKeyHash, composable üst düzey işlev yerine composable üst düzey bir özelliğe dönüştürülmüştür.
    • CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı
    • ComposableLambda, somut sınıf yerine bir arayüz haline getirildi ve artık tür parametreleri içermiyor.
    • ComposableLambdaN, somut sınıf yerine bir arayüz haline getirildi ve artık tür parametreleri içermiyor.
    • snapshotFlow işlevi, androidx.compose.runtime ad alanına taşındı
    • SnapshotMutationPolicy'ın birleştirme yöntemi artık deneysel değil
    • Üst düzey @TestOnly clearRoots işlevi kaldırıldı. Artık gerekli değil.
    • keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Artık gerekli değildir.
    • Composer.collectKeySourceInformation kaldırıldı. Artık gerekli değil.
    • isJoinedKey, joinedKeyLeft ve joinedKeyRight yöntemleri kaldırıldı. Artık gerekli değildir.
    • Çeşitli üst düzey API'ler taşındı ve farklı dosyalarda yeniden düzenlendi. Kotlin'in dosya sınıfı semantikleri nedeniyle bu durum ikili uyumluluğu bozar ancak kaynak uyumluluğunu etkilemez. Bu nedenle çoğu kullanıcı için sorun oluşturmaz.
    • (I99b7d, b/177245490)
  • Modifier.scrollable yeniden tasarlandı. Artık ScrollableController sınıfı yerine Scrollable arayüzü kullanılıyor (I4f5a5, b/174485541, b/175294473)

  • Modifier.draggable artık basit bir lambda yerine DraggableState'i kabul ediyor. Öncekiyle aynı davranışı elde etmek için rememberDraggableState { delta -> } aracılığıyla durum oluşturabilirsiniz (Ica70f, b/175294473)

  • ZoomableController.smoothScaleBy ve ZoomableController.stopAnimation artık askıya alma işlevleridir. (I7f970, b/177457083)

  • Daha önce desteği sonlandırılan bazı API'ler silindi (Ice5da, b/178633932)

  • Aşağıdaki Material API değişiklikleri yapıldı:

    • Varsayılan dolguyu özelleştirmeye izin vermek için Top/BottomAppBar'a contentPadding parametresi eklendi.
    • BackdropScaffold'daki parametreler, isteğe bağlı parametrelerden önce gerekli parametrelerin gelmesine ilişkin API yönergelerine uymak için yeniden düzenlendi.
    • BottomNavigationItem'deki icon parametresi, selected ve onClick'den sonra olacak şekilde taşındı.
    • BottomNavigationItem'deki alwaysShowLabels parametresi alwaysShowLabel olarak yeniden adlandırıldı.
    • Birkaç bileşendeki bodyContent parametreleri yalnızca content olarak yeniden adlandırıldı.
    • ButtonDefaults.buttonColors() parametreleri yeniden sıralandı. Parametrelerin türü değişmediğinden bu durumun kodunuzda hata oluşturmayacağı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 daha önce olduğu gibi çalışmaz.
    • darkColors() parametresi darkColors()'e eklendi.secondaryVariant Bu renk genellikle koyu temadaki secondary ile aynıdır ancak tutarlılık ve daha fazla özelleştirme için eklenir.
    • Yaygın olarak kullanılmadıkları ve yararlı olmadıkları için ElevationDefaults ve animateElevation() herkese açık API yüzeyinden kaldırıldı.
    • Slider içindeki onValueChangeEnd, onValueChangeFinished olarak yeniden adlandırıldı ve null değerini kabul edecek şekilde değiştirildi.
    • Tutarlılık için Snackbar'daki text parametresi content olarak yeniden adlandırıldı.
    • Varsayılan dolguyu özelleştirmeye izin vermek için DropdownMenuItem parametresi DropdownMenuItem'a eklendi ve content, RowScope'ın bir uzantısı haline getirildi.contentPadding
    • ModalDrawerLayout, ModalDrawer olarak yeniden adlandırıldı.
    • BottomDrawerLayout, BottomDrawer olarak yeniden adlandırıldı.
    • (I1cc66)
  • BasicTextField, daha iyi özelleştirme için artık Renk yerine Fırça'yı kabul ediyor (I83a36)

  • imageResource ve vectorResource artık sırasıyla ImageBitmap ve ImageVector yardımcılarında uzantı işlevidir. load{Image,Vector,Font}Resource işlevleri silindi. (I89130)

  • Indication#createIndication() işlevi, Indication#rememberUpdatedIndication(InteractionState) olarak değiştirildi ve InteractionState parametresi, IndicationInstance#drawIndication() işlevinden kaldırıldı. IndicationInstance, yalnızca görsel efektleri çizmekten sorumlu olmalı ve InteractionState değişikliklerine yanıt olarak animasyon başlatma / durum yazma işlemlerini gerçekleştirmemelidir. Bu animasyonlar ve durum yazma işlemleri bunun yerine rememberUpdatedIndication() içinde gerçekleşmelidir. Modifier.indication içindeki indication parametresi de zorunlu parametre olacak şekilde değiştirildi. (Ic1764, b/152525426)

Hata Düzeltmeleri

  • TextField'deki önceki SoftwareKeyboardController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController kompozisyon yerel API'si eklendi. (I658b6, b/168778053)

Sürüm 1.0.0-alpha12

10 Şubat 2021

androidx.compose.material:material-*:1.0.0-alpha12 yayınlanır. 1.0.0-alpha12 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Modifier.pointerInput artık, yeni bağımlılar için işaretçi girişi algılama coroutine'inin ne zaman yeniden başlatılacağını belirtmek üzere anahtarları hatırlamayı gerektiriyor. (I849cd)
  • BottomDrawerLayout ve ListItem, @ExperimentalMaterialApi olarak işaretlendi (Id766e)
  • PaddingValues.Absolute eklendi ve PaddingValues kabul eden API'lerde kullanılabilir. (Ia5f30)
  • onImeActionPerformed işlevinin desteği sonlandırıldı. Bunun yerine KeyboardActions'ı kullanın (If0bbd, b/179071523)
  • Adlandırma kurallarının ImageBitmap ve ImageVector ile daha iyi eşleşmesi için ImagePainter, VectorPainter ile paralel olacak şekilde BitmapPainter olarak yeniden adlandırıldı. (Iba381, b/174565889)
  • Animatable.snapTo ve Animatable.stop artık askıya alma işlevleridir (If4288)
  • ComponentActivity.setContent, androidx.activity:activity-compose modülündeki androidx.activity.compose.setContent yöntemine taşındı. (Icf416)
  • Yapıyı bölme ve copy() yöntemleri, nadiren kullanıldıkları birkaç sınıftan kaldırıldı. (I26702, b/178659281)
  • ModalBottomSheetState'teki halfExpand() ve expand() işlevlerini dahili hale getirin (Ic914e)
  • Indication#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> Indication yerine bir Indication içerecek şekilde değiştirildi. (I5eeea, b/157150564)
  • AlertDialog ve DropdownMenu, şimdilik yalnızca Android için taşındı. Temel pop-up'ın daha fazla yapılandırılması için DropdownMenu'ya PopupProperties parametresi eklendi. (I9c443)
  • loadFontResource desteği sonlandırıldı. Bunun yerine fontResource kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource desteği sonlandırıldı. Bunun yerine painterResource kullanın. (I6b809)
  • toggle ve toggleModifier parametresi, DropdownMenu'dan kaldırıldı ve dropdownModifier, dropdownOffset ve dropdownContent sırasıyla modifier, offset ve content olarak yeniden adlandırıldı. DropdownMenu artık menünün konumu için üst öğe düzeninin kullanıldığı Popup ile tutarlı şekilde davranıyor. Çoğu durumda toggle öğesini DropdownMenu öğesinin kardeşi olacak şekilde taşıyabilir ve her ikisini de bir Box içine sarabilirsiniz. Bu API'nin kullanımı hakkında daha fazla bilgi için dokümanlar bölümündeki 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 semantik işlemleri eklendi. ModalBottomSheetState'e expand ve halfExpand eklendi (Ib5064)
  • Modifier.dragGestureFilter desteği sonlandırıldı. Bunun yerine Modifier.pointerInput { detectDragGestures (...)} politikasını kullanın. Alternatif olarak, tek eksenli sürükleme için Modifier.draggable'yı kullanın (I0ba93, b/175294473)
  • Ambiyanslar, Ambiyans -> KompozisyonYerel yeniden adlandırma ile eşleşecek şekilde yeniden adlandırıldı. Ambients eskiden AmbientFoo olarak adlandırılıyordu. Artık CompositionLocals, LocalFoo olarak adlandırılıyor. (I2d55d)
  • Seçim, temele taşındı. (I7892b)
  • Daha önce state { 0 } bileşenini kaldırıp remember { mutableStateOf(0) } gibi kullanımları teşvik ettiğimiz gibi, savedInstanceState { 0 } bileşenini de kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmalısınız. MutableState içinde kullanılan tür Bundle'da depolanabiliyorsa otomatik olarak kaydedilir ve geri yüklenir. Daha önce özel bir koruyucu nesne iletiyorsanız artık stateSaver parametresi içeren yeni bir rememberSaveable aşırı yüklemesini kullanmanız gerekir. Kullanım şu şekilde görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • Erişilebilirlik için belirsiz ilerleme çubuklarını işaretlemek üzere ProgressBarRangeInfo.Indeterminate eklendi (I6fe05)
  • @ComposableContract desteği sonlandırıldı ve bunun yerine daha spesifik üç 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)
  • Artık performans üzerinde olumlu bir etkisi veya değeri olmadığı için emptyContent() ve (@Composable () -> Unit).orEmpty() yardımcı programlarının desteği sonlandırıldı (I0484d)

  • rememberSavedInstanceState(), rememberSaveable() olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. (I1366e, b/177338004)

  • Saver, listSaver(), mapSaver(), autoSaver, androidx.compose.runtime.savedinstancestate adlı sınıftan androidx.compose.runtime.saveable adlı sınıfa taşındı (I77fe6)

  • RounderCornerShape, CutCornerShape ve CornerBasedShape'taki parametreler, şeklin rtl yönünde otomatik olarak yansıtılmasını desteklemek için sol/sağ yerine başlangıç/bitiş olarak yeniden adlandırıldı. AbsoluteRounderCornerShape ve AbsoluteCutCornerShape, otomatik yansıtmanın istenmediği durumlar için kullanıma sunulmuştur. (I61040, b/152756983)

  • Sekme'nin text ve icon parametreleri ile Alt gezinme menüsü öğesinin label parametresi, 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 amacıyla null olabilir olarak değiştirildi. Şu anda metin / simge / etiket olmadığını belirtmek için emptyContent() gönderiyorsanız bunun yerine null kullanmalısınız. (I57ed4)

  • contentColorFor renk parametresi backgroundColor olarak yeniden adlandırıldı (I5bb67)

  • TabDefaults desteği sonlandırıldı ve TabRowDefaults ile değiştirildi. (I0f189)

  • Kaynak içeriğin RGB değerlerini değiştirmek için kullanılan ColorMatrix API kullanıma sunuldu. ColorFilter API, bir arayüz olacak ve PathEffect'in uygulanmasıyla eşleşecek şekilde yeniden yapılandırıldı. (Ica1e8)

  • AnimatedValue/Float için destek sonlandırıldı. Bunun yerine lütfen Animatable'ı kullanın. (I71345, b/177457083)

  • SemanticsProperties.PaneTitle API'yi ekleyin. (I20d5a)

  • Sekme ve Alt gezinme öğesi öğelerinin tıklanabilir olmasını önlemek için bu öğelere etkin parametreler eklendi. BottomNavigationItem, API'sindeki düzen şartlarını daha iyi ifade etmek için RowScope.BottomNavigationItem olarak değiştirildi. (Id683d)

  • tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter ve pressIndicaitonGestureFilter desteği sonlandırıldı. Bunun yerine, detectTapGestures işleviyle birlikte Modifier.clickable veya Modifier.pointerInput kullanın. (I6baf9, b/175294473)

  • Şekil'in createOutline işlevine layoutDirection parametresini ekleyin. Bu sayede, düzen yönüne duyarlı şekiller oluşturabilirsiniz. (I57c20, b/152756983)

  • Recomposer.current() kaldırıldı. [Özet]ComposeView artık varsayılan olarak, pencere için ViewTreeLifecycleOwner tarafından yönlendirilen, üşengeç şekilde oluşturulmuş, pencere kapsamlı Recomposer'ları kullanır. Ana makine yaşam döngüsü durdurulduğunda yeniden oluşturma ve withFrameNanos tabanlı animasyon tikleri duraklatılır. (I38e11)

Hata Düzeltmeleri

  • Simge artık kendisine uygulanan boyut değiştiricilere göre boyutuna sığacak şekilde ölçeklenir. Örneğin, Icon(.., modifier = Modifier.size(50.dp) artık 50x50 dp'lik bir alanda çizilir. (Ib2ba9, b/178796190)

Sürüm 1.0.0-alpha11

28 Ocak 2021

androidx.compose.material:material-*:1.0.0-alpha11 yayınlanır. 1.0.0-alpha11 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Bazı Material API'lerin artık @Experimental olmaması için tanıtım (I5d20e)
  • Resim ve simge için içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine açıklama sağlamak için kullanılır (I2ac4c)
  • Material durum bilgisine sahip parametre arayüzlerini, State<T> döndüren @Composable işlevleri olacak şekilde değiştirir. Animatable öğesini State öğesine dönüştürmeyi kolaylaştırmak için Animatable.asState() ekler. Ayrıca animateElevation, Animatable üzerinde askıya alma uzantısı olarak değiştirilir. (If613c)
  • Snackbar, SnackbarHost, SnackbarHostState artık @ExperimentalMaterialAPI değil (Id1fb5)
  • Typography, Shapes ve TabPosition artık veri sınıfı olmayacaktır. Oluşturulanları değiştirmek için Yazı Tipi ve Şekiller için kopyalama işlevi ekler. (I40037)
  • Daha önce desteği sonlandırılan bazı Material API'ler silindi (Ifaa25)

Hata Düzeltmeleri

  • onCommit, onDispose ve onActive için desteği sonlandırıldı. Bunun yerine SideEffect ve DisposableEffect API'leri kullanılmalıdır (If760e)
  • TransitionDefinition tabanlı geçişin desteği sonlandırıldı (I0ac57)
  • updateTransition'daki ilk durum artık desteklenmektedir (Ifd51d)
  • WithConstraints, BoxWithConstraints olarak yeniden tasarlandı ve foundation.layout alanına taşındı. (I9420b, b/173387208)
  • Askıya almayan scrollBy işlevinin desteği sonlandırılacak, askıya almayan scrollTo işlevi kaldırılacak

    Artık kaydırma işlemini kontrol etmek ve kaydırma işleminin tamamlanmasını beklemek için askıya alma işlevlerini kullanmanızı öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmayan sürümlerini kullanımdan kaldırıyoruz ve/veya desteğini sonlandırıyoruz. (Ie9ced)

  • smoothScrollBy işlevinin askıya alınmayan sürümü kullanımdan kaldırıldı. Artık kaydırmayı kontrol etmek ve kaydırmanın tamamlanmasını beklemek için askıya alma işlevlerini kullanmanızı öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmayan sürümlerinin desteği sonlandırılıyor. (I12880)

  • ComposeTestRule'u genişleten ve ComposeTestRule'dan kaldırılan setContent'yi tanımlayan ComposeContentTestRule tanıtıldı. ComposeTestRule döndüren ve sizin için bir etkinlik başlatmayan bir createEmptyComposeRule() fabrika yöntemi eklendi. Testiniz sırasında etkinliğinizi başlatmak istediğinizde (ör.ActivityScenario.launch (I9d782, b/174472899) kullanarak) bunu kullanın.

  • Button ve FloatingActionButton'da kullanılan dalgalanma, AmbientIndication aracılığıyla yeni bir gösterge sağlayarak artık özelleştirilemez. Bu bileşenlerin özelleştirilmesinin hiçbir zaman amaçlandığı bir yöntem değildir ve bu durum artık bu bileşenleri diğer Material bileşenleriyle tutarlı hale getirir. Bir uygulamadaki dalgaları özelleştirmek için RippleTheme'e bakın. (I546c5)

  • animateAsState artık animateFooAsState olarak değişti. Foo, animasyon uygulanan değişkenin türüdür. Ör. Float, Dp, Offset vb. (Ie7e25)

  • BasicTextField, decorationBox adlı yeni bir parametre aldı. Metin alanına simge, yer tutucu, etiket ve benzeri süslemeler eklemenize ve bu alanın isabet hedef alanını artırmanıza olanak tanır. (I16996)

  • Materyal metin alanının genişliğini 280.dp'den daha az ayarlanmasını engelleyen bir hatanın düzeltilmesi (I78373)

  • canDrag parametresi, Modifier.draggable öğesinden kaldırıldı (Ic4bec, b/175294473)

  • displaySize kaldırılmalıdır. Genellikle onRoot() boyutunu veya en azından pencere boyutunu kullanmak daha iyidir. (I62db4)

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

  • invalidate ve compositionReference() işlevlerinin desteği sonlandırıldı. Bu işlevlerin yerine sırasıyla currentRecomposeScope ve rememberCompositionReference işlevleri kullanılmalıdır. (I583a8)

  • PopupPositionProvider'ı, global koordinatlar yerine pencereye göre koordinatlar kullanacak şekilde değiştirir. parentGlobalBounds öğesini anchorBounds olarak yeniden adlandırır ve windowGlobalBounds öğesini windowSize: IntSize olarak değiştirir (I2994a)

  • Süre ve Uptime, Uzun milisaniye ile değiştirilecek. Bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını kaldırır. (Ia33b2, b/175142755, b/177420019)

  • FlingConfig'i kabul eden AnimatedFloat.fling kaldırıldı. Lütfen bunun yerine suspendAnimatable.animateDecay işlevini kullanın. (I4659b, b/177457083)

  • tıklanabilir, açma/kapatma düğmeli ve seçilebilir öğeler artık kompozisyon dışında oluşturulabilir (I0a130, b/172938345, b/175294473)

  • Easing, işlevsel bir arayüze (Ib14e5) değiştirildi

  • ScrollableColumn/Row desteği sonlandırıldı. ScrollableColumn, yalnızca görünür öğeleri oluşturabildiği/ölçtüğü/çizdiği için büyük bir kaydırılabilir içeriğiniz varsa LazyColumn'a kıyasla daha az verimlidir. Kullanıcıların verimsiz bir yönteme başvurmasını önlemek için ScrollableColumn ve ScrollableRow için desteği sonlandırmaya ve bunun yerine LazyColumn ve LazyRow'un kullanımını teşvik etmeye karar verdik. Kullanıcılar, yine de tembel davranışa ihtiyaç duymadıklarına karar verebilir ve değiştiricileri doğrudan şu şekilde kullanabilir: Column(Modifier.verticalScroll(rememberScrollState())) (Ib976b, b/170468083)

  • LazyColumn/LazyRow/LazyVerticalGrid kapsamı için yeni items(count: Int) fabrika yöntemi. items(items: List) ve itemsIndexed(items: List) artık uzantı işlevleri olduğundan, kullanıldığında bunları manuel olarak içe aktarmanız gerekir. Diziler için yeni uzantı aşırı yüklemeleri: items(items: Array) ve itemsIndexed(Array) (I803fc, b/175562574)

  • Deneysel monotonicFrameAnimationClockOf yöntemleri kaldırıldı (Ib753f, b/170708374)

  • Küresel koordinat yöntemlerinin desteği sonlandırıldı ve yeni pencere tabanlı koordinat yöntemleri oluşturuldu. (Iee284)

  • İnceleme etkinleştirildiğinde grafik katmanı değiştiricisi ekleyen Modifier.toolingGraphicsLayer eklendi. (I315df)

  • FocusRequester.createRefs, değişebileceği için artık deneysel olarak işaretlenmiştir. (I2d898, b/177000821)

  • SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı. stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. AccessibilityScrollState, ScrollAxisRange olarak yeniden adlandırıldı. horizontalAccessibilityScrollState, horizontalScrollAxisRange olarak yeniden adlandırıldı. verticalAccessibilityScrollState, verticalScrollAxisRange olarak yeniden adlandırıldı. (Id3148)

  • Testlerde TestCoroutineDispatcher'dan yararlanma (I532b6)

  • Vektör grafiklerinin köküne uygulanan tonlamanın ayrıştırılmasını desteklemek için vektör grafikleri API'si güncellendi. (Id9d53, b/177210509)

Sürüm 1.0.0-alpha10

13 Ocak 2021

androidx.compose.material:material-*:1.0.0-alpha10 yayınlanır. 1.0.0-alpha10 sürümü bu taahhütleri içerir.

API Değişiklikleri

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

Hata Düzeltmeleri

  • Devre dışı bırakılan ve salt okunur metin alanları için destek eklendi (I35279, b/171040474, b/166478534)
  • animate() artık animateAsState() ile değiştirildi. Bu değişiklik, T yerine State<T> döndürür. Geçersiz kılma kapsamı, State değerinin okunduğu yere daraltılabileceğinden bu, daha iyi performans sağlar. (Ib179e)
  • Semantics role API'yi ekleyin ve tıklanabilir, seçilebilir ve değiştirilebilir SemanticsModifier'a parametre olarak Role ekleyin. Modifier.progressSemantics özelliği, Kaydırma Çubuğu'nun da kullanabilmesi için değiştirildi. (I216cd)

Sürüm 1.0.0-alpha09

16 Aralık 2020

androidx.compose.material:material-*:1.0.0-alpha09 yayınlanır. 1.0.0-alpha09 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Modifier.swipeable'da yerleşme animasyonunu ve sürüklemeyi manuel olarak tetiklemek için API eklendi (Iaa17a, b/162408885)
  • ButtonConstants gibi *Constants nesneleri, ButtonDefaults gibi Defaults ile bitecek şekilde yeniden adlandırıldı. Ayrıca bu yeni nesnelerdeki özelliklerden gereksiz default ön eklerinin kaldırılmasını sağlar. (Ibb915, b/159982740)
  • Compose, birleştirilebilir çağrılar yapabilen mülk alıcıları destekler. Bu özellik için destek sonlandırılmıyor ancak mülk alıcısını @Composable olarak beyan etme söz dizimi değişiyor.

    Bunu yapmak için artık desteklenmeyen söz dizimi, mülkün kendisini ek açıklamayla belirtmektir:

        @Composable val someProperty: Int get() = ...
    

    Bunu yapmak için artık doğru söz dizimi, mülkün alıcısını ek açıklamayla belirtmektir:

       val someProperty: Int @Composable get() = ...
    

    Her iki söz dizimi de bir süre boyunca çalışacak ancak kullanımdan kaldırılan eski söz dizimi sonunda derleme hatası oluşturacaktır. (Id9197)

  • Material kitaplığının geri kalanına ihtiyaç duymadan etkileşimli bileşenler oluşturmaya olanak tanımak için dalgalanma API'lerini içeren androidx.compose.material:material-ripple kitaplığı eklendi. rememberRippleIndication desteği sonlandırıldı ve rememberRipple ile değiştirildi. (Ibdf11)

Hata Düzeltmeleri

  • Ofset değiştiricilerdeki lambdalar artık Float yerine IntOffset döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • Çizim ortamının boyut bilgileri mevcut olduğunda gölgelendirici örneğini yavaşça oluşturmak için ShaderBrush yeniden yapılandırıldı. Bu, özel DrawModifier uygulamaları uygulamak zorunda kalmadan, bir kompozisyonun tüm çizim sınırlarını kompozisyon sırasında kaplayan degradeleri tanımlamak için kullanışlıdır.

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

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

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed işlevleri kullanımdan kaldırılıyor. Bunun yerine LazyColumn ve LazyRow kullanın (I5b48c)

  • Dp.VectorConverter, Position.VectorConverter vb. animation-core'a taşındı ve eski VectorConveters için destek sonlandırıldı (If0c4b)

  • Autofill API artık deneysel API'dir ve etkinleştirilmesi gerekir (I0a1ec)

  • FocusRequester örnekleri oluşturmak için yapı bozma beyanları ekleme (I35d84, b/174817008)

  • accessibilityLabel, contentDescription olarak yeniden adlandırıldı. accessibilityValue, stateDescription olarak yeniden adlandırıldı. (I250f2)

  • InfiniteRepeatableSpec oluşturmak için yeni infiniteRepeatable işlevi (I668e5)

  • Açılır menülerin konumlandırma davranışı, Materyal spesifikasyonuna göre biraz değiştirildi. (I34c72, b/168594123)

  • TextField'ler için InteractionState desteği eklendi. (I61d91)

  • Alt öğelerin anlamlarını temizlemek ve yeni anlamlar ayarlamak için Modifier.clearAndSetSemantics eklendi. (I277ca)

  • ContentDrawScope, DrawScope ile birlikte olması için ui-graphics modülüne taşındı. (Iee043, b/173832789)

Sürüm 1.0.0-alpha08

2 Aralık 2020

androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 ve androidx.compose.material:material-icons-extended:1.0.0-alpha08 yayınlandı. 1.0.0-alpha08 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • MaterialTheme artık seçim tutamaçlarının ve seçim arka planının doğru renklerini ayarlıyor. Material olmayan uygulamalar, seçim için kullanılan renkleri özelleştirmek üzere AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
  • Compose yönergeleriyle tutarlılığı kontrol etmek için birleştirilebilir lambda parametre adlandırma ve konumu için lint denetimi eklendi. Ayrıca, son lambda adları olarak children kullanan bazı API'ler, lint kontrolüne ve yönlendirmeye göre content olarak taşındı. (Iec48e)
  • VectorAsset, ImageVector olarak yeniden adlandırıldı. API konseyi yönergelerine göre VectorAsset, ImageVector'ın iç sınıfı olması için taşındı ve Builder olarak yeniden adlandırıldı. Uyumluluk için ImageVector.Builder'a bağlantı vermek üzere VectorAssetBuilder için typealias eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
  • Temel anlambilim özellikleri kullanıcı arayüzüne taşındı (I6f05c)
  • fun RippleIndication() desteği sonlandırıldı ve diğer API'lerle tutarlılık sağlamak için rememberRippleIndication() ile değiştirildi. (Id8e2c)
  • BasicTextField, TextField ve OutlinedTextField'e singeLine parametresi eklendi. Metin alanını yatay olarak kaydırılabilir tek bir satır haline getirmek için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)

Hata Düzeltmeleri

  • Kapatma (I2b706) anlamsal işlemini ekleme
  • DrawModifier API'leri, androidx.compose.ui paketinden androidx.compose.ui.draw paketine taşındı. Desteği sonlandırılan API'lerden mevcut API'lere geçişe yardımcı olmak için tür takma adları/yardımcı yöntemler içeren DrawModifierDeprecated.kt dosyası oluşturuldu. (Id6044, b/173834241)
  • Modifier.drawLayer, Modifier.graphicsLayer olarak yeniden adlandırıldı. Ayrıca API geri bildirimine göre ilgili sınıflar GraphicsLayer olarak güncellendi. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout beyanından kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • drawLayer için kolaylık sağlamak amacıyla Modifier.scale/rotate API'leri eklendi.
    • Modifier.drawOpacity, Modifier.alpha olarak yeniden adlandırıldı
    • Modifier.drawShadow, Modifier.shadow olarak yeniden adlandırıldı (I264ca, b/173208140)
  • Kutu'nun alignment parametresi contentAlignment olarak yeniden adlandırıldı. (I2c957)
  • offsetPx değiştiricileri offset olarak yeniden adlandırıldı. Artık durum yerine lambda parametreleri alıyorlar. (Ic3021, b/173594846)
  • SweepGradientShader ve SweepGradientBrush API'leri kullanıma sunuldu. (Ia22c1)
  • Birleştirilebilir işlevlerdeki değiştirici parametreler için lint denetimi eklendi. Bu dil bilgisi denetimi, parametrenin adlandırmasını, döndürme türünü, varsayılan değerini ve sırasını, Oluşturma yönergeleriyle tutarlı olup olmadığını kontrol eder. (If493b)
  • TextFieldValue API güncellendi
    • TextFieldValue.composition özelliği salt okunur hale getirildi
    • geçersiz seçim aralığı için kaldırıldı istisnası atıldı (I4a675, b/172239032)
  • Yeni bir Modifier.drawLayer() aşırı yükleme işlevi eklendi. Yeni bir GraphicsLayerScope'da bir lambda bloğu alır. Bu blokta, katman parametrelerini durum değişikliği olduğunda yeniden oluşturma ve yeniden düzeni atlamaya izin verecek şekilde tanımlarsınız. DrawLayerModifier, mantığını LayoutModifier'ın placeable.placeWithLayer() yöntemine taşımaya hazırlanırken artık dahilidir (I15e9f, b/173030831)
  • Son eklerinde Ambient bulunan Ambient'ler kullanımdan kaldırıldı ve diğer Ambient'ler ile Compose API yönergelerine uygun olarak Ambient önekiyle yeni mülklerle değiştirildi. (I33440)
  • Değiştirici fabrikalarının @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullandığını kontrol etmek için lint denetimi eklendi. (I3c4bc)
  • Anlamsal bağımsız değişken mergeAllDescendants, mergeDescendants olarak yeniden adlandırıldı. (Ib6250)
  • Testlerde zaman kontrolü (TestAnimationClock ve kullanımları) artık deneyseldir (I6ef86, b/171378521)
  • Eski ui-test modülünü ve onun stub'larını kaldırın (I3a7cb)
  • Diğer birimlerle tutarlılık sağlamak için TextUnit.Inherit, TextUnit.Unspecified olarak yeniden adlandırıldı. (Ifce19)
  • Hizalama arayüzü güncellendi ve çalışır hale getirildi. (I46a07, b/172311734)
  • LayoutIdParentData için id, layoutId olarak yeniden adlandırıldı. Measurable.id, Measurable.layoutId olarak yeniden adlandırıldı. (Iadbcb, b/172449643)

Sürüm 1.0.0-alpha07

11 Kasım 2020

androidx.compose.material:material:1.0.0-alpha07, androidx.compose.material:material-icons-core:1.0.0-alpha07 ve androidx.compose.material:material-icons-extended:1.0.0-alpha07 yayınlandı. 1.0.0-alpha07 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Vurgu özelliğinin desteği sonlandırıldı ve AmbientContentAlpha ile değiştirildi. AmbientContentAlpha, AmbientContentColor'un tercih edilen içerik rengini temsil etmesine benzer şekilde, hiyerarşinin bir kısmı için tercih edilen içerik alfa değerini temsil eden daha basit bir soyutlamadır. Metin ve simge artık varsayılan olarak AmbientContentAlpha'dan mevcut değeri kullanır. Bileşenlerinizde aynı etkiyi elde etmek için manuel olarak şunları yapabilirsiniz: color.copy(alpha = AmbientContentAlpha.current). ProvideEmphasis yerine doğrudan AmbientContentAlpha aracılığıyla bir değer sağlayabilir ve eski EmphasisLevels değerlerini değiştirmek için ContentAlpha'daki yeni varsayılan seviyeleri kullanabilirsiniz. (Idf03e, b/159017896)
  • androidx.compose.foundation.AmbientContentColor'un yerine androidx.compose.material.AmbientContentColor eklendi (I84f7b, b/172067770)
  • Üst düzey, temalanabilir bir metin bileşeni olarak androidx.compose.foundation.Text'in yerine androidx.compose.material.Text eklendi. Temadan renk / metin stili kullanmayan temel bir metin bileşeni için TemelMetin'i kullanın. (Ie6ae0)
  • TextField'lere maxLines eklendi (Ib2a5b)
  • TextField'leri KeyboardOptions'ı kabul edecek şekilde güncelleme (Ida7f3)
  • Yüzey, artık yükseklik yer paylaşımlarını hesaplarken mutlak (toplam) yüksekliği kullanır. Bu nedenle, başka bir yüzeye yerleştirilmiş bir yüzey, yer paylaşımını çizmek için birleştirilmiş yüksekliği kullanır. (I7bd2b, b/171031040)

Hata Düzeltmeleri

  • captureToBitmap, captureToImage adlı kümeye taşındı. (I86385)
  • Temel AmbientTextStyle, ProvideTextStyle ve AmbientContentColor desteği sonlandırıldı. Bunun yerine, Material kitaplığındaki yeni sürümleri kullanın. Material olmayan uygulamalarda ise kendi tasarım sisteminize özel tema ortamları oluşturmanız ve bunları kendi bileşenlerinizde kullanmanız gerekir. (I74acc, b/172067770)
  • foundation.Text desteği sonlandırıldı ve material.Text ile değiştirildi. Bir temadan değer tüketmeyen temel, tarafsız bir metin API'si için androidx.compose.foundation.BasicText'e bakın. (If64cb)
  • KeyboardOptions öğesini ImeOptions olarak yeniden adlandırın (I82f36)
  • KeyboardType ve ImeAction, KeyboardOptions'a taşındı (I910ce)
  • BaseTextField desteği sonlandırıldı. Bunun yerine BasicTextField'i kullanın. (I896eb)
  • ExperimentalSubcomposeLayoutApi notu kaldırıldı. SubcomposeLayout artık @OptIn eklenmeden kullanılabilir (I708ad)
  • FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine taşındı (Ied2e7)
  • Simge API'si, sağlanan öğeyi veya boyayı ColorFilter olmadan çizecek olası bir ton rengi olarak Color.Unspecified değerini alacak şekilde güncellendi. Daha önce Color.Unspecified ile renklendirmeyi yok sayma girişimleri, saydam bir renkle renklendirme yapar ve hiçbir şeyin oluşturulmasına yol açmazdı. (I049e2, b/171624632)
  • relativePaddingFrom, paddingFrom olarak yeniden adlandırıldı. Düzenleme sınırlarından metin taban çizgilerine olan mesafeleri belirtmek için kolaylık sağlamak amacıyla paddingFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
  • SideEffect ve DisposableEffect API'leriyle tutarlılık sağlamak için LaunchedTask, LaunchedEffect olarak yeniden adlandırıldı. En iyi uygulamaları teşvik etmek amacıyla, konu parametresi olmayan LaunchedEffect'e izin verilmez. (Ifd3d4)
  • MeasureResult, MeasureScope'tan çıkarıldı. (Ibf96d, b/171184002)
  • androidx.compose.ui altındaki birkaç düzen sembolü, androidx.compose.layout.ui altına taşındı. (I0fa98, b/170475424)

Sürüm 1.0.0-alpha06

28 Ekim 2020

androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 ve androidx.compose.material:material-icons-extended:1.0.0-alpha06 yayınlandı. 1.0.0-alpha06 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • androidx.compose.foundation.Icon, androidx.compose.material.Icon altına taşındı. Malzeme kitaplığını kullanmak istemiyorsanız Resim bileşenini / Modifier.paint() işlevini bir Painter ile de kullanabilirsiniz. (I9f622)
  • FAB'ların farklı durumlarda kullandığı yüksekliği temsil etmek için FloatingActionButtonElevation özelliğini ekler. Varsayılan uygulama için FloatingActionButtonConstants.defaultElevation()'e bakın (I2d4f5)
  • Bir Switch'in farklı durumlarda kullandığı renkleri temsil etmek için SwitchColors arayüzünü ekler. Bu renkleri özelleştirmek için SwitchConstants.defaultColors'a bakın. (I93805)
  • Düğmelerin farklı durumlarda kullandığı yüksekliği ve renkleri temsil etmek için ButtonElevation ve ButtonColors arayüzlerini ekler. Bu parametreleri özelleştirmek için ButtonConstants'taki varsayılan işlevlere bakın. (Ic5b7b)
  • Bir RadioButton'un farklı durumlarda kullandığı renkleri temsil etmek için RadioButtonColors arayüzünü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için RadioButtonConstants.defaultColors() işlevine bakın. (I74130)
  • Bir onay kutusunun farklı durumlarda kullandığı renkleri temsil etmek için CheckboxColors arayüzünü ekler. Farklı durumlarda kullanılan renkleri özelleştirmek için CheckboxConstants.defaultColors() işlevine bakın. (I7dbdb)

Hata Düzeltmeleri

  • Materyal bileşenleri artık yüksekliği z-endeksi olarak ayarlamaz. Yani aynı üst öğe içinde, gölge boyutu daha büyük olan alt öğe, gölge boyutu daha küçük olan alt öğenin üzerine otomatik olarak çizilmez. Bu tür bir davranışa hâlâ ihtiyacınız varsa lütfen gerektiğinde Modifier.zIndex() işlevini manuel olarak ayarlayın (I70417, b/170623932)
  • Kompozit API'nin, verileri kompozisyonlar arasında kalıcı hale getirmek için dahili olarak "remember" işlevini kullandığını daha iyi belirtmek amacıyla VectorPainter yerine rememberVectorPainter işlevinin desteği sonlandırıldı. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştirin; ComposeTestRule'dan yanıp sönen imleci etkinleştirme seçeneğini kaldırın. (If0de3)
  • CoreTextField'e (I72e6d) tek satırlı klavye seçeneği eklendi
  • Radius API'nin adı, Compose'da nasıl kullanıldığını daha iyi ifade etmek için CornerRadius olarak değiştirildi. Negatif köşe yarıçaplarının sıfıra sabitlendiğini belirtmek için dokümanlar güncellendi. (I130c7, b/168762961)
  • DrawScope ve ContentDrawScope, soyut sınıflar yerine arayüz olacak şekilde yeniden yapılandırıldı.
    • DrawScope için CanvasDrawScope uygulaması oluşturuldu
    • DrawScope'un, bunun yerine CanvasScope'u kullanacak şekilde yeniden yapılandırılmış uygulamaları
    • DrawScope için bağımlılıkları sarmalamak üzere DrawContext oluşturuldu
    • DrawScope'ta desteği sonlandırılmış yöntemler kaldırıldı (I56f5e)
  • Kutu satır içi işlev haline getirildi. (Ibce0c, b/155056091)

Sürüm 1.0.0-alpha05

14 Ekim 2020

androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 ve androidx.compose.material:material-icons-extended:1.0.0-alpha05 yayınlandı. 1.0.0-alpha05 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Pop-up'lar ve iletişim kutuları artık FLAG_SECURE işaretini üst pencereden devralıyor. Ayrıca bunu açıkça yapılandırma seçeneği de eklendi (I64966, b/143778148, b/143778149)
  • Modifier.swipeable artık varsayılan olarak eyaletler için 56.dp eşiklerine sahiptir (Iab825, b/168610267)
  • Tüm iskele durumları @Stable olarak işaretlendi. ScaffoldState'teki drawerGesturesEnabled, Scaffold'a taşındı. (I36645, b/168297016)
  • Scaffold lambda parametrelerinden boş değer kabul eden türü kaldırır. Belirli bir parametre için içerik olmadığını belirtmek üzere emptyContent() işlevini kullanabilirsiniz. (I2b318, b/157633857, b/158551084)
  • contentColor() ve currentTextStyle() API'lerinin desteği sonlandırılır ve sırasıyla AmbientContentColor ve AmbientTextStyle ortamlarıyla değiştirilir. Diğer tüm ortamlarda olduğu gibi, ortam mülkünde .current kullanarak mevcut değere erişebilirsiniz. Bu değişiklik, tutarlılık sağlamak ve aynı işlemi gerçekleştirmek için birden fazla yöntem olmasını önlemek amacıyla yapılmıştır. Ayrıca, bazı ortam özelliklerini amaçlarını daha iyi açıklamak için aşağıdaki şekilde yeniden adlandırır:

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • VurguAmbiyans -> AmbiyansVurguDüzeyleri
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
  • AmbientElevationOverlay ekler. Bu sayede, koyu temada Surface'lere uygulanan varsayılan yükseklik yer paylaşımını özelleştirebilir veya devre dışı bırakabilirsiniz. (I5b74d)

Hata Düzeltmeleri

  • Satır içi sınıflar için gözetmen değerlerinin standartlaştırılması kapsamında, diğer satır içi sınıflarla tutarlılık sağlamak amacıyla Color.Unset değerini Color.Unspecified olarak yeniden adlandırın (I97611, b/169797763)
  • TextOverflow.None özelliği kullanıma sunuldu. Taşma None olduğunda Text artık taşmayı işlemez ve gerçek boyutunu LayoutNode'a bildirir. (I175c9, b/158830170)
  • launchInComposition, Compose API yönergeleriyle eşleşecek şekilde LaunchedTask olarak yeniden adlandırıldı (I99a8e)
  • OnPositionedModifier, OnGloballyPositionedModifier olarak yeniden adlandırıldı ve onPositioned(), onGloballyPositioned() olarak yeniden adlandırıldı. (I587e8, b/169083903)

Sürüm 1.0.0-alpha04

1 Ekim 2020

androidx.compose.material:material:1.0.0-alpha04, androidx.compose.material:material-icons-core:1.0.0-alpha04 ve androidx.compose.material:material-icons-extended:1.0.0-alpha04 yayınlandı. 1.0.0-alpha04 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Durum bilgisine sahip Material bileşenlerinde InteractionState parametrelerini gösterir. Böylece durumu kaldırmaya ve durumu okumaya / kontrol etmeye olanak tanır. (Iaca5f, b/168025711, b/167164434)
  • Her durumda kullanılan renkleri tamamen özelleştirmenize ve dilerseniz renklerin durumlar arasında animasyonlu geçiş şeklini değiştirmenize olanak tanımak için RadioButton ve TriStateCheckbox'taki *color parametrelerini değiştirir. Daha fazla bilgi için CheckboxConstants ve RadioButtonConstants'taki yeni animateDefault* renk işlevlerine bakın. (I1c532)
  • rememberBackdropState adlı değişkenin adı rememberBackdropScaffoldState olarak değiştirildi ve animasyon saati için ek bir parametre eklendi. BackdropScaffold parametresinin backdropScaffoldState adı, scaffoldState olarak değiştirildi. BackdropConstants, BackdropScaffoldConstants olarak yeniden adlandırıldı. (Ib644d)
  • Deneysel BottomSheetScaffold bileşeni eklendi. (Ie02f0, b/148996320)
  • Deneme amaçlı ModalBottomSheetLayout bileşeni eklendi. (Ic209e, b/148996320)
  • ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation adlı sabit, defaultElevation olarak yeniden adlandırıldı ve artık AnimatedValue yerine Dp değeri döndürüyor. (I5f3ed)

Hata Düzeltmeleri

  • Birçok Grafik API'si güncellendi
    • DrawScope ve DrawTransform'daki x/y koordinatları için ayrı kayan nokta parametreleri yerine pivot koordinatını temsil etmek üzere tek bir Offset parametresi kullanacak şekilde ölçek ve dönme dönüşümü API'leri güncellendi
    • Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı
    • Yarıçap dokümanları, elips şeklindeki şekillere ek olarak oval şeklindeki şekilleri de içerecek şekilde güncellendi.
    • Satır içi Radius sınıfının herkese açık kurucusunun doğrudan çağrılmaması gerektiğini, bunun yerine Radius nesnelerinin işlev kurucuları aracılığıyla oluşturulması gerektiğini belirten dokümanlar eklendi
    • Sağ üst, sağ alt, alt orta vb. noktaları sorgulamak için RoundRect API'leri kaldırıldı.
    • Rect.shift işlevi, Rect.translate işlevi lehine kullanımdan kaldırıldı
    • RoundRect.grow ve Rect.shrink API'leri kaldırıldı
    • RoundRect.outerRect, Rect.boundingRect olarak yeniden adlandırıldı
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect ve Rect.isStadium yöntemleri kaldırıldı
    • RoundRect.longestSide, RoundRect.maxDimension olarak yeniden adlandırıldı
    • RoundRect.shortestSide, RoundRect.minDimension olarak yeniden adlandırıldı
    • RoundRect.center işlevi, işlev yerine mülk olarak değiştirildi
    • RoundRect yapıcısı, x/y yarıçapı değerleri için ayrı parametreler yerine Radius özelliklerini kullanacak şekilde güncellendi
    • Orijininin 0,0 olduğu bir dikdörtgen olduğunu varsayılan Boyut API'leri kaldırıldı
    • Radius'a bir destructing API eklendi
    • Çeşitli RoundRect uzantı işlevleri, mülk olarak taşındı
    • (I8f5c7, b/168762961)
  • foundation.Box desteği sonlandırıldı. Bunun yerine lütfen foundation.layout.Box öğesini kullanın. (Ie5950, b/167680279)
  • Grup, Box olarak yeniden adlandırıldı. Daha önce mevcut olan Box, compose.foundation.layout içindeki yeni Box için kullanımdan kaldırılacak. Yeni Kutu'nun davranışı, birden fazla alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, sütuna benzer şekilde davranan önceki Kutu'dan farklıdır. (I94893, b/167680279)
  • Kutu süsleme parametrelerinin desteği sonlandırıldı. Kutunuzda süsleme/dolgu olmasını istiyorsanız bunun yerine değiştiricileri kullanın (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
  • Birçok Grafik API'si güncellendi
    • Dönüşümün yalnızca geri çağırma içinde uygulandığını ve geri çağırma çağrıldıktan sonra kaldırıldığını belirtmek için DrawScope API'leri, kapsamlı dönüşüm yöntemleriyle güncellendi
    • clipPath dokümanları, yuvarlatılmış dikdörtgen yerine yol ifadesini içerecek şekilde güncellendi
    • clipPath'teki sağ parametre için dokümanda sabit aralık
    • DrawScope.drawCanvas, drawIntoCanvas olarak yeniden adlandırıldı ve boyut parametresi kaldırıldı
    • İçe ekleme yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı
    • 4 sınırın tamamına aynı içe ekleme değerini sağlayan içe ekleme aşırı yüklemesi eklendi
    • İçe ekleme yönteminin 4 tarafın tamamına uygulanacağını belirten dokümanlar kaldırıldı
    • Rect sınıfı için güncellenmiş dokümanlar
    • Rect parametreleriyle ilgili yorumlar, kdoc stiliyle eşleşecek şekilde güncellendi
    • Rect.join ve Rect.expandToInclude kaldırıldı
    • Rect.translate(offset) için aşırı yükleme oluşturuldu ve Rect.shift desteği sonlandırıldı
    • (If086a, b/167737376)
  • Düzenleme kapsamlarının içeriğinin statik olarak içe aktarılmasını (ör. RowScope'taki alignWithSiblings) engelledik. Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Sürüm 1.0.0-alpha03

16 Eylül 2020

androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 ve androidx.compose.material:material-icons-extended:1.0.0-alpha03 yayınlandı. 1.0.0-alpha03 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • BottomNavigationItem'nin onSelect parametresini onClick olarak yeniden adlandırır (I91925, b/161809324)
  • BottomNavigationItem ve Sekme bileşenlerine InteractionState parametresini ekleyerek bu durumun kaldırılmasına ve bileşenin farklı durumlarda nasıl görüneceğinin ayarlanmasına olanak tanır. (Ia3e9e, b/168025711)
  • Düğmelerden disabledBackgroundColor ve disabledContentColor parametrelerini kaldırır. Bunun yerine ButtonConstants içindeki yeni varsayılan renk işlevlerini kullanmalısınız. contentColor/backgroundColor'u zaten açıkça ayarlıyorsanız bu varsayılan işlevleri kullanmalı ve hem etkin hem de devre dışı durumların renginin üzerine yazılmasını önlemek için parametrelerin bir kısmını/tamamını özelleştirmeniz gerekir. (If9b52)
  • Metin alanının arka plan rengi artık şeffaflık alfasını dolaylı olarak uygulamaz. Bunun yerine, backgroundColor parametresi aracılığıyla sağlanan tüm renkler doğrudan uygulanır. (Iecee9, b/167951441)
  • InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
  • Modifier.swipeable içindeki resistanceFactorAtMin ve resistanceFactorAtMax parametreleri tek bir direnç parametresiyle değiştirildi. SwipeableConstants'te yeni bir defaultResistanceConfig yöntemi eklendi. (I54238)
  • Button ve FloatingActionButton için animasyonlu durum bilgisine sahip yükseklik desteği ekler. Yükseklik artık varsayılan ve basılı durumlar arasında animasyonlu olarak değişir. Eyaletler arasındaki yüksekliği özelleştirmek için lütfen her durumda sabit bir Dp değeri ayarlamak yerine ButtonConstants.defaultAnimatedElevation() ve FloatingActionButtonConstants.defaultAnimatedElevation() kullanın. (I37925)
  • Etiket, TextField ve OutlinedTextField içinde isteğe bağlı bir parametre haline geldi (I267f6, b/162234081)

Hata Düzeltmeleri

  • onNode veya waitForIdle gibi genel test işlevleri artık desteklenmiyor. Lütfen ComposeTestRule (I7f45a) üzerinde tanımlanan yeni benzerlerine geçin.
  • DpConstraints ve bu API'yi kullanan API'lerin desteği sonlandırıldı. (I90cdb, b/167389835)
  • widthIn parametrelerinin minWidth ve maxWidth değerleri min ve max olarak yeniden adlandırıldı. preferredWidthIn, heightIn ve preferredHeightIn için de benzer bir değişiklik yapıldı. (I0e5e1, b/167389544)
  • İleri/geri kaydırma semantik işlemlerini kaldırın. AccessibilityRangeInfo'ya adımlar eklendi. (Ia47b0)
  • Yerçekimi kullanımları, düzen API'lerinde tutarlı bir şekilde align veya alignment olarak yeniden adlandırıldı. (I2421a, b/164077038)
  • Mevcut genel yöntemler kullanımdan kaldırılacağından ComposeTestRule'a onNode ve diğer genel yöntemler eklendi. (Ieae36)
  • createAndroidComposeRule ve AndroidInputDispatcher, androidx.ui.test.android kuruluş biriminden androidx.ui.test kuruluş birimine taşındı (Idef08, b/164060572)

Sürüm 1.0.0-alpha02

2 Eylül 2020

androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 ve androidx.compose.material:material-icons-extended:1.0.0-alpha02 yayınlandı. 1.0.0-alpha02 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Deneysel bir BackdropScaffold bileşeni eklendi. (Iad908)

Hata Düzeltmeleri

  • Matrix4, Matrix ile değiştirildi. vectormath paketinin diğer tüm bölümleri kaldırıldı. (Ibd665, b/160140398)

Sürüm 1.0.0-alpha01

26 Ağustos 2020

androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 ve androidx.compose.material:material-icons-extended:1.0.0-alpha01 yayınlandı. 1.0.0-alpha01 sürümü bu taahhütleri içerir.

Bilinen Sorun

= Bir malzemedeki ilk karakter 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 yayınlandı. 0.1.0-dev17 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Daha önce desteği sonlandırılan RadioGroup ve RadioGroupItems kaldırıldı. Bunun yerine Satır ve Radyo Düğmesi'ni kullanın (I381b7, b/163806637)
  • onFocusChanged geri çağırma işlevleri TextField'den kaldırıldı. Bunun yerine Modifier.focusObserver'ı kullanın. (I51089, b/161297615)
  • Modifier.drawBorder desteği sonlandırıldı. Bunun yerine Modifier.border kullanın. Kenarlık veri sınıfı, BorderStroke (I4257d, b/158160576) ile değiştirildi
  • SwipeableState'teki bazı özellikler yeniden adlandırıldı: swipeTarget -> targetValue, swipeProgress -> progress, swipeDirection -> direction. SwipeableState oluşturmak için rememberSwipeableState işlevi eklendi. (I2fc9c, b/163129614, b/163132293)
  • Konumlandırma ve doğru sıraya ekleme içeren bilgi çubuğu desteği eklendi. SnackbarHostState.showSnackbar askıya alma işlevi aracılığıyla erişebilirsiniz. Ayrıca:
    • SnackbarHost bileşenleri eklendi. Duruma göre bilgi çubuğu barındırır ve bilgi çubuğu barları arasında geçişten sorumludur.
    • SnackbarHostState, snackbar'lar ve snackbar barındırıcıları üzerinde kontrol sahibi olmak ve bu öğeleri ScaffoldState'ten ayırmak için eklenmiştir. Bu duruma scaffoldState.snackbarHostState üzerinden de erişebilirsiniz.
    • SnackbarHostState ile snackbar'lar arasındaki ortak arayüzü desteklemek için snackbar aşırı yüklemesi eklendi. (I79aaa)
  • IconButton'a enabled parametresini ekler ve IconToggleButton'daki 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)
  • Desteği sonlandırılan FilledTextField bileşeni kaldırıldı. Doldurulmuş metin alanının Material Design uygulamasını almak için lütfen bunun yerine TextField kullanın. (I5e889)
  • AlertDialog artık düğmeler için FlowRow'u kullanıyor (I00ec1, b/161809319, b/143682374)
  • Sınırları aştığında direnç miktarını değiştirmek için Modifier.swipeable parametresi eklendi. [min/max]Value parametreleri kaldırıldı. (I93d98)
  • LinearProgressIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'dan dahili dolgu kaldırıldı. Değerler arasındaki ilerlemeyi animasyonlu olarak gösterirken varsayılan AnimationSpec olarak kullanılabilen yeni ProgressIndicatorConstants.DefaultProgressAnimationSpec eklendi (If38b5, b/161809914, b/161804677)
  • Modifier.swipeable parametresine isteğe bağlı velocityThreshold parametresi eklendi. (I698ba)
  • bottomBarSize, fabSize ve diğerleri artık ScaffoldState'te kullanılamaz. Boyutunu öğrenmek istediğiniz bileşende bunun yerine Modifier.onPosition kullanın. contentColor ve Modifier parametreleri Scaffold'a eklendi (Ic6f7b, b/161811485, b/157174382)
  • Diğer API'lerle tutarlılık sağlamak için Sekme'deki bazı parametreleri yeniden adlandırır ve yeniden sıralar (Ia2d12, b/161807532)
  • TabRow'u TabRow ve ScrollableTabRow olarak böler ve isScrollable özelliğini TabRow'dan kaldırır. Ayrıca, ScrollableTabRow'da edgePadding özelliğini de gösterir. Bu özellik, sekmelerden önce / sonra boş alanın kontrol edilmesine olanak tanır. (I583e8, b/161809544)
  • TabRow nesnesi kaldırıldı ve yerine TabConstants eklendi. TabRow.TabPosition üst düzeye (TabPosition) taşındı ve indicatorContainer indicator olarak yeniden adlandırıldı. Güncellenen API'nin nasıl kullanılacağı ve varsayılan değerler hakkında ayrıntılı bilgi için örneklere ve dokümanlara bakın. (I54d45, b/161809544)
  • Modifier.swipeable parametresinde küçük bir değişiklik yapıldı. Artık bir çift durum (T türü) alıyor ve aralarındaki eşiği ThresholdConfig biçiminde döndürüyor. SwipeToDismiss işlevine, lambda (DismissDirection) -> ThresholdConfig olan dismissThresholds parametresi eklendi. (Ie1080)
  • Kaydırma çubuğunda ayrıntılı özelleştirme için daha fazla renk bulunur (I73e64, b/161810475)
  • Kartın color parametresi backgroundColor olarak yeniden adlandırıldı (I01fc1, b/161809546)
  • Snackbar'da artık özelleştirilebilir arka plan ve içerik renkleri var (I238f2, b/161804381)
  • Drawers'a (I23655, b/161804378) modifier, backgroundColor, contentColor ve scrimColor özelleştirme parametreleri eklendi
  • state { ... } bileşeni artık kullanımdan kaldırıldı. Bunun yerine, netlik için remember { mutableStateOf(...) }'a açık çağrılar yapılması önerilir. Bu, durum yönetimi için genel API yüzeyini ve kavram sayısını azaltır ve sınıf mülkü yetkilendirmesi için by mutableStateOf() kalıbıyla eşleşir. (Ia5727)
  • Button'un padding parametresi contentPadding olarak yeniden adlandırıldı (Id252e, b/161809394)
  • Deneysel bir materyal bileşeni olan SwipeToDismiss'ı ekleyin. (I129e5)

Hata Düzeltmeleri

  • onChildPositioned ve OnChildPositionedModifier kaldırıldı. Geliştiriciler bunun yerine alt düzende onPositioned ve OnPositionedModifier kullanmalıdır. (I4522e, b/162109766)
  • SemanticsPropertyKey'e mergePolicy lambda eklendi. Bu, mergeAllDescendants semantik birleştirme işlemi için özel bir politika tanımlamak amacıyla kullanılabilir. Varsayılan politika, mevcutsa üst değeri, aksi takdirde alt değeri kullanmaktır. (Iaf6c4, b/161979921)
  • IntSize artık satır içi bir sınıftır (I2bf42)
  • PlacementScope.placeAbsolute(), PlacementScope.place() olarak yeniden adlandırıldı ve önceki PlacementScope.place(), PlacementScope.placeRelative() olarak yeniden adlandırıldı. Sonuç olarak, PlacementScope.place() yöntemi artık sağdan sola doğru metinlerde konumu otomatik olarak yansıtmayacaktır. Bu isterseniz bunun yerine PlacementScope.placeRelative() kullanın. (I873ac, b/162916675)
  • Rect için PxBounds desteği sonlandırıldı. PxBounds'un tüm kullanımlarını rect ile güncelledik ve taşıma işlemine yardımcı olmak için uygun desteği sonlandırma/şununla değiştirin ek açıklamaları ekledik. (I37038, b/162627058)
  • RRect, oluşturma adlandırma kalıplarına daha uygun olması için RoundRect olarak yeniden adlandırıldı. RRect'e benzer işlev oluşturucular oluşturuldu ve RRect işlev oluşturucuları için destek sonlandırıldı (I5d325)

Sürüm 0.1.0-dev16

5 Ağustos 2020

androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 ve androidx.compose.material:material-icons-extended:0.1.0-dev16 yayınlandı. 0.1.0-dev16 sürümü bu taahhütleri içerir.

API Değişiklikleri

  • Renkler artık bir arayüz yerine nihai sınıftır. Özel bir uygulamayı genişletip sağlamak yerine, özel tema nesneniz için yeni bir ortam oluşturmalı ve tema nesnesine, MaterialTheme'in dahili olarak işleyiş şekline benzer şekilde bileşenlerinizdeki yeni ortam üzerinden erişmelisiniz. (Ibae84)
  • ColorPalette, Materyal renk sistemiyle daha iyi eşleşecek ve ColorPalette'in Materyal renk sisteminin belirli bir uygulaması yerine "genel" bir temalandırma nesnesi olmasıyla ilgili kafa karışıklığını giderecek şekilde Colors olarak yeniden adlandırıldı. Ayrıca lightColorPalette ve darkColorPalette değerlerini sırasıyla lightColors ve darkColors olarak yeniden adlandırır. (I9e976, b/161812111)
  • BottomNavigationItem'in text parametresini label, onSelected parametresini onSelect, activeColor parametresini selectedContentColor, inactiveColor parametresini unselectedContentColor olarak yeniden adlandırır ve parametre sıralamasını yönergelere uygun olacak şekilde günceller. (Icb605, b/161809324)
  • Modifier.stateDraggable tamamen yeniden çalışıldı ve Modifier.swipeable olarak yeniden adlandırıldı. Yeni bir SwipeableState sınıfı kullanıma sunuldu ve DrawerState ile BottomDrawerState, bu sınıftan devralınacak şekilde yeniden yapılandırıldı. [Modal/Bottom]DrawerLayout artık onStateChange parametresi almıyor. (I72332, b/148023068)
  • foundation.shape.corner paketi, foundation.share olarak düzleştirildi (I46491, b/161887429)
  • ExperimentalMaterialApi ek açıklaması eklendi. RippleTheme, deneysel olarak işaretlendi (Ic5fa0, b/161784800)
  • Material FilledTextField, TextField olarak yeniden adlandırıldı ve temel TextField, BaseTextField olarak yeniden adlandırıldı. Böylece, istenen en basit API'nin keşfedilmesi ve kullanılması kolaylaştırıldı (Ia6242, b/155482676)

Hata Düzeltmeleri

  • OnChildPositioned desteği sonlandırıldı. Bunun yerine alt öğede OnPositioned işlevini kullanın. (I87f95, b/162109766)
  • Geniş API düzeltmelerini ele alma (I077bc)
    1. Kullanılmayan OffsetBase arayüzünü kaldırma
    2. Tutarlı bir API yüzeyi elde etmek için Offset ve IntOffset sınıflarını hizalama
    3. Offset API ile tutarlı olması için IntOffset.Origin değerini IntOffset.Zero olarak yeniden adlandırın
    4. Tüketicilerin kendi Canvas örneklerini oluşturmalarını desteklemek için nativeCanvas yöntemi Canvas arayüzünden kaldırıldı
    5. DrawScope'u lateinit yerine null olmayan bir parametre olacak şekilde yeniden yapılandırmak ve alanın null olmamasına dikkat etmek için EmptyCanvas sınıfı oluşturuldu
    6. ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı
    7. FilterQuality enum'ları Pascal Case olarak yeniden adlandırıldı
    8. StrokeJoin enum'ları Pascal Case olarak yeniden adlandırıldı
    9. PointMode enum'ları Pascal Case olarak yeniden adlandırıldı
    10. PaintingStyle enum'ları Pascal Case olarak yeniden adlandırıldı
    11. PathFillType enum'ları Pascal Case olarak yeniden adlandırıldı
    12. StrokeCap enum'ları Pascal Case olarak yeniden adlandırıldı
    13. DrawCache uygulaması, artık lateinit parametrelerini kullanmamak için güncellendi
    14. DrawScope, fillPaint ve strokePaint dahili parametreleri için artık yavaş yetkilendirme kullanmamak üzere güncellendi
    15. Daha az ek maliyet için Box kullanımını önlemek amacıyla resim derleyici güncellendi
    16. Ana hat sınıfı, @Immutable ek açıklamalarına sahip olacak şekilde güncellendi
    17. PathNode, her yol talimatı için @Immutable ek açıklamalarına sahip olacak şekilde güncellendi
    18. Vektör alt bileşimi, birleştirme işlemi zaten bunları ele aldığından eşitlik için gereksiz koşullu kontrolleri kaldırmak üzere güncellendi
    19. İşlev oluşturucuların lehine Rect yardımcı oluşturucu yöntemlerinin desteği sonlandırıldı
    20. Fırça sınıfları ve işlev kurucuları @Immutable ve @Stable API'leriyle güncellendi
    21. VertexMode enum'u PascalCase olarak güncellendi
    22. DrawScope selectPaint yöntemi, boyadaki vuruş parametrelerinin değişmiş olması durumunda koşullu olarak üzerine yazacak şekilde güncellendi
    23. Boyut, yapı bozma API'sini eklemek için güncellendi, BelirtilmemişBoyut yeniden adlandırılarak Belirtilmemiş olarak değiştirildi ve kullanılmayan yöntemler kaldırıldı
  • İletişim kutusunu kullanıcı arayüzüne taşıma (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture kaldırıldı. Bunun yerine SemanticsNodeInteraction.performGesture kullanın. (Id9b62)
  • SemanticsNodeInteraction.getBoundsInRoot(), SemanticsNodeInteraction.getUnclippedBoundsInRoot() olarak yeniden adlandırıldı (Icafdf, b/161336532)
  • Sağdan sola yazma desteği için API'ler güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilen LayoutDirectionAmbient eklendi. Modifier.rtl ve Modifier.ltr kaldırıldı. (I080b3)
  • Modifier.deternimateProgress, Modifier.progressSemantics olarak yeniden adlandırıldı (I9c0b4)
  • Material-icons-extended paketini, Material.io/icons'a eklenen en son simgelerle günceller (I4b1d3)
  • transitionDefinition için T türünün açıkça belirtilmesini zorunlu tutun. (I1aded)
  • Modifier.plus desteği sonlandırıldı. Bunun yerine Modifier.then işlevini kullanın. "Sonra", sıralama konusunda daha güçlü bir sinyal verir. Ayrıca Modifier.padding().background() + anotherModifier yazmayı yasaklar. Bu da zinciri bozar ve metnin okunmasını zorlaştırır (Iedd58, b/161529964)
  • AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)
  • isFocused() ve isNotFocused() SemanticsMatcher'ı ekleyin. (I0b760)
  • Testlerde kullanılmaması gereken BaseGestureScope.globalBounds kaldırıldı. Bunun yerine, etkileşimde bulunduğunuz düğüme ait yerel koordinatları kullanın. (Ie9b08)
  • Kesik ekranlarda pop-up konumu düzeltildi. (Idd7dd)
  • Modifier.drawBackground, Modifier.background olarak yeniden adlandırıldı (I13677)

Sürüm 0.1.0-dev15

22 Temmuz 2020

androidx.compose.material:material:0.1.0-dev15, androidx.compose.material:material-icons-core:0.1.0-dev15 ve androidx.compose.material:material-icons-extended:0.1.0-dev15 yayınlandı. 0.1.0-dev15 sürümü bu taahhütleri içerir.

Bağımlılıklar Güncellemesi

  • Compose'un 0.1.0-dev15 sürümünü kullanmak için bağımlılıkları, yukarıdaki Bağımlılıkları tanımlama bölümünde gösterilen yeni kod snippet'lerine göre güncellemeniz gerekir.

API Değişiklikleri

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

    Gerekçe

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

    • API'nin kapsamını ve öğretmemiz gereken kavramları azaltır
    • Diğer benzer araç setleriyle (Swift UI, React, Flutter) daha uyumlu
    • Geri alınabilir karar. @Model'yi daha sonra dilediğiniz zaman tekrar etkinleştirebiliriz.
    • @Model'ü yapılandırmayla ilgili, ele almamız gereken uç durumlar ve yanıtlanması zor soruları ortadan kaldırır
    • @Model veri sınıfları, eşittir, karma kodu vb.
    • Bazı mülkleri nasıl "gözlemledim" olarak işaretleyebilirim?
    • Gözlemde kullanılacak yapısal ve referanssal eşitliği nasıl belirtirim?
    • Sistemdeki "sihir"i azaltır. Kullanıcıların sistemin olduğundan daha akıllı olduğunu varsayması (ör. bir liste arasındaki farkları nasıl bulacağını bilmesi) olasılığını azaltır.
    • Gözlem ayrıntı düzeyini daha sezgisel hale getirir.
    • Değişkenden sınıfta mülk olarak yeniden yapılandırılabilirliği iyileştirir
    • Eyalete özel manuel optimizasyonlar yapma olanağı sunar.
    • Ekosistemin geri kalanıyla daha uyumlu hale gelir ve "değişebilir durumu benimsediğimiz" veya "değişmez duruma bağlı olduğumuz" konusundaki belirsizliği azaltır.

    Taşıma Notları

    @Model'ün mevcut kullanımlarının neredeyse tamamı, iki yöntemden biriyle oldukça basit bir şekilde dönüştürülebilir. Aşağıdaki örnekte, yalnızca örnek olması amacıyla iki özelliğe sahip bir @Model sınıfı ve bu sınıfın bir bileşiğe yerleştirilmesi gösterilmektedir.

    @Model class Position(
     var x: Int,
     var y: Int
    )
    
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    1. Alternatif: State<OriginalClass> simgesini kullanın ve kopyalar oluşturun.

    Bu yaklaşım, Kotlin'in veri sınıflarıyla kolaylaştırılır. Özetle, daha önce var olan tüm özellikleri bir veri sınıfının val özelliği haline getirin, ardından remember yerine state kullanın ve veri sınıfı copy(...) kolaylık yöntemini kullanarak durum değerini orijinalin kopyalarına atayın.

    Bu yaklaşımın yalnızca sınıftaki tek mutasyonlar State örneğinin oluşturulduğu kapsamda yapıldığında işe yaradığını unutmayın. Sınıf, kullanım kapsamının dışında kendi içinde mutasyon geçiriyorsa ve bu gözleme güveniyorsanız kullanmanız gereken yaklaşımı aşağıda bulabilirsiniz.

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

    2. Alternatif: mutableStateOf ve mülk temsilcilerini kullanma

    Bu yaklaşım, Kotlin'in mülk temsilcileri ve kompozisyon dışında MutableState örnekleri oluşturmanıza olanak tanıyan mutableStateOf API ile kolaylaştırılır. Özetle, orijinal sınıfın tüm var mülklerinin mülk temsilcisi olarak mutableStateOf içeren var mülkleriyle değiştirilmesi gerekir. Bu yöntemin avantajı, sınıfın kullanımının hiç değişmemesi, yalnızca dahili uygulamanın değişmesidir. Ancak her mülk artık ayrı ayrı gözlemlendiği/abone edildiği için davranış, orijinal örnekle tamamen aynı değildir. Bu nedenle, bu yeniden düzenlemeden sonra gördüğünüz yeniden oluşturma işlemleri daha dar olabilir (iyi bir şey).

    class Position(x: Int, y: Int) {
     var x by mutableStateOf(x)
     var y by mutableStateOf(y)
    }
    
    // source of Example is identical to original
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/143263925, b/139653744)

  • Metin alanlarında onFocusChange geri çağırma işlevi, onFocusChanged olarak yeniden adlandırıldı (Ida4a1)

  • Yerleşim noktaları arasındaki eşikleri belirtmek için stateDraggable parametresine eşikler eklendi. Bu, alt çekmecede 56 dp'lik bir eşik ayarlamak için kullanıldı. Ayrıca BottomDrawerLayout artık ayrı bir BottomDrawerState enumu kullanıyor. (I533fa)

  • Daha önce desteği sonlandırılan Modifier.ripple kaldırıldı. Tıklanabilir, artık varsayılan gösterge olarak dalga efekti kullanır (uygulamanızda MaterialTheme {} ayarladıysanız). Bu nedenle, çoğu durumda tıklanabiliri kullanabilir ve dalga efekti göstergesini ücretsiz olarak alabilirsiniz. Dalganın rengi / boyutu / sınırlanmış parametresini özelleştirmeniz gerekiyorsa manuel olarak bir RippleIndication oluşturabilir ve bunu tıklanabilir öğeye gösterge parametresi olarak iletebilirsiniz. (I663b2, b/155375067)

  • Desteği sonlandırılmış FilledTextField bileşeninin geçersiz kılma özelliği kaldırıldı (I7f8f8)

  • Button nesnesini (Button işlevi tarafından kullanılan varsayılanları içeren) ButtonConstants olarak yeniden adlandırın (I7c5f7, b/159687878)

  • Düğmenin içerik yuvası artık satır gibi davranır (metin içeren bir simge kullanmanız gerektiğinde kullanışlıdır. Düğme'de nasıl yazılacağıyla ilgili örneklere bakın) (I0ff10, b/158677863)

  • RadioGroup ve RadioGroupItem için destek sonlandırıldı. Tasarımınıza göre uygun radyo düğmesi seçimleri yapmak için Modifier.selectable, Row ve Column ile birlikte Box kullanın (I7f5cf, b/149528535)

  • Materyal Anahatlı Metin Alanı (I1a518) eklendi

  • androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Bu türü kullanan TextField, FilledTextField ve CoreTextField bileşenlerinin desteği de sonlandırıldı. Bunun yerine lütfen androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005)

  • TabRow.TabPosition, IntPx yerine Dp'de konum içermiyor (I34a07, b/158577776)

  • IntPx kullanımı Int ile değiştirildi. IntPxPosition, IntOffset ile değiştirildi. IntPxSize, IntSize ile değiştirildi. (Ib7b44)

  • Beden bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxSize yerine Size sınıfının kullanımını standartlaştırın. Bu, genişliği ve yüksekliği kesirli sayı olarak temsil etmek için 2 kesirli sayı değerini paketlemek üzere uzun bir değerden yararlanmak amacıyla satır içi sınıfın avantajlarını sağlar. (Ic0191)

  • Modifier.ripple desteği sonlandırıldı. Tıklanabilir, artık varsayılan gösterge olarak dalga efekti kullanır (uygulamanızda MaterialTheme {} ayarladıysanız). Bu nedenle, çoğu durumda tıklanabiliri kullanabilir ve dalga efekti göstergesini ücretsiz olarak alabilirsiniz. Dalganın rengi / boyutu / sınırlanmış parametresini özelleştirmeniz gerekiyorsa manuel olarak bir RippleIndication oluşturabilir ve bunu tıklanabilir öğeye gösterge parametresi olarak iletebilirsiniz. (I101cd, b/155375067)

  • İskelet API'si yeniden tasarlandı: Birkaç parametrenin adı değiştirildi, daha iyi özelleştirme için yeni parametreler eklendi. Fab, TopBar ve BottomBar boyutlarını sorgulamak için alıcı eklendi (I0e7ce)

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

  • SoftwareKeyboardController'ı kullanarak yazılım klavyesini manuel olarak göstermeye/gizlemeye izin ver (Ifb9d6, b/155427736)

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

  • CanvasScope uygulamaları birleştirildi. Artık yalnızca DrawScope ve ContentDrawScope var. CanvasScope, DrawScope olarak yeniden adlandırıldı. DrawScope, Density arayüzünü uygulayacak ve LayoutDirection sağlayacak şekilde güncellendi. ContentDrawScope'taki DrawScope alt sınıfı silindi. Painter ve PainterModifier, DrawScope'un manuel olarak sağlamadığı bir RTL mülkünü artık kendileri sağlamamaları için güncellendi (I1798e)

  • Emphasis.emphasize() işlevini Emphasis.applyEmphasis() olarak yeniden adlandırır (Iceebe)

  • Devre dışı bırakılan düğmeler artık görsel olarak Materyal Tasarım spesifikasyonuna (I47dcb, b/155076924) uygundur.

  • FilledTextField, ime işlemi, görsel dönüşüm ve klavye türü desteği alır (I1f9cf, b/155075201)

  • Kenarlık boyutunu özelleştirmek için CircularProgressIndicator'a strokeWidth parametresini ekler. Bir LinearProgressIndicator öğesinin çizgi boyutunu (yükseklik) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)

  • Kenarlık boyutunu özelleştirmek için CircularProgressIndicator'a strokeWidth parametresini ekler. Bir LinearProgressIndicator öğesinin çizgi boyutunu (yükseklik) değiştirmek için Modifier.preferredHeight() veya başka bir boyut değiştiriciyi kullanabilirsiniz. (Icea16, b/154919081)

  • FilledTextField'deki son ve ilk simgeler için slot API'si ve hata durumunun işlenmesi eklendi (Ic12e0)

  • FAB'ın ve Genişletilmiş FAB'ın varsayılan rengi MaterialTheme.colors.secondary olarak değiştirildi. (I3b9b9, b/154118816)

  • API'deki tüm boş değer kabul eden Color kullanımları, boş değer kabul etmeyenlerle değiştirildi ve null yerine Color.Unset kullanıldı (Iabaa7)

  • EdgeInsets, InnerPadding olarak yeniden adlandırıldı. Material Buttons'ın innerPadding parametresi, padding olarak yeniden adlandırıldı. (I66165)

  • Kaydırma çubuğu artık durum bilgisi içermiyor. Kullanıcıların, diğer tüm kontrollerde olduğu gibi durumu kendileri iletmesi ve güncellemesi gerekir. (Ia00aa)

  • StaticDrawer kaldırıldı. Gerekirse bunun yerine malzeme spesifikasyonu genişliği olan kutuyu kullanın (I244a7)

  • Doldurulmuş metin alanı için Materyal Tasarım uygulaması eklendi (Ic75cd)

  • ListItem'e değiştirici parametre eklendi ve son lambda gövdesini öne çıkarmak için parametreler yeniden düzenlendi (I66e21)

  • Typography sınıfına defaultFontFamily kurucu parametresini ekler. Bu parametre, aile ayarı yapılmamış tüm sağlanan TextStyles için kullanılacak varsayılan yazı tipi ailesini belirtmenize olanak tanır. (I89d07)

  • Materyal Veri Tabloları API yüzeyinden geçici olarak kaldırıldı. (Iaea61)

  • Bölme bileşeninde yeniden adlandırılan parametreler (Ic4373)

  • children (Ia6d19)

  • MaterialTheme.emphasisLevels kaldırıldı. Bunun yerine vurgu düzeylerini almak için EmphasisAmbient.current'i kullanın (Ib5e40)

  • Şekil temalandırma sistemi, Materyal Tasarım spesifikasyonuna göre güncellendi. Artık bileşenlerin çoğu tarafından kullanılacak küçük, orta ve büyük şekiller sağlayabilirsiniz (Ifb4d1)

  • MaterialTheme.colors(), MaterialTheme.typography() gibi MaterialTheme API'leri işlev yerine özellik olarak değiştirildi. Mevcut çağrılardan parantezleri kaldırın. Davranışta herhangi bir değişiklik beklenmez. (I3565a)

  • Temel öğeler yerine birleştirilebilir lambdaları kabul edecek şekilde yeniden yapılandırılmış FloatingActionButton API'leri. Kullanım bilgileri için güncellenmiş örneklere bakın. (I00622)

  • enabled parametresini onay kutusu, anahtar ve açma/kapatma düğmesine ekleyin (I41c16)

  • Dalga efekti artık bir değiştiricidir. Tıklanabilir 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 adlı paketten androidx.ui.material adlı pakete taşındı (I88a6d, b/150863888)

  • Button, FloatingActionButton ve Clickable için artık ayrı bir enabled parametresi vardır. 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 bileşeni arasındaki farkı daha iyi ayırt etmek amacıyla Image adı ImageAsset olarak değiştirildi. _Body:Geleneksel Android uygulama geliştirmeyi Compose çerçevesiyle birleştirmek için yararlı olan bir ImageAsset örneği oluşturmak amacıyla android.graphics.Bitmap üzerinde Bitmap.asImageAsset() adlı bir uzantı yöntemi oluşturuldu (Id5bbd)

  • Dize parametreleri içeren Snackbar API'si, birleştirilebilir lambdaları kabul eden aşırı yükleme işlevinin kullanılması için kaldırıldı. Kullanım bilgileri için güncellenmiş örnekleri inceleyin (I55f80)

  • Sekme API'leri, text ve icon lambda'larını kabul edecek şekilde yeniden düzenlendi (Ia057e)

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

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

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

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

  • LayoutCoordinates artık bir konum özelliğine sahip değildir. LayoutModifiers, döndürme veya ölçeklendirme göz önüne alındığında position mülkü anlamlı değildir. Bunun yerine geliştiriciler, bir LayoutCoordinate'dan diğerine dönüşümü hesaplamak için parentCoordinates ve childToLocal() yöntemlerini kullanmalıdır.

    LayoutCoordinates, boyut mülkü için PxSize yerine IntPxSize kullanır. Düzenler, düzenler için tam sayı piksel boyutları kullanır. Bu nedenle, tüm düzen boyutları kayan nokta değerleri değil, tam sayılar kullanmalıdır. (I9367b)

  • Ambiyans API'de önemli değişiklikler. Ayrıntılar için günlüğe ve Ambient<T> belgelerine bakın (I4c7ee, b/143769776)

  • İskele malzemesi bileşeni eklendi. İskele aletleri (I7731b)

  • DrawBorder, Border Modifier (Id335a) ile değiştirildi

Hata Düzeltmeleri

  • FocusModifier desteği sonlandırılmış, yerine Modifier.focus, Modifier.focusRequester, Modifier.focusObserver getirilmiştir. FocusState ve FocusDetailedState için FocusState2'nin (I46919, b/160822875, b/160922136) desteği sonlandırıldı
  • VerticalScroller ve HoriziontalScroller desteği sonlandırıldı. Sütun/satır davranışı ve parametreleriyle yerleşik deneyim için ScrollableColumn ve ScrollableRow'u veya kendi öğenizde Modifier.verticalScroll ve Modifier.horizontalScroll'u kullanın. Benzer şekilde, ScrollerPosition için desteğin sonlandırılması ve ScrollState'in kullanılması önerilir (I400ce, b/157225838, b/149460415, b/154105299)
  • Modifier.draggable ve Modifier.scrollable API'leri yeniden tasarlandı. DragDirection, Orientation için kaldırıldı. Kaydırılabilir için gerekli durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
  • runOnIdleCompose, runOnIdle olarak yeniden adlandırıldı (I83607)
  • Tek değerli anlambilim özellikleri artık bir çağrı stili kullanıyor. Örneğin, "semantics { hidden = true }" artık şu şekilde yazılır: 'semantics { hidden() }'. (Ic1afd, b/145951226, b/145955412)
  • Birkaç test API'si daha sezgisel olacak şekilde yeniden adlandırıldı. Tüm findXYZ API'leri onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri performXYZ olarak yeniden adlandırıldı. (I7f164)
  • Transition API, TransitionState'i alt öğelere iletmek yerine TransitionState döndürecek şekilde değiştirildi. Bu sayede API, animate() API'leriyle daha tutarlı hale gelir. (I24e38)
  • Düzendeki tam sayı piksel sınırlarını temsil eden bir IntBounds birim sınıfı eklendi. PopupPositionProvider API'si, bu API'yi kullanacak şekilde güncellendi. (I0d8d0, b/159596546)
  • Bulma araçlarını test etmek için yeni bir isteğe bağlı işaret olan useUnmergedTree eklendi. (I2ce48)
  • Eski boyut testi API'leri kaldırıldı. (Iba0a0)
  • NativeShader expect sınıfını sarmalayan Shader satır içi sınıfı kaldırıldı. NativeShader, Shader olarak yeniden adlandırıldı. Sarmalanmış Shader satır içi sınıfı, API yüzeyine değerli bir şey eklemedi ve satır içi bir sınıftı. Bu nedenle, NativeShader sınıfını doğrudan kullanın. (I25e4d)
  • Pop-up'lar, iletişim kutuları ve menüler artık bağlama dayalı MaterialTheme'i devralıyor (Ia3665, b/156527485)
  • Material DropdownMenu artık kaydırılabilir. (Ide699)
  • Layout() işlevinin measure bloğundan layout direction parametresi kaldırıldı. Ancak sayfa düzeni yönü, ölçüm kapsamı nesnesi (Ic7d9d) aracılığıyla geri çağırma içinde kullanılabilir.
  • Statik animasyon spesifikasyonu kavramını netleştirmek için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın. Dinamik geçiş, yay gibi AnimationSpec'ler oluşturmak için lambda koşulunu kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, doğrudan kurucu parametrelerini alırlar. -Oluşturuculara güvenmek yerine AnimationSpec'in genel kullanım kolaylığını artırmak için yapıcıları açarak -KeyFrames ve Tween için süreyi ve gecikmeyi Int olarak değiştirin. Bu, gereksiz tür dönüştürme işlemlerini ve yöntem aşırı yüklemeyi (hem Long hem de Int'i desteklemek için) ortadan kaldırır. (Ica0b4)
  • enabled yanlış olarak ayarlandığında (If4624, b/155941869, b/159331694) Şimdi geç düğmesi devre dışı görünüyor
  • Modifier.tag, Modifier.testTag ile karışıklık olmaması için Modifier.layoutId olarak yeniden adlandırıldı. (I995f0)
  • Placeable#get(AlignmentLine) işlevinden döndürülen hizalama çizgisi tam sayı konumları artık null değil. Sorgulanan hizalama çizgisi yoksa AlignmentLine.Unspecified döndürülür. (I896c5, b/158134875)
  • Radius sınıfı satır içi sınıf olacak şekilde yeniden düzenlendi. Y ekseni üzerindeki yarıçapın zorunlu x ekseni yarıçap parametresiyle eşleşmesi için varsayılan parametre içeren işlev kurucusu lehine tamamlayıcı oluşturma yöntemleri kaldırıldı.

    DrawScope.drawRoundRect, x ve y eksenindeki yarıçap için 2 ayrı kayan değer yerine tek bir Radius parametresi kullanacak şekilde güncellendi (I46d1b)

  • Konumlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek amacıyla PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, x ve y ofsetlerini kesirli sayı olarak temsil etmek için 2 kesirli sayı değerini paketlemek üzere uzun bir değerden yararlanan satır içi sınıfın avantajlarını sağlar. (I3ad98)

  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi. Px sınıfı tamamen silindi (I3ff33)

  • Açma/kapatma düğmeli bileşenin desteği sonlandırıldı. Bunun yerine Modifier.toggleable özelliğini kullanın (I35220, b/157642842)

  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (I086f4)

  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (Id3434)

  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (I97a5a)

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

  • MutuallyExclusiveSetItem desteği sonlandırıldı. Bunun yerine Modifier.selectable kullanın. (I02b47, b/157642842)

  • Test etiketi için destek sonlandırıldı. Bunun yerine Modifier.testTag kullanın. (If5110, b/157173105)

  • TextField'in imlecinde yanıp sönen animasyon var (Id10a7)

  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (I19d02)

  • VerticalScroller artık kullanıma hazır olarak sütun sağlar. HorizontalScroller artık Row'u kullanıma hazır olarak sunar. (Ieca5d, b/157020670)

  • Piksel parametreleri için yalnızca Dp ve ilkel türlere güvenmek amacıyla büyük bir yeniden yapılanma çalışması kapsamında çeşitli kompozisyon sınıflarında Px sınıfının kullanımı değiştirildi (Iede0b)

  • Modifier.semantics, üst düzey bileşenlerin kullanımına izin vermek için desteği sonlandırılma durumuna alındı. (I4cfdc)

  • DrawLayer değiştiricileri API'si değiştirildi: outlineShape, shape olarak yeniden adlandırıldı ve RectangleShape varsayılan değerine sahip oldu ve artık null kabul etmiyor; clipToOutline, clip olarak yeniden adlandırıldı; clipToBounds, RectangleShape ile clip == true ile aynı olduğu için kaldırıldı (I7ef11, b/155075735)

  • Bir Canvas'ı gösteren daha yüksek düzeydeki compose API'leri, bunun yerine CanvasScope'u göstermek için güncellendi. Bu sayede tüketicilerin kendi Paint nesnelerini yönetmesi gerekmez. Yine de bir tuvale erişmesi gereken tüketiciler, temel tuvalde çizim komutları göndermek için geri çağırma sağlayan drawCanvas uzantı yöntemini kullanabilir. (I80afd)

  • AlignmentLineOffset kompozitinin desteği sonlandırıldı. Lütfen bunun yerine relativePaddingFrom() değiştiricisini kullanın. CenterAlignmentLine bileşeni kaldırıldı. (I60107)

  • WithConstraints sona ek lambda API'si değiştirildi. Artık iki parametre yerine, constraints ve layoutDirection'e ek olarak Dp'de minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlayan bir alıcı kapsamı var (I91b9a, b/149979702)

  • Yalnızca gelen ilgili kısıtlamalar belirtilmediğinde (min kısıtlamalar için 0 ve max kısıtlamalar için sonsuz) sarmalanmış düzene boyut kısıtlamaları ayarlayan defaultMinSizeConstraints düzen değiştiricisi eklendi. (I311ea, b/150460257)

  • FocusManagerAmbient kaldırıldı. Odak almak için FocusModifier.requestFocus işlevini kullanın. (Ic4826)

  • Durumsuz, açıklayıcı bir çizim API yüzeyi göstermek için bir Canvas nesnesini sarmalayan CanvasScope API oluşturuldu. Dönüşümler kendi alıcı kapsamları içinde yer alır ve boyut bilgileri de karşılık gelen içe yerleştirilmiş sınırlara göre kapsamlandırılır. Tüketicinin, çizim işlemlerini yapılandırmak için kendi Paint durum nesnesini koruması gerekmez.

    CanvasScopeSample eklendi ve demo uygulama, açıklayıcı grafik demo içerecek şekilde güncellendi (Ifd86d)

  • Metin alanına imleç rengi özelleştirmesi ekleme (I6e33f)

  • TextField ile kullanılan TextFieldValue, artık şu şekilde kullanıldığında etkinlik yeniden oluşturma işlemine dayanabilir: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • LayoutModifier2, LayoutModifier olarak yeniden adlandırıldı. (Id29f3)

  • Desteği sonlandırılan LayoutModifier arayüzü kaldırıldı. (I2a9d6)

  • Odak alt sistemiyle entegrasyon sağlamak için CoreTextField/TextField focusIdentifier parametresi FocusNode ile değiştirildi. (I7ea48)

  • Layout ve LayoutModifier2'deki içsel ölçüm işlevleri artık, içsel sorgu API'sine dolaylı olarak yayılan düzen yönünü sağlayan bir IntrinsicMeasureScope alıcısına sahiptir. (Id9945)

  • Aynı üst düzendeki çocukların çizim sırasını kontrol etmek için yeni Modifier.zIndex() eklendi. DrawLayerModifier'daki elevation mülkü shadowElevation olarak yeniden adlandırıldı ve artık çizim sırasını kontrol etmiyor. DrawShadow parametre sırası değişti: elevation artık ilk sırada, shape ise varsayılan olarak RectangleShape ile ikinci sırada yer alıyor. (I20150, b/152417501)

  • RectangleShape, androidx.ui.foundation.shape.* klasöründen androidx.ui.graphics.* klasörüne taşındı. (Ia74d5, b/154507984)

  • TextField API güncellemesi: onFocus ve onBlur geri çağırma işlevleri, parametre içeren tek bir onFocusChange(Boolean) geri çağırma işlevine birleştirildi (I66cd3)

  • Satır ve Sütun'a sırasıyla verticalGravity ve horizontalGravity parametreleri eklendi. (I7dc5a)

  • wrapContentWidth ve wrapContentHeight, herhangi bir Hizalama yerine dikey veya yatay Hizalama bekleyeceği şekilde güncellendi. Yerçekimi değiştirici, dikey veya yatay hizalamayı kabul edecek şekilde güncellendi. Satır, sütun ve grup, özel sürekli Hizalamaları desteklemek için güncellendi. (Ib0728)

  • Bir ImageAsset'ten piksel bilgilerinin sorgulanması için PixelMap API oluşturuldu. (I69ad6)

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

  • ui-text-compose modülü ui-text olarak yeniden adlandırıldı. ui-text artık CoreText ve CoreTextField bileşenlerini içeriyor (Ib7d47)

  • ui-text modülü, ui-text-core olarak yeniden adlandırıldı (I57ara)

  • ui-framework/CoreText, CoreTextField bileşenleri ui-text-compose altına taşındı. Projenize ui-text-compose öğesini ekleyebilirsiniz. (I32042)

  • DrawModifier API'yi iyileştirin:

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

  • [Değiştirilebilir]Durum mülkü temsilcisi operatörleri, Kotlin 1.4 mülk temsilcisi optimizasyonlarını desteklemek için uzantılara taşındı. Arama yapanların by state { ... } veya by mutableStateOf(...)'ü kullanmaya devam etmek için içe aktarma eklemesi gerekir. (I5312c)

  • LayoutCoordinates için positionInParent ve boundsInParent eklendi. (Icacdd, b/152735784)

  • ColoredRect desteği sonlandırıldı. Bunun yerine Box(Modifier.preferredSize(width, height).drawBackground(color)) kullanın. (I499fa, b/152753731)

  • LayoutResult, MeasureResult olarak yeniden adlandırıldı. (Id8c68)

  • Düzen değiştiricileri tanımlamak için yeni bir API olan LayoutModifier2 eklendi; LayoutModifier desteği sonlandırıldı (If32ac)

  • Değiştirici artı operatör, fabrika uzantı işlevleriyle değiştirildi (I225e4)

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

  • ParentData bileşeninin desteği sonlandırıldı. ParentDataModifier arayüzünü uygulayan bir değiştirici oluşturmanız veya ölçüm bloğunda tanınmaları için düzen alt öğelerini etiketlemeniz yeterliyse LayoutTag değiştiriciyi kullanmanız gerekir. (I51368, b/150953183)

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

  • Vektör grafikleri için mevcut alt kompozisyon API'sinin yerini alacak VectorPainter API eklendi. Alt kompozisyonun sonucu, DrawModifier yerine bir VectorPainter nesnesi olur. Önceki DrawVector bileşenlerinin desteği sonlandırıldı ve VectorPainter tercih edildi.

    Image(Painter) API'nin adı PaintBox(Painter) olarak değiştirildi. Image bileşeni gibi davranan ancak ImageAsset yerine VectorAsset kullanan bir Vector bileşeni oluşturuldu (I9af9a, b/149030271)

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

  • RepaintBoundary, DrawLayerModifier (I00aa4) için kaldırıldı

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

  • Opaklık birleştirilebilir işlevi, drawOpacity değiştiricisiyle değiştirildi. (I5fb62)

  • Clip adlı birleştirilebilir işlevi, drawClip() değiştiricisiyle değiştirin. DrawClipToBounds, yalnızca bir dikdörtgen şekliyle katman sınırlarına göre kırpmanız gerektiğinde kullanabileceğiniz kullanışlı bir değiştiricidir. (If28eb)

  • DrawShadow birleştirilebilir işlevi, drawShadow() değiştiricisiyle değiştirildi. Gölgeler artık LayerModifier'ın bir parçası olarak çizilir. (I0317a)

  • Düzen için bir RenderNode eklemenize olanak tanıyan bir değiştirici olan LayerModifier eklendi. Kırpma, opaklık, döndürme, ölçeklendirme ve gölge ayarlarını yapmanıza olanak tanır. Bu, RepaintBoundary'ın yerini alacak. (I7100d, b/150774014)

  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer'a taşındı androidx.compose.Emittable kaldırıldı. ComponentNode ile ek bir işlevi yoktu. androidx.compose.ViewAdapters kaldırıldı. Bu kullanım alanı artık desteklenmiyor. Compose.composeInto desteği sonlandırıldı. Bunun yerine setContent veya setViewContent kullanın. Compose.disposeComposition desteği sonlandırıldı. Bunun yerine setContent tarafından döndürülen Composition üzerinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto'ya taşındı ComponentNode#emitInsertAt, ComponentNode#insertAt olarak yeniden adlandırıldı ComponentNode#emitRemoveAt, ComponentNode#removeAt olarak yeniden adlandırıldı ComponentNode#emitMode, ComponentNode#move olarak yeniden adlandırıldı (Idef00)

  • Belirli bir ImageAsset'i ekrana çizmenin yanı sıra boyutlandırma/düzenlemeyi de yönetmek için oluşturulan Image composable. Bu derlenebilir, belirli bir sabit boyutu veya minimum boyutu (Ibcc8f) desteklemenin yanı sıra, kendi boyutuna göre herhangi bir Painter örneğinin çizilmesini de destekler.

  • Sarma bileşiği desteği sonlandırıldı. LayoutAlign değiştiricisi veya Stack bileşeni (Ib237f) ile değiştirilebilir.

  • WithConstraints, LayoutDirection parametresini aldı (I6d6f7)

  • Düzen yönünün, üst düzen düğümünden alt öğelere iletilmesini sağladık. Düzen yönü değiştirici eklendi. (I3d955)

  • olduğu için yaygın bir hata kaynağıdır.
  • Grup bileşeni, sağdan sola yönlülüğe (Ic9e00) destek verir.

  • DrawShape bileşeni kaldırıldı. Bunun yerine DrawBackground değiştiricisini kullanın. (I7ceb2)

  • LayoutPadding değiştiricide sağdan sola yönü destekleme (I9e8da)

  • Yalnızca görünür öğeleri oluşturan ve düzenleyen kaydırmalı liste bileşeni AdapterList eklendi. Şu anda bilinen sorunlar arasında yalnızca dikey olması ve alt öğelerinde yapılan tüm değişiklikleri tam olarak ele almaması yer alıyor. (Ib351b)

  • ComposeFlags.COMPOSER_PARAM işareti true olarak güncellendi. Bu, oluşturma eklentisinin kod oluşturma stratejisini değiştirecek. Bu durum, yüksek düzeyde @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametre, çalışma zamanının yürütmeyi düzgün şekilde yönetmesi için sonraki @Composable çağrılarına iletilir. Bu, ikili kodda önemli bir değişikliktir ancak compose'in izin verilen tüm kullanımlarında kaynak düzeyinde uyumluluğu korumalıdır. (I7971c)

  • Tuval bileşeni eklendi. Bu kompozisyon, belirli bir boyut kaplar (kullanıcı tarafından sağlanır) ve CanvasScope'u (I0d622) kullanarak çizim yapmanıza olanak tanır.

  • Density ve DensityScope tek bir arayüzde birleştirildi. Artık ambientDensity() yerine DensityAmbient.current değerini kullanabilirsiniz. withDensity(yoğunluk) yerine sadece with(yoğunluk) (I11cb1)

  • LayoutCoordinates, sağlananAlignmentLines'i bir Harita yerine bir Set yapmak ve LayoutCoordinates'in bir değer almak için get() operatörünü uygulamak üzere değiştirildi. Bu, değiştiricilerin her değiştirici için yeni bir koleksiyon oluşturmadan grubun bir veya daha fazla değerini değiştirmesini kolaylaştırır. (I0245a)

  • Kaydırma çubuğu artık yerel Android fırlatma hareketi davranışını sergiliyor. (I922af, b/147493715)

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