Temel Oluşturma
Kullanıma hazır yapı taşlarıyla Jetpack Compose uygulamaları yazın ve kendi tasarım sistemi parçalarınızı oluşturmak için temeli genişletin.
Son Güncelleme Kararlı Sürüm Yayın Adayı Beta Sürümü Alfa Sürümü
26 Haziran 2024 1.6.8 - 1.7.0-beta04 -

Yapı

Oluşturma, androidx içindeki 7 Maven grubu kimliğinin kombinasyonudur. Her Grup, her biri kendi sürüm notu kümesine sahip olan hedeflenen bir işlev alt kümesi içerir.

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

GruplandırAçıklama
compose.animationJetpack Compose uygulamalarında animasyonlar oluşturarak kullanıcı deneyimini zenginleştirin.
compose.derleyici@Composable işlevlerini dönüştürün ve Kotlin derleyici eklentisiyle optimizasyonları etkinleştirin.
compose.temelKullanı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şenleri ile Jetpack Compose kullanıcı arayüzleri oluşturun. Bu, Compose'un www.material.io adresinde açıklananlarla eşleşen bileşenleri sağlamak üzere tasarlanmış üst düzey giriş noktasıdır.
compose.material3Materyal Tasarım'ın yeni evrimi olan Materyal Tasarım 3 Bileşenleriyle Jetpack Compose kullanıcı arayüzleri oluşturun. Güncellenmiş tema ve bileşenler ile dinamik renk gibi Material You kişiselleştirme özellikleri içeren Material 3, yeni Android 12 görsel stili ve sistem kullanıcı arayüzüyle uyumlu olacak.
compose.runtimeCompose'un programlama modelinin ve durum yönetiminin temel yapı taşları ve Compose Compiler eklentisinin hedefleyeceği temel çalışma zamanı.
compose.uiDüzen, çizim ve giriş de dahil olmak üzere cihazla etkileşimde bulunmak için gereken yazma kullanıcı arayüzünün temel bileşenleri.

Bağımlılıkları bildirme

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

Uygulamanız veya modülünün build.gradle dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:

Groovy

dependencies {
    implementation "androidx.compose.foundation:foundation:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.foundation:foundation:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.

Geri bildirim

Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy ekleyebilirsiniz.

Yeni sayı oluştur

Daha fazla bilgi için Sorun İzleyici dokümanlarına bakın.

Sürüm 1.7

Sürüm 1.7.0-beta04

26 Haziran 2024

androidx.compose.foundation:foundation-*:1.7.0-beta04 yayınlandı. Sürüm 1.7.0-beta04 bu kayıtları içerir.

Hata Düzeltmeleri

  • Çok büyük metin satırlarını (ör. 10 bin karakter) ölçerken kilitlenmeleri önleme (8157ab)
  • Yeni BasicTextField sürümünde (6b7575) kilitlenmeye neden olan çok büyük metinlerin ölçümü düzeltildi
  • Satır/Sütun ölçümünde, belirli senaryolarda metin kullanımını kesintiye uğratan bir davranış değişikliğini geri döndürür (69e8ba)

Sürüm 1.7.0-beta03

12 Haziran 2024

androidx.compose.foundation:foundation-*:1.7.0-beta03 yayınlandı. Sürüm 1.7.0-beta03 bu kayıtları içerir.

Sürüm 1.7.0-beta02

29 Mayıs 2024

androidx.compose.foundation:foundation-*:1.7.0-beta02 yayınlandı. Sürüm 1.7.0-beta02 bu kayıtları içerir.

API Değişiklikleri

  • LazyGrids öğesinin önceden getirme davranışını yapılandırmak üzere LazyLists için mevcut deneysel API'ye benzer bir deneysel API ekler. Buna, iç içe yerleştirilmiş LazyGrids içindeki öğeleri önceden getirme desteği de dahildir. LazyListPrefetchStrategy özelliğine benzer şekilde, uygulama varsayılanı her ızgaranın iç içe yerleştirilmiş ilk 2 öğesini önceden getirmektir, ancak bu ayar yeni LazyGridPrefetchStrategy(nestedPrefetchItemCount) ve LazyListPrefetchStrategy#onNestedPrefetch API'leri tarafından yapılandırılabilir. (I591c4)
  • SemanticsProperties.Editable, IsEditable olarak yeniden adlandırıldı ve SemanticsPropertyReceiver.editable, isEditable değeri olarak değiştirildi. Özellik artık boole değeridir ve her zaman metin alanlarıyla belirtilmektedir. (I8acd8)
  • basicMarquee varsayılan değer MarqueeDefaults nesnesine taşındı. (I12ff6)
  • basicMarquee delayMillis parametresi repeatDelayMillis olarak yeniden adlandırıldı. (I12ff6)
  • Bağlantıların stilini belirlemek için güncelleme API'si: TextLinkStyles öğesi TextStyle öğesine taşındı ve TextDefaults öğesi materyalden kaldırıldı (I5477b)

Hata Düzeltmeleri

  • LayoutCoordinates.introducesFrameOfReference, amacını daha iyi yansıtacak şekilde LayoutCoordinates.introducesMotionFrameOfReference olarak yeniden adlandırıldı. İlgili işlev, koordinatları bu bayrağa göre hesaplayacak şekilde yeniden adlandırıldı. (I3a330)
  • "Varsayılan", MarqueeDefaults özelliklerinden kaldırıldı. (I1d8a0)
  • "Marquee", MarqueeDefaults mülkünden kaldırıldı. (Iad4f4)
  • TextLinkStyles, TextStyle sınıfından kaldırıldı. Bunun yerine, TextLinkStyles, LinkAnntation oluşturucunun ve AnnotatedString.fromHtml yönteminin (I90b2b) bir parçasıdır
  • Çağrı Cihazı'nın sınırda durmuş durumdayken bir sınıra doğru sallanırken kapanmasına yol açan hata düzeltildi. (I9f373, b/339171222)
  • BTF2 artık doğru fare seçimi hareketlerine sahip. (Ibe8c6)

Harici Katkı

  • "Doğruluğu artırmak için önceden getirmede zaman hesaplaması içerik türü oluşturma/ölçme"yi yeniden gönderin (Iea622)
  • Doğruluğu artırmak için zaman hesaplaması içerik türünü önceden getirmeyi temel alarak oluşturma/ölçme (Ibccb1)
  • Ortak kaynak kümesinden (I070b2) WindowInsetsPadding değiştiricileri kullanılabilir hale getirin

Sürüm 1.7.0-beta01

14 Mayıs 2024

androidx.compose.foundation:foundation-*:1.7.0-beta01 yayınlandı. Sürüm 1.7.0-beta01 bu kayıtları içerir.

API Değişiklikleri

  • KeyboardOptions.shouldShowKeyboardOnFocus özelliği, ikili program uyumluluğu için desteği sonlandırıldığı için tekrar gizli olarak eklendi. (I15cfe)
  • Modifier.anchoredDraggable artık RTL düzeninde kullanıldığında Yatay yöne sahip bileşenler için sürükleme deltalarını varsayılan olarak tersine çeviriyor. (I3c6d9)
  • AnnotatedString.hasEqualsAnnotations artık hasEqualAnnotations. (I685c0)
  • Metinde Materyal temalı bağlantılar almaya yönelik API güncellendi. Özellikle, temalı LinkAnnotations oluşturma ve temalı bağlantılara sahip HTML ayrıştırma yöntemleri TextDefaults öğesinden kaldırıldı. Bunun yerine, bağlantıları metin composable'a parametre olarak biçimlendirmeye olanak tanıyan bir TextLinkStyles sınıfı eklendi. (I31b93)
  • onDragStarted ve onDragStopped askıya alma işlemi yapılmayan geri çağırmalarla değiştirildi. (I59de8)

Hata Düzeltmeleri

  • contentPadding gelen kısıtlamalardan büyük olduğunda Çağrı Cihazı'nın kilitlenmesine neden olan hata düzeltildi. Çağrı cihazı artık PageSize değerinden 0 değerine döndürülen negatif değerleri zorluyor. (Iba5d8, b/314008560)

Sürüm 1.7.0-alpha08

1 Mayıs 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha08 yayınlandı. Sürüm 1.7.0-alpha08 bu kaydetmeleri içerir.

Yeni Özellikler

  • BasicTextField ve SelectionContainer sürümlerine kesme, kopyalama, yapıştırma ve tümünü seçme işlemlerine yönelik öğelerin bulunduğu sağ tıklama içerik menüsü eklendi. (If8c93, Ia2b49, I6f268)

API Değişiklikleri

  • LazyLayout önceden getirme isteği artık acil olarak işaretlenebilir. Bu, bir sonraki karede bu öğenin gerekli olacağını ve önceden daha fazla iş yapmak için kare bütçesini yoksaymak istediğimiz anlamına gelir (Id513f).
  • isPositionedByParentWithDirectManipulation adlı dosya introducesFrameOfReference olarak yeniden adlandırıldı. Artık ters etkiye sahip olduğunu, yani varsayılan olarak çoğu LayoutCoordinates özelliğinin bir referans çerçevesi içerdiğini ve yalnızca doğrudan manipülasyon altında bu mülkün yanlış olacağını unutmayın. Konumu yalnızca bir referans çerçevesi sunanlarla sorgulamak için positionInLocalFrameOfReference(...) işlevini kullanın. Alternatif olarak, LookaheadScope üzerinden positionInLocalLookaheadFrameOfReference. (Ifc5f7)
  • LinkInteractionListener içindeki onClicked öğesi onClick olarak yeniden adlandırıldı (Iaa35c)
  • API konseyi geri bildirimine göre getScrollViewportLength işlem lambda'sını değiştirin. (Ibc74a)
  • Ekran kalemi el yazısı yetkilendirme API'leri yeniden adlandırıldı. (Ica45f, b/327271923)
  • TextInclusionStrategy.isInside listesinin adını isIncluded olarak değiştir. Paragraph/MultiParagraph#getRangeForRect() dönüş türünü boş değer olamaz. (I51f26)

Hata Düzeltmeleri

  • SelectionContainer uygulamasındaki tüm metin içerik menülerine "Tümünü seç" özelliği eklendi. (Ib750e, b/240143283)
  • reverseScrolling=true içeren kapsayıcıları kaydırmak için uzun ekran görüntüsü yakalama sorunu düzeltildi. (I7c59c)
  • Eyalet sınırlarına yaklaşıldığında AnchoredDraggableState öğesinin currentValue değerinin değişmesine neden olan sorun düzeltildi. (Iea30b, b/333846848)

Harici Katkı

  • PrefetchExecutor -> PrefetchScheduler, sorumluluklarını daha iyi yansıtacak şekilde yeniden adlandırıldı. (Ib9154)
  • İç içe yerleştirilmiş LazyLists öğelerindeki öğeleri önceden getirmek için destek eklendi (ör. iç içe yerleştirilmiş LazyRows öğesini oluşturan bir LazyColumn). Bu değişikliğin, bu LazyLists için kaydırma sırasında kare düşüşlerini azaltması bekleniyor. Uygulama varsayılanı, iç içe yerleştirilmiş ilk 2 öğeyi önceden getirmektir ancak bu davranış, yeni LazyLayoutPrefetchStrategy(nestedPrefetchItemCount) ve LazyListPrefetchStrategy#onNestedPrefetch API'leri tarafından kontrol edilebilir. (I51952)

Sürüm 1.7.0-alpha07

17 Nisan 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha07 yayınlandı. Sürüm 1.7.0-alpha07 bu kaydetmeleri içerir.

Yeni Özellikler

  • LinkAnnotation oluşturma ve bağlantılara MaterialTheme işlemini uygulayan HTML etiketli dizeyi ayrıştırma yöntemlerini içeren bir TextDefaults nesnesi eklendi. (I98532, b/139312671)
  • LazyVerticalGrid ve LazyHorizontalGrid bölümlerine öğe görünümü ve kaybolma animasyonu desteği eklendi. Daha önce, yerleşim animasyonlarını (yeniden sıralama) desteklemek için Modifier.animateItemPlacement() değiştiricisi eklenebiliyordu. Bu düzenleyicinin desteğini sonlandırdık ve deneysel olmayan yeni bir değiştiriciyi kullanıma sunduk. Modifier.animateItem(), üç animasyon türünü de desteklemenize olanak tanıyor: görünüm (belirleme), kaybolma (belirleme) ve yeniden sıralama. (Ib7d12, b/330510929)
  • LazyVerticalStaggeredGrid ve LazyHorizontalStaggeredGrid bölümlerine öğe görünümü ve kaybolma animasyonu desteği eklendi. Daha önce, yerleşim animasyonlarını (yeniden sıralama) desteklemek için Modifier.animateItemPlacement() değiştiricisi eklenebiliyordu. Bu düzenleyicinin desteğini sonlandırdık ve deneysel olmayan yeni bir değiştiriciyi kullanıma sunduk. Modifier.animateItem(), üç animasyon türünü de desteklemenize olanak tanıyor: görünüm (belirleme), kaybolma (belirleme) ve yeniden sıralama. (I69bc9, b/330511290)

API Değişiklikleri

  • ContextMenuColors ve ilişkili LocalContextMenuTheme ProvidableCompositionLocal ekler. Metin alanlarındaki ve seçilebilir metindeki içerik menüsünün renkleri, bestenin yerel olarak sağlanmasıyla değiştirilebilir. (Ifa154)
  • Metin bağlantılarına, normal stile ek olarak basılı durum stil seçeneği eklendi, imleçle üzerine gelindi ve odaklanıldı. (I5f864, b/139312671)
  • El yazısı hareketleri için ViewConfiguration.HandwritingGestureLineMargin özelliğini tanıtın. BasicTextField için el yazısı hareketini destekleyin. (Ie6e13, b/325660505)
  • İlgili API yüzeyinin geri kalanını sabitlemeyi tamamlamaya vaktimiz olmadığı için 1.7 sürümünde DelegatableNode.scrollIntoView kaldırıldı. Bu işlev, 1.8 sürümünde yeniden kullanıma sunulacaktır (I6cf61, b/333421581, b/332900232)
  • Artık Düzen koordinatlarını sorgularken, alt öğelerini Placeable.PlacementScope.withDirectManipulationPlacement kullanarak yerleştiren üst Layouts tarafından ayarlanan ofseti hariç tutmak için excludeDirectManipulationOffset bağımsız değişkenini kullanabilirsiniz. Benzer şekilde, alt öğelerinin konumunu sık sık değiştiren bir Düzen artık bunları withDirectManipulationPlacement kullanarak yerleştirebilir (örneğin, Kaydırma, varsayılan olarak uygulanır). Bu, approachLayout tabanlı animasyonların daha sezgisel olmasına yardımcı olur. Artık hangi ofseti animasyonlayacağını ve yaklaşım animasyonunu uygulamaya karar verirken doğrudan neyin uygulanacağını ayırt etme fırsatına sahip olur. (I60ec7)
  • LazyStaggeredGrid için requestScrollToItem ile tanışın. Müşteri artık her ölçüm geçişi için requestScrollToItem yöntemini çağırarak anahtara dayalı dizini korumayı devre dışı bırakabilir. Bu işlem, requestScrollToItem çağrılmadığı sürece mevcut davranışı hiçbir şekilde değiştirmez. (I63983)
  • Çağrı Cihazı'nda requestScrollToPage uygulamasını tanıtın. Müşteri artık her ölçüm geçişi için requestScrollToPage yöntemini çağırarak anahtara dayalı dizini korumayı devre dışı bırakabilir. Bu işlem, requestScrollToPage çağrılmadığı sürece mevcut davranışı hiçbir şekilde değiştirmez. (Ic4213)
  • LazyGrids için requestScrollToItem kullanıma sunuldu. Müşteri artık her ölçüm geçişi için requestScrollToItem yöntemini çağırarak anahtara dayalı dizini korumayı devre dışı bırakabilir. Bu işlem, requestScrollToItem çağrılmadığı sürece mevcut davranışı hiçbir şekilde değiştirmez. (I0a7a0)
  • ClickableText desteği sonlandırıldı olarak işaretlendi. Metne bağlantı eklemek için bağlantınıza karşılık gelen LinkAnnotation öğesini içeren bir AnnotatedString oluşturun ve bu AnnotatedString öğesini Text composable'a (I34d4b, b/323346994) iletin
  • UrlAnnotation desteği sonlandırıldı. Bunun yerine LinkAnnotation.Url kullanın. Materyal teması kullanıyorsanız ek açıklamayı Materyal temasıyla (I8d180, b/323346545) oluşturmak için TextDefaults nesnesini kullanın
  • String.parseAsHtml, AnnotatedString.Companion.fromHtml (I43dcd) olarak yeniden adlandırıldı
  • parseAsHtml yöntemine stil bağımsız değişkenleri (linkStyle, focusedLinkStyle, hoveredLinkStyle) ve bir bağlantı etkileşimi işleyicisi eklendi. HTML etiketli dize <a> etiketleriyle ayrıştırılırken bu yöntem, bu tür her etiket için bir LinkAnnotation.Url oluşturur ve her ek açıklamaya stil nesneleri ile bağlantı etkileşimi işleyicisini iletir. (I7c977)
  • LinkAnnotation artık durum tabanlı stil bağımsız değişkenlerini ve LinkInteractionListener alıyor. Köprü almak için bu ek açıklamayı AnnotatedString öğesine ekleyin. focusedState ve/veya hoveredState öğesini ileterek, odaklanılan ve/veya fareyle üzerine gelinen bağlantılar için görsel yapılandırmayı tanımlayabilirsiniz. (I81ce4, b/139312671)
  • Uzun ekran görüntüleri için özellik bayrağı kaldırıldı. (I28648, b/329128246)
  • LazyColumn artık uzun ekran görüntülerinde yapışkan başlıkları doğru şekilde oluşturacak. (I8d239, b/329296635)
  • Yeni BasicTextField ile kullanıma sunulan diğer deneysel API'lerin çoğu sabitlendi. (I714e2)
  • BasicSecureTextField öğesine, içerikler karartılırken hangi karakterin kullanılacağını kontrol eden textObfuscationCharacter parametresi eklendi. (I0588b)
  • NestedScroll kaynakların Sürükleme ve Kaydırma işlevi, artık animasyonlar (Yan Efekt) ile Fare Tekerleği ve Klavyeyi (UserInput) de içeren bu kaynakların genişletilmiş tanımına uymak için UserInput ve SideEffect tarafından değiştiriliyor. (I40579)
  • Kaydırılabilir değiştirici katmanında uygulanan, platforma bağlı bir odak kaydırma davranışı olan LocalBringIntoViewSpec ile tanışın. (I27aa5, b/317453911)
  • TextFieldCharSequence kaldırıldı. TextFieldBuffer.originalValues, TextFieldBuffer.originalText ve TextFieldBuffer.originalSelection ile değiştirildi. (I2c7d6)
  • ImeOptions.hintLocales artık boş değerli değil. Boş bir Yerel Ayar listesini iletmek istiyorsanız lütfen LocaleList.Empty kullanın. (Ic5bc4)
  • getOffsetFractionForPage adlı dosya getOffsetDistanceInPages olarak yeniden adlandırıldı. (Ia05e2)

Hata Düzeltmeleri

  • InputTransformations, next ile birleştiğinde KeyboardOptions artık yeni KeyboardOptions.merge yöntemi kullanılarak bağımsız seçeneklerle düzgün bir şekilde birleştirilecek. (Ie5304, b/295951492)
  • AnchoredDraggableState adlı müşterinin targetValue özelliği artık konum eşiklerini değerlendirmemektedir. Artık %50'lik bir örtülü eşiğe sahiptir. Yani targetValue, iki sabit reklam arasındaki orta noktada değişir. (I82c2c)

Harici Katkı

  • 2 kaydırma API'si yeniden adlandırıldı (I56a75)

Sürüm 1.7.0-alpha06

3 Nisan 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha06 yayınlandı. Sürüm 1.7.0-alpha06 bu kaydetmeleri içerir.

Yeni Özellikler

  • LazyColumn ve LazyRow bölümlerine öğe görünümü ve kaybolma animasyonu desteği eklendi. Daha önce, yerleşim animasyonlarını (yeniden sıralama) desteklemek için Modifier.animateItemPlacement() değiştiricisi eklenebiliyordu. Bu düzenleyicinin desteğini sonlandırdık ve deneysel olmayan yeni bir değiştiriciyi kullanıma sunduk. Modifier.animateItem(), üç animasyon türünü de desteklemenize olanak tanıyor: görünüm (belirleme), kaybolma (belirleme) ve yeniden sıralama. (I2d7f7, b/150812265)
  • LazyColumn/LazyRow müşterileri artık, askıya alma işlemi uygulanmayan bir LazyListState.requestToScroll çağırarak yaklaşan ölçüm geçişinin anahtarına dayalı bir dizinin saklanmasını devre dışı bırakabilir. (I98036, b/209652366)
  • Stil özellikleri ayarlanmış dizeler için parseAsHtml yöntemi eklendi: HTML etiketleriyle işaretlenen bir dizenin AnnotatedString biçimine dönüştürülmesine olanak tanır. Tüm etiketlerin desteklenmediğini, örneğin henüz madde işaretli listeleri görüntüleyemeyeceğinizi unutmayın. (I84d3d)
  • Resmi Android API'sini (ScrollCaptureCallback) kullanarak Compose kaydırma kapsayıcılarında uzun ekran görüntüleri için deneysel destek uygulandı. Bu özellik deneyseldir ve şu anda tüm durumları doğru şekilde işlemeyebilir. Bu nedenle, özellik şu anda varsayılan olarak devre dışıdır. Etkinleştirmek için ComposeFeatureFlag_LongScreenshotsEnabled işaretini doğru değerine ayarlayın. Bu işaret, 1.7 beta sürümünden önce kaldırılacaktır. (I2b055, b/329296471)
  • GraphicsLayer örneklerinin yerleştirilmesi ve oluşturulmasında daha fazla esneklik sağlamak ve GraphicsLayer değiştirici örneklerini belirtmek için Composable uygulamalarıyla koordine olmak zorunda kalmadan dahili oluşturma özelliklerini desteklemek için yeni GraphicsLayer API'yi kullanıma sunun.

API Değişiklikleri

  • Artık tüm KeyboardOptions parametreleri varsayılan olarak belirtilmemiş bir değere sahip. KeyboardOptions.merge yöntemi eklendi.
  • KeyboardOptions.autoCorrect, autoCorrectEnabled olarak yeniden adlandırıldı ve boş değerli hale getirildi. Buradaki null, herhangi bir değer belirtilmediğini gösterir. (Ia8ba0, b/295951492)
  • outOfBoundsPageCount adlı dosya beyondViewportPageCount olarak yeniden adlandırıldı. (I129c6)
  • fun ClipEntry.getMetadata(), val ClipEntry.clipMetadata olarak değiştirildi. (I50155)
  • TextFieldState.valueAsFlow() kaldırıldı. snapshotFlow { state.text } veya snapshotFlow { TextFieldCharSequence(state.text, state.selection) } (I7d629) kullanmayı tercih ediyorum
  • InputTransformation.transformInput parametreleri yeniden düzenlendi. originalValue: TextFieldCharSequence kaldırıldı. Bunun yerine, TextFieldBuffer artık bu değeri aynı adla taşımaktadır. valueWithChanges: TextFieldBuffer parametresi de kaldırıldı. TextFieldBuffer artık işlevin alıcı kapsamıdır. (I919cc)
  • BasicTextField(state) varyantı ve BasicSecureTextField, yazılım klavyesi tarafından gerçekleştirilen işlemleri işlemek için artık KeyboardActions yerine KeyboardActionHandler kullanıyor. (I58dda)
  • "Sahte" metin giriş alanlarında ekran kalemiyle el yazısını desteklemek için ekran kalemiyle el yazısı yetkilendirme API'leri. (I9c09c, b/327271923)
  • KeyboardOptions.shouldShowKeyboardOnFocus adlı dosya showKeyboardOnFocus olarak yeniden adlandırıldı. (Ib4b7a, b/295951492)
  • hintMediaTypes parametresi Modifier.contentReceiver parametresinden kaldırıldı. Yapılandırılmış hintMediaTypes ile uyumlu olmayabileceğinden geliştiricilerin, aldıkları TransferableContent öğesinin medya türünü kontrol etmeleri zaten tavsiye edildi. (I82f99)
  • BasicSecureTextField parametreleri yeniden sıralandı. keyboardType ve imeAction parametreleri tam KeyboardOptions sınıfının kullanılması amacıyla kaldırıldı. Diğer yandan, BasicSecureTextField için uygun varsayılan değerler korundu. scrollState parametresi de kaldırıldı. (Ibbfa9)
  • TextFieldState.text öğesinin TextFieldCharSequence olan türü yalnızca CharSequence olarak değiştirildi. Bu nedenle, geçerli seçim ve beste değerlerini doğrudan durum nesnesinden okumak için TextFieldState.selection: TextRange ve TextFieldState.composition: TextRange? eklendi.
  • TextFieldState.forEachTextValue kaldırıldı. (Idb2a2)
  • ClipboardManager.getClipMetadata ve ClipboardManager.hasClip işlevleri kaldırıldı. Geçerli klip girişinin meta verilerini okumak için lütfen clipEntry.getMetadata() kullanın. Panoda mevcut bir klibin olup olmadığını anlamak için ayrıca ClipboardManager.getClip işlevinin boş olup olmadığını kontrol edin. (I50498)
  • ClipboardManager.setClip, Pano'yu temizleyebilmek için artık null değerini kabul ediyor. (I7d2e9)
  • ReceiveContentListener, işlev arayüzüne dönüştürülür. Ayrıca, ReceiveContentListener artık bir işlev arayüzü olduğundan, lambda alan Modifier.receiveContent aşırı yüklemesi kaldırıldı.
  • Modifier.receiveContent, Modifier.contentReceiver olarak yeniden adlandırıldı. (I1e6af)
  • TransferableContent.consumeEach adlı dosya TransferableContent.consume olarak yeniden adlandırıldı. (I1e462)
  • rememberTextFieldState, Kararlı API'ye geçirildi. (I37999)

Hata Düzeltmeleri

  • BasicTextField(state) varyantının CJK(kompozisyona dayalı) klavyelerle çalışmamasına neden olan hata düzeltildi. (I54425)
  • Modifier.Node ürününün yeniden kullanımı söz konusu olduğunda Modifier.dragAndDropTarget() ürününün, belirli senaryolarda eski verilere başvuruda bulunmasına neden olan hata düzeltildi. (I05bb1)
  • Bir anchoredDrag işleminin sonunda AnchoredDraggableState#anchoredDrag çağrılarının yapılabileceği son sözleşme değişikliği geri alındı. (I95715)

Sürüm 1.7.0-alpha05

20 Mart 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha05 yayınlandı. Sürüm 1.7.0-alpha05 bu kaydetmeleri içerir.

API Değişiklikleri

  • Köprülerin stil özelliklerini ayarlamak için kullanılan yerel deneysel LocalTextLinkStyle bileşimi kaldırıldı. (Iebfa7)
  • BasicText öğesinin onLinkClicked bağımsız değişkeniyle deneysel geçersiz kılması kaldırıldı. Gelecekte köprüler desteğinin yerini alacak bir API kullanıma sunulacaktır. (I107d5)
  • TextFieldState ve TextFieldBuffer altındaki kod noktalarıyla ilgili yöntemler ve özellikler kaldırıldı. Ayrıca inChars son ekleri, kalan seçim ve kompozisyonla ilgili API'lerden kaldırıldı. (Ief7ce)
  • AnchoredDraggable adlı kullanıcının currentValue değeri artık bir sabitleme noktasından geçerken güncellenecek. Önceki currentValue anlamını almak için settledValue kullanın. Yalnızca sabit bir yere varırken güncelleme yapabilirsiniz. İlerleme artık bir özellik yerine bir işlev (başlangıç ve bitiş noktası gerektirir) olarak gösterilir. (Ibe6e8, b/318707189, b/298271489, b/294991954)
  • BasicTextField(state), TextFieldState, InputTransformation, OutputTransformation, TextFieldLineLimits, TextFieldDecorator, kararlı sürüme yükseltildi. (I9582b)
  • Düşük düzey IME ile ilgili testleri ve diğer düşük düzey IME kullanım alanlarını yazmaya yardımcı olması için InterceptPlatformTextInput kullanıma sunuldu. PlatformTextInputTestOverride desteği sonlandırıldı. (I862ed, b/322680547)
  • restrictedConstraints() öğesini iki yönteme bölün: fitPrioritizingWidth() ve fitPrioritizingHeight() (I6d7fd)

Harici Katkı

  • En son kaydırma işleminin kaydırma yönünü kontrol etmek için 2 yeni API (isLastScrollForward/isLastScrollBackward) eklendi. Henüz kaydırma işlemi yoksa "yanlış" değerini döndürür. (I63a0e)

Sürüm 1.7.0-alpha04

6 Mart 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha04 yayınlandı. Sürüm 1.7.0-alpha04 bu kaydetmeleri içerir.

API Değişiklikleri

  • Android U sürümünden sonra cihazlarda ekran kalemi el yazısı özelliği desteklenir. (I002e4)
  • TextFields uygulamasına, tercih edilen dili önceden ayarlamak için IME'lere belirli yerel ayarlarla ipucu verme olanağı sağlamak amacıyla hintLocales özelliği KeyboardOptions ürününe eklendi. (Id18c2)
  • value: String ve onValueChange: () -> String parametrelerini alan deneysel BasicTextField2 ve BasicSecureTextField aşırı yüklemeleri kaldırıldı. (I568b4)
  • Uygulandığı BasicTextField2 kodunun anlamını etkilemek için InputTransformation öğesine isteğe bağlı bir applySemantics işlevi ekleyin. (I74a2f, b/170648072)
  • Oluşturma sırasında kaydırılan bileşenler hakkındaki bilgileri a11y sistemine aktarabilmemiz için GetScrollViewportLength anlamsal işlemini bu CL'de ekliyoruz. Bu CL, söz konusu özelliğin Temel Kaydırılabilir Listelerde kullanımını da uygular. (Ic5fa2)
  • BasicTextField2, BasicTextField olarak yeniden adlandırıldı. (Ie5713)
  • FocusRequester.createRefs artık kararlı durumda (I4d92c, b/261436820)
  • Değiştirici düğümlerin doğrudan scrollIntoView isteğinde bulunmasına izin vermek için DelegatableNode.scrollIntoView() kullanıma sunuldu. (I2b3b7, b/299939840)
  • Değiştirici düğümlerin yerel bir besteyi okumadan mevcut Android View bilgisini almasını sağlamak için DelegatableNode.requireView() kullanıma sunuldu. (I40768)
  • Bağlamsal Akış Satır Kapsamı ve İçeriğe Dayalı Akış Sütun Kapsamı içinde içeriğe dayalı düzen bilgilerinin sunulması, çizgi dizini, konum ve belirtilen konumda kalmak için maksimum genişlik ve yükseklikle ilgili kısıtlamalar sunar. Maksimum genişliği/yüksekliği aşan öğeler sonraki satıra aktarılabilir veya taşma ayarlarına bağlı olarak atlanabilir. (Id13f8, b/292114798)

Hata Düzeltmeleri

  • TextField öğesinin enabled veya readOnly özelliklerinin değiştirilmesi, belirli koşullarda kilitlenmeye neden olan hata düzeltildi. (Iae17b)

Sürüm 1.7.0-alpha03

21 Şubat 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha03 yayınlandı. 1.7.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • onPlaced öğesini geçersiz kılmanıza ve koordinatları bir mülkte saklamanıza gerek kalmadan Modifier.Node ürününün mevcut LayoutCoordinates değerini almanın bir yolu olarak DelegatableNode.requireLayoutCoordinates() kullanıma sunuldu. (Ia8657)
  • onPlaced öğesini geçersiz kılmanıza ve koordinatları bir mülkte saklamanıza gerek kalmadan Modifier.Node ürününün mevcut LayoutCoordinates değerini almanın bir yolu olarak DelegatableNode.currentLayoutCoordinates kullanıma sunuldu. (Iaebaa)
  • AnchoredDraggable tarafından kullanılan DraggableAnchors uygulamasındaki performans optimizasyonları. (I89cff)
  • androidx.compose.foundation.text2 paketi altındaki BasicTextField2 ve ilgili API'ler androidx.compose.foundation.text hedefine taşındı. (I9f635)
  • BasicTextField2, artık CodepointTransformation parametresini kabul etmiyor. BasicSecureTextField veya OutputTransformation kullanın. (Id34ff)
  • Yalnızca iki AnnotatedStrings ek açıklamasını karşılaştırma yöntemi eklendi. (I32659)
  • MaxLines ve Overflow ile ContextualFlowRow ve Geliştirilmiş FlowRow/Column ile tanışın. ContextualFlowRow ve ContextualFlowColumn olarak kullanıma sunulduktan sonra artık maxLines ve taşma desteği sunan deneysel FlowRow ve FlowColumn yeniliklerini duyurmaktan mutluluk duyuyoruz. Bu güncelleme, en uygun performans bileşenlerini sağlamak üzere tasarlanmıştır. ContextualFlow*; küçük bir maxLines yapılandırması ve dinamik +N "Daha fazla göster" düğmesi kullanan çok sayıda öğe için mükemmeldir. FlowRow ve FlowColumn ise 100'den az öğe içeren az sayıda öğe için mükemmeldir. Önemli: Çapraz eksende maksimum değere sahip olup olmadıklarına bakılmaksızın tüm öğelerin oluşturulduğu FlowRow veya FlowColumn ürününde mevcut davranışı korumak için başlatma sırasında overflow değerini FlowRowOverflow.Visible veya FlowColumnOverflow.Visible olarak ayarlayın. Bu yeni özelliklerin kullanım örnekleri için ContextualFlowRowSample ve FlowRowSample keşfedin. (Ib9135, b/293577082)

Hata Düzeltmeleri

  • İmleç animasyonu artık açık ve kapalı durumları arasındaki kareleri istemiyor. (Ia2253)
  • KeyboardOptions'nin desteği sonlandırılan kopya oluşturucuları artık tüm özellikleri doğru şekilde kopyalayacak. (If12de)

Sürüm 1.7.0-alpha02

7 Şubat 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha02 yayınlandı. 1.7.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • HorizontalPager, VerticalPager ve PagerState, kararlı sürüme yükseltildi. (I67660, b/316966909)
  • Uygulamada Metin bölümündeki bağlantıların stilini değiştirmenize olanak tanıyan yerel LocalTextLinkStyle bestesi eklendi. Uygulamada kendi temanızı kullanıyorsanız bu besteyi temanıza göre yerel olarak ayarlamanız gerekir. Materyal teması kullanırken bağlantının rengi varsayılan olarak Malzemenin birincil rengine ayarlanır. (I7eb10)
  • Geliştiricilere Jetpack Compose'da zengin içerik alma yöntemi sağlayan receiveContent değiştirici kullanıma sunuldu.
  • receiveContent, yazılım klavyesi tarafından sağlanan veya Pano yapıştırma işlemi aracılığıyla sağlanan zengin içeriği kabul etmek için BasicTextField2 ile entegre olur. (I81b72)
  • Bu değişiklikle birlikte, diğer kullanım alanlarının kilidini açmak ve daha fazla esneklik sağlamak için sayfa ayırıcıdaki SnapFlingBehavior yerine TargetedFlingBehavior kodunu ekliyoruz. (I762ea)
  • Bu değişiklikle birlikte, API'leri Tutturmayı Kararlı hale getiriyoruz. Ayrıca test kodunun bir kısmını temizliyor ve Snapping'e daha fazla örnek ekliyoruz. (Id8da9)
  • Devam eden animasyonun durumu ve hedef kaydırma ofseti hakkında bilgilerin yayılmasına olanak tanıyan bir FlingBehavior olan TargetedFlingBehavior özelliğini tanıtın. (I6a207)

Hata Düzeltmeleri

  • BasicTextField2 artık yazı yazarken görünüm dışına çıktığında veya giriş nedeniyle görünüm dışına çıkarken imleci görünür durumda tutuyor. (Ieb856, b/237190748)

Harici Katkı

  • LazyList'lerin önceden getirme davranışını yapılandırmak için deneysel bir API ekler. (I022a4)

Sürüm 1.7.0-alpha01

24 Ocak 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha01 yayınlandı. 1.7.0-alpha01 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Yeni bir Indication API eklendi: IndicationNodeFactory. Bu, önceki (artık kullanımdan kaldırılmış) rememberUpdatedInstance API'ye kıyasla daha başarılı Indication uygulamalarına yol açıyor. Taşıma bilgileri için developer.android.com adresine bakın.
  • clickable / combinedClickable / selectable / toggleable artık boş değer atanabilen bir MutableInteractionSource parametresini kabul ediyor. Null ise ve sağlanan Indication bir IndicationNodeFactory ise Indication yalnızca gerektiğinde geç oluşturulabilir ve bu da performansı artırır. Kaldırmıyor ve MutableInteractionSource değerini kullanmıyorsanız null değerini iletmeniz önerilir.

API Değişiklikleri

  • AnchoredDraggable öğesinde DecayAnimation özelliğini kullanıma sunduk. Bu değişiklik, AnchoredDraggable öğesine decayAnimationSpec parametresi ekleyerek sabitlerden birine ayarlanırken azalma animasyonu kullanılmasına olanak tanır. Bu değişiklik, her bir spesifikasyonun kullanım alanını anlamaya yardımcı olmak için mevcut animationSpec öğesinin snapAnimationSpec olarak yeniden adlandırılmasını da içerir.
  • BasicTextField2, deneysel olarak kullanılabilir. Yaklaşık olarak BasicTextField ile benzer özelliklere sahip olmalı ve davranışı üretime hazır olmalıdır. Ancak, API şimdilik deneme aşamasındadır. Sabitlemeden önce, BasicTextField olarak yeniden adlandırılır ve aynı pakete taşınır.
  • BasicTextField2 için OutputTransformation API'nin ilk taslağı kullanıma sunuldu. Bu API, eski BasicTextField içinde VisualTransformation kullanım alanlarının çoğunun yerini alır. Yine de henüz tamamlanmadı ve bazı işlevler düzgün çalışmayacaktır. Ancak API'lerin kullanım alanlarınız için kullanılabilirliğiyle ilgili geri bildirimlerinizi öğrenmekten memnuniyet duyarız. (aosp/2708848)
  • Metne bağlantı ve tıklanabilir öğe eklemeye olanak tanıyan LinkAnnotation kullanıma sunuldu. Bağlantılar özelliği henüz tamamlanmadı ve daha fazla API değişikliği yapılacak.
  • Geliştiricilere Jetpack Compose'da zengin içerik alma yöntemi sağlayan receiveContent değiştirici kullanıma sunuldu.
  • receiveContent, yazılım klavyesi tarafından sağlanan veya Pano'dan yapıştırma işleviyle sağlanan zengin içeriği kabul etmek için BasicTextField2 ile entegre olur.
  • KeyboardOptions.shouldShowKeyboardOnFocus, varsayılan olarak BasicTextField ürününün odakta olan bir yazılım klavyesi isteme davranışını devre dışı bırakmanıza olanak tanır.
  • TextInputService ve LocalTextInputService desteği sonlandırıldı. Bunun yerine doğrudan platform IME API'leriyle entegrasyon yapmak için PlatformTextInputModifierNode kullanın. (aosp/2862698)
  • Indication#rememberUpdatedInstance desteği sonlandırıldı. Kaçınılmaz bir performans cezası içerir ve diğer optimizasyonları önler. Bunun yerine yeni IndicationNodeFactory API'yi kullanmalısınız.

Hata Düzeltmeleri

  • BasicTextField artık VisualTransformation geçildiğinde bazı ofset eşlemelerinin ön doğrulamasını yapacak. Bu, daha sonra yapılan ölçüm veya çizim pasolarında düzeltilemeyen istisnalara yol açan yaygın kodlama hatalarının yakalanmasına yardımcı olur. Besteleme sırasında atarsanız, geliştiricilerin geliştirme sırasında üretim kilitlenmelerini önlemeye yardımcı olmak üzere bu hataları görme olasılığı artar. (I0fd42)
  • Geçersiz bir dizin (b/316401857 ) için geçersiz bir dizin döndürürseniz VisualTransformation bildirmez

Sürüm 1.6

Sürüm 1.6.8

12 Haziran 2024

androidx.compose.foundation:foundation-*:1.6.8 yayınlandı. Sürüm 1.6.8 bu taahhütleri içerir.

Sürüm 1.6.7

1 Mayıs 2024

androidx.compose.foundation:foundation-*:1.6.7 yayınlandı. Sürüm 1.6.7 bu taahhütleri içerir.

Sürüm 1.6.6

17 Nisan 2024

androidx.compose.foundation:foundation-*:1.6.6 yayınlandı. Sürüm 1.6.6 bu taahhütleri içerir.

Hata Düzeltmeleri

  • TextField öğesinin enabled veya readOnly özelliklerinin değiştirilmesi, belirli koşullarda kilitlenmeye neden olan hata düzeltildi. (Iae17b)

Sürüm 1.6.5

3 Nisan 2024

androidx.compose.foundation:foundation-*:1.6.5 yayınlandı. Sürüm 1.6.5 bu taahhütleri içerir.

Hata Düzeltmeleri

  • Şu satır veya sütundaki yeniden oluşturulması zor hatalara hata ayıklama günlükleri ekler: (b/300280216 ve b/297974033)

Sürüm 1.6.4

20 Mart 2024

androidx.compose.foundation:foundation-*:1.6.4 yayınlandı. Sürüm 1.6.4 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Sürüklemenin ilk karesinde metnin düzen sınırlarının dışına çıkan uzun basma ve ardından sürükleme seçim hareketi artık kilitlenmez. (Icdf90, b/325307463)

Sürüm 1.6.3

6 Mart 2024

androidx.compose.foundation:foundation-*:1.6.3 yayınlandı. Sürüm 1.6.3 bu taahhütleri içerir.

Sürüm 1.6.2

21 Şubat 2024

androidx.compose.foundation:foundation-*:1.6.2 yayınlandı. 1.6.2 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Düzgün şekilde sıfırlanmayan AnimateContentSize sorununu düzeltin. (I07051)
  • Bazı durumlarda intrinsicHeight metnin aşırı önbelleğe alınmasına neden olan sorun düzeltildi. (3cd398, b/217910352)

Sürüm 1.6.1

7 Şubat 2024

androidx.compose.foundation:foundation-*:1.6.1 yayınlandı. Sürüm 1.6.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Sınırın üzerine kaydırıldığında kademeli ızgara ölçümü düzelt. (bffc39)
  • Büyük boyutlu düzen için kontrol ekleyin. (e74af5)
  • 0 boyutlu öğelerin, çapraz ızgaranın başındaki yerleşimini düzeltin. (785f94)
  • onRelease geri çağırmasını, onForgotten ile aynı sırayla çağırın. (31ce3b)

Sürüm 1.6.0

24 Ocak 2024

androidx.compose.foundation:foundation-*:1.6.0 yayınlandı. 1.6.0 sürümü bu kaydetmeleri içerir.

1.5.0'dan bu yana önemli değişiklikler

  • Önceden tanımlanmış bağlayıcılar arasında sürükleme ve animasyon yapma olanağı sağlayan yeni Değiştirici Modifier.anchoredDraggable. Bu değiştirici, Modifier.swipeable ürününün yerini almak üzere tasarlanmıştır. Uygulamayı nasıl kullanacağınızı ve Modifier.swipeable ürününden nasıl geçiş yapacağınızı öğrenmek için taşıma rehberini inceleyin.
  • Uygulamalar ve bileşenler arasında sürükleyip bırakma işlevi eklendi. Başlamak için DragAndDropTarget, Modifier.dragAndDropSource ve diğer API'lere bakın
  • Modifier.draggable2D, kolay 2D sürükleme desteğine olanak tanıyan yeni değiştiricidir. Örneğe bakın.
  • Oluşturmaya yüzeye dayalı bileşenleri eklemeyi kolaylaştırmak için AndroidExternalSurface ve AndroidEmbeddedExternalSurface eklendi
  • Pager ve snapFlingBehaviour ile ilgili çeşitli API değişiklikleri ve iyileştirmeleri
  • Çeşitli odak, metin ve inset API'leri kararlı API'lere yükseltildi

Sürüm 1.6.0-rc01

10 Ocak 2024

androidx.compose.foundation:foundation-*:1.6.0-rc01 yayınlandı. Sürüm 1.6.0-rc01 bu kaydetmeleri içerir.

API Değişiklikleri

  • DragAndDropTarget() uzantısı oluşturucusu kaldırıldı. object: DragAndDropTarget {} kullanarak yeni bir örnek oluşturun. (I32318)

Sürüm 1.6.0-beta03

13 Aralık 2023

androidx.compose.foundation:foundation-*:1.6.0-beta03 yayınlandı. Sürüm 1.6.0-beta03 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Sonsuz kısıtlamayla ölçülen çok büyük metinleri etkileyen kilitlenme düzeltildi. (I1a7df, b/312294386)
  • PlatformImeOptions artık arayüz yerine somut bir sınıf. (If40a4)

Sürüm 1.6.0-beta02

29 Kasım 2023

androidx.compose.foundation:foundation-*:1.6.0-beta02 yayınlandı. Sürüm 1.6.0-beta02 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Yalnızca geçişe yönelik kaydırmadan sonra canScroll güncellenmemesi için düzeltme uygulandı. (I60a86)
  • Küçük kaydırmalardan sonra Modifier.animateItemPlacement() ve LookaheadScope için düzeltme uygulandı. (I3a2b7)

Sürüm 1.6.0-beta01

15 Kasım 2023

androidx.compose.foundation:foundation-*:1.6.0-beta01 yayınlandı. Sürüm 1.6.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • DragAndDropTarget değiştiricisi artık alıcı DragAndDropTarget öğesini açıkça alıyor ve sürükle ve bırak oturumunu etkinleştirmek için bir lambda içeriyor. Şu anda bir DragAndDropModifierNode için iki fabrika işlevi vardır. Biri aktarımları, diğeri veri aktarmak için kullanılır (I69481)
  • maximumFlingVelocity, kayan noktalı olarak temsil edilecek şekilde güncellendi. Dokümanlar, maximumFlingVelocity birliği hakkında daha net olacak şekilde güncellendi. (I8adc7)
  • DragAndDropModifierNode fabrikasındaki onDragAndDropStart, acceptDragAndDropTransfer olarak yeniden adlandırıldı.

    acceptsDragAndDropTransfer, sürükle ve bırak oturumundan kabul edilmesi için dragAndDropTarget Modifier alanına eklendi. Sürükle ve bırak oturumuyla ilgileniyorsanız bu lambda uygun bir DragAndDropTarget döndürür. Sürükleme etkinliklerini işlemek için kullanılan diğer lambda'lar bu şekilde değiştirilmiştir.

    Sürükleyip bırakma oturumlarından almak üzere DragAndDropTarget fabrika işlevi eklendi (Iebf3a)

  • AnchoredDraggable içinde startDragImmediately öğesinin gösterilmesi, bu özelliği kullanırken sürükleme hareketlerini algılama kontrolünün elde edilmesini sağlar. Widget'ı bir hedef çapasına göre gösterirken bu özelliği ayarlamak fayda sağlar. Örneğe bakın. (Ie6d13, b/285139987)

  • Temel İpucu API'leri artık @ExperimentalFoundationApi (I30b0b) oldu

  • DragAndDropModifierNode.drag türü olarak DragAndDropInfo kaldırıldı. Artık transferData, dekorasyon boyutu ve sürükleme dekorasyonu DrawScope lambda için parametreler alınıyor.

    DragAndDropTarget, tek bir soyut yöntem yerine belirli sürükle ve bırak etkinlikleri için yöntemler içeriyor

    DragAndDropModifierNode ürününün fabrika işlevindeki onDragAndDropEvent, sağlanan DragAndDropTarget parametresinin yalnızca belirli bir sürükle ve bırak oturumu için geçerli olduğunu daha iyi bildirmek amacıyla onDragAndDropStart olarak yeniden adlandırıldı

    DragAndDropEventType kaldırıldı (I645b1)

  • PlatformTextInputModifierNode.runTextInputSession adlı dosya establishTextInputSession olarak yeniden adlandırıldı. (I03cd0)

  • OriginalText öğesini TextSubstitution ile değiştirin. (Ifa5a8)

  • PlatformTextInputModifierNode.textInputSession adlı dosya runTextInputSession olarak yeniden adlandırıldı. (Ie9c6b)

  • Gelecekte yeniden kullanılmak üzere saklanan SubcomposeLayout alt öğeleri (ve buna dayalı LazyColumn gibi düzenler) devre dışı bırakılmış olarak kabul edilir. Bu düğümleri test etmek için yeni assertIsDeactivated() test API'si kullanıma sunuldu. Test API'lerinin geri kalanı, devre dışı bırakılan düğümleri varsayılan olarak filtreler. (I2ef84, b/187188981)

  • Modifier.magnifier işlevinin clippingEnabled parametresi clip olarak yeniden adlandırıldı.

  • Modifier.magnifier öğesinin magnifierCenter parametresi, aynı varsayılan davranış korunarak boş değerli hale getirildi. (I6aa66)

  • Material SwipeToReveal API'leri (kartlar ve çipler için) artık bu alanları oluşturmak için veri sınıfı tabanlı örnekler yerine alan tabanlı bir API'den (Compose tarafından önerildiği gibi) yararlanıyor. Bu, zarar veren bir değişikliktir. Yeni API'nin nasıl kullanılacağına dair örnekler için lütfen demoyu ve örnek kodu inceleyin. (Ia8943)

Hata Düzeltmeleri

  • PageSize.Fixed için eşittir ve karma kodu uygulayın. (Ie3ede, b/300134276)
  • minWidth değiştiğinde ve ilk ölçüm kısıtlamaları maxWidth (Idb19c) değerinden minWidth az olduğunda BasicText düzeninin küçülmesine neden olan bir hata düzeltildi
  • ArcLine sürümünde Süpürme Gradyan için oluşturucu desteği ekleyin. (I4d5bb)
  • Pencere Inset değişikliğiyle ikili program uyumluluk sorununu düzeltme (Iee695)
  • Mikro karşılaştırmalar olmadan daha iyi performans gösterdiği için Material3 Çipi/Düğmesi için temel malzeme katmanını kaldırın. (I55555)

Sürüm 1.6.0-alpha08

18 Ekim 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha08 yayınlandı. 1.6.0-alpha08 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Modifier.draggable2D, kolay 2D sürükleme desteğine olanak tanıyan yeni değiştiricidir. Örneği (Id95f5, b/214412658) inceleyin

API Değişiklikleri

  • Modifier.dragAndDrawSource, onDrawDragShadow lambdasını drawDragDecoration olarak yeniden adlandırdı ve DragAndDropInfo için boyut parametresi dragDecorationSize olarak yeniden adlandırıldı. (Id0e30, b/303904810)
  • BasicTextField2 parametresi decorationBox parametresi decorator olarak yeniden adlandırıldı. Ayrıca türü, eşdeğer bir eğlenceli arayüz TextFieldDecorator ile değiştirildi. (I23c1c)

Hata Düzeltmeleri

  • onValueChange gereksinimleriyle ilgili BasicTextField dokümanları iyileştirildi. (I90fc9, b/160257648)

Sürüm 1.6.0-alpha07

4 Ekim 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha07 yayınlandı. 1.6.0-alpha07 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Özel metin düzenleyiciler için yazma testleri ile ilgili PlatformTextInputMethodTestOverride kullanıma sunuldu. (Id159b)
  • GraphicsSurface, AndroidExternalSurface (I11680) olarak yeniden adlandırıldı
  • Doğrusal olmayan yazı tipi ölçeklendirmeyi devre dışı bırakmak için DisableNonLinearFontScalingInCompose geçici işareti eklendi. Temizlemek için zamana ihtiyacınız varsa testlerinizde DisableNonLinearFontScalingInCompose = true özelliğini ayarlayın. Bu işaret, Compose 1.6.0-beta01 sürümünde kaldırılacak. (Ic9486)
  • Tahsislerden kaçınan ColorList ve ColorSet koleksiyonları eklendi. (I744bd)
  • Bu değişiklik, SnapLayoutInfoProvider uygulamalarının uygulama ayrıntısı haline getirilen shortSnapVelocityThreshold özelliğini kaldırır. (I65f6d)
  • Sürükleyip bırakma oturumlarını başlatmak için dragAndDropSource Değiştirici ve sürükle ve bırak oturumlarından almak için dragAndDropTarget Değiştirici (Ib7828, b/286038936) ekler
  • SnapPositionInLayout dokümanlarını ve konum yöntemini güncelleyin. SnapPositionInLayout öğesindeki konum yöntemine içerik dolguları ekleyin. (Id7938, b/300116110)
  • TextFieldState uygulamasına, kullanıcı tarafından yapılan değişiklikleri geri alma/yeniden yapma olanağı sağlayan UndoState eklendi. (Icc024)

Hata Düzeltmeleri

  • Hız değişikliğinden sonra basicMarquee öğesinin animasyon göstermemesi düzeltildi. (Id2e77, b/297974036)

Sürüm 1.6.0-alpha06

20 Eylül 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha06 yayınlandı. 1.6.0-alpha06 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • SurfaceView, TextureView: GraphicsSurface() ve EmbeddedGraphicsSurface() için yeni Oluşturulabilir sarmalayıcılar. Bu, deneysel bir API olup üzerinde değişiklik ve değişikliklere tabidir. (I9ddb2)
  • Modifier.magnifier() artık kararlı bir API. Buna, değiştiricide satır içi parametrelerin kullanılması için MagnifierStyle'nin kaldırılması dahildir. (I83bec, b/298381260, b/262367109, b/261438887)

API Değişiklikleri

  • ScrollScope ürününde updateCurrentPage ve updateTargetPage kullanıma sunuldu. Bunlar, PagerState.scroll içinde animasyonlu kaydırmanın özelleştirilmesine olanak tanımak için gerekli olan son öğelerdir. (I9cad5, b/267744105, b/243786897)
  • SnapFlingBehavior cihazından yoğunluğu kaldır. Tüm SnapLayoutInfoProvider uygulamaları yoğunluğa erişmek için zaten bir yol sunuyor. Alıcı kapsamı kaldırılabilir ve böylece hem SnapFlingBehavior hem de SnapLayoutInfoProviders daha basit bir şekilde uygulanır. (I153c3)
  • Kararlı olarak işaretlenen daha fazla değiştirici var. (I56af1, b/298046462)
  • SnapStepSize, SnapLayoutInfoProvider adlı alandan kaldırıldı. Hesaplama, Düzen bilgileri kullanılarak yapılmalı ve yaklaşım veya tutturma ofsetleri aracılığıyla sağlanmalıdır. (If320c)

Davranış Değişiklikleri

  • Compose, artık daha iyi okunabilirlik ve erişilebilirlik için doğrusal olmayan yazı tipi ölçeklendirme özelliğini kullanıyor. Sistem ayarlarında yazı tipi ölçeği% 100'ün üzerinde olduğunda, küçük metinlerin boyutu normal şekilde artar ancak zaten büyük olan metinler yalnızca küçük bir kısmı büyütülür. Ayrıca, SP'de tanımlanan satır yükseklikleri, %100 ölçeğin istenen yükseklikle orantılı kalması için otomatik olarak ayarlanır. Daha fazla bilgi için Yazı Tipi Ölçeklendirme ile İlgili En İyi Uygulamalar'a bakın. (I11518)

Hata Düzeltmeleri

  • İpuçları için rememberSaveable kullanımını kaldırın. (Icc131, b/299500338)

Sürüm 1.6.0-alpha05

6 Eylül 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha05 yayınlandı. 1.6.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • BasicSecureTextField için, şu anki BasicTextField API'de olduğu gibi sabit bir değer ve bu değeri değiştirmek için bir geri çağırma kabul eden aşırı yüklemeler ekleyin. (Ia4882)
  • API 33 ve sonraki sürümlerde kayan pencereleri önlemek için Modifier.preferKeepClear() öğesini ekleyerek composable olarak işaretleyin. (Ib51d5, b/297260115)
  • ScrollView ve RecyclerView gibi görünüm bileşenlerindeki salınım hızları ViewConfiguration.ScaledMaximumFlingVelocity ile sınırlıdır. Oluşturma işleminde artık, Draggable için geçerli olan kendi maximumFlingVelocity sürümü bulunuyor. (Ibf974)
  • Kullanımdan kaldırılan Pager ve PagerState aşırı yüklemeleri kaldırıldı. (Iea07e)
  • BasicTooltipBox, compose.foundation paketine eklendi ve PlainTooltipBox ile RichTooltipBox, TooltipBox öğeleri yeni PlainTooltip ve RichTooltip composable'larla kullanılacak şekilde güncellendi. (I79e1d)

Sürüm 1.6.0-alpha04

23 Ağustos 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha04 yayınlandı. 1.6.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Alt bileşenlerin yaşam döngüsünü ve yeniden kullanımını yönetmek için ReusableComposition arayüzü ekleyin. (I812d1, b/252846775)
  • Modifier.focusGroup, kararlı API'lere yükseltildi. (I7ffa3)
  • BasicTextField2 için, şu anki BasicTextField API'de olduğu gibi sabit bir değer ve bu değeri değiştirmek için bir geri çağırma kabul eden aşırı yüklemeler ekleyin. (I3f2b8)
  • GridItemSpan::currentLineSpan artık kararlı bir API. (Icc29c)
  • contentDescription kabul eden tuval artık kararlı bir API'dir. (Ib3d29)
  • Ölçümden sonra ScrollState kullanan bileşenin viewPort boyutunu öğrenmenin bir yolu olan viewportSize özelliği ScrollState için kullanıma sunuldu. (I8b85a, b/283102682)
  • Çağrı Cihazı'ndaki önceden getirme işleminin Görünümler'deki davranışla eşleşmemesine neden olan sorun düzeltildi. (I93352, b/289088847)
  • Modifier.consumeWindowInsets(PaddingValues) artık kararlı durumda.
    • Deprecated Modifier.consumedWindowInsets API kaldırıldı. Bunun yerine Modifier.consumeWindowInsets politikasını kullanın. (Id72bb)

Sürüm 1.6.0-alpha03

9 Ağustos 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha03 yayınlandı. 1.6.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyLayout aşırı yüklemesi eklendi. Önceden olduğu gibi basit bir nesne değil, LazyLayoutItemProvider lambda'sını kabul ediyor. Önceki aşırı yükleme desteği sonlandırıldı. (I42a5a)
  • privateImeOptions (Idb772) yapılandırması için destek eklendi

Hata Düzeltmeleri

  • readOnly doğru değerine ayarlandığında klavyeyi gösteren ve düzenlenebilir olan metin alanları düzeltildi. Odaklanıldığında readOnly doğru değerinden yanlış değerine ayarlandığında klavyenin gösterilmemesi de düzeltildi. (I34a19, b/246909589)

Sürüm 1.6.0-alpha02

26 Temmuz 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha02 yayınlandı. 1.6.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • PagerLayoutInfo, Pager ürününde önlem aldıktan sonra toplanan bilgilerle kullanıma sunuldu. Ayrıca, Pager ayında ölçülen tek bir Sayfa ile ilgili bilgiler olan PageInfo kullanıma sunuldu. (Iad003, b/283098900)
  • composable'lara izin verilen girişleri belirtmek için ek ek açıklamalar (I51109)
  • Testlerde odak isteğinde bulunmanın daha kolay ve keşfedilebilir bir yolu olarak SemanticsNodeInteraction.requestFocus eklendi. (Ie8722)
  • PlatformTextInput* API tamamen yeniden tasarlandı. (I6c93a, b/274661182, b/267235947, b/277380808)
  • SoftwareKeyboardController ve LocalSoftwareKeyboardController artık deneme aşamasında değil. LocalSoftwareKeyboardController artık uygun bir CompositionLocal. (I4c364)
  • Modifier.transformable, izin verilecek veya izin vermeyecek kaydırma yönünün belirlenmesine yardımcı olmak için artık canPan parametresinde yatay kaydırma deltası sağlıyor. (I692aa, b/266829800)
  • consumeWindowInsets değiştiricisini, AbstractComposeView üst sınıfını genişletmek için günceller (Iacd74, b/269479941)

Sürüm 1.6.0-alpha01

21 Haziran 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha01 yayınlandı. 1.6.0-alpha01 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Foundation'da yeni bir AnchoredDraggable API kullanıma sunuldu. Kalıcı alt sayfalar gibi ayrı durumlar arasında sürüklenebilecek bileşenleri oluşturmak için kullanılabilir. Bu API, Material'ın Swipeable API'sinin yerini alıyor. (I4a2ed)

API Değişiklikleri

  • InputConnection#requestCursorUpdates desteği (I0c69b)
  • Özel animasyon özelliklerine izin vermek için scrollAnimationSpec kullanıma sunuldu. BringIntoViewCalculator ayarı BringIntoViewScroller olarak güncellendi. (Idb741)
  • Yüklenemeyen öğe yolunun açıklamasıyla bit eşlem öğeleri yüklenmeye çalışıldığında, yayınlanan gönderilebilir öğeleri sarmalamak için ResourceResolutionException türünü ekleyin. (I19f44, b/230166331, b/278424788)
  • Metin çevirisini desteklemek için anlamsal özellikler ve işlemler eklendi. (I4a6bc)
  • Scrollable gibi bileşenlerin bringIntoView isteklerine yanıt verme biçimini özelleştirmek için kullanılabilecek bir BringIntoViewCalculator API kullanıma sunuldu. Kaydırılabilir öğenin aşırı yüklenmesi, isteğe bağlı olarak BringIntoViewCalculator öğesinin bir örneğini kabul edecek şekilde değiştirildi. (Iaf5af)

Hata Düzeltmeleri

  • Değişebilir durum / Animatable oluşturmaya yönelik lint kontrollerine benzer şekilde, kompozisyonda MutableInteractionSource oluşturuyorsanız uyarlanması için lint denetimi eklendi. (I5daae)
  • Fareyle seçim yapma desteği eklendi. Dokunmaya dayalı seçim kelime bazında genişletilir ve karakter bazında daralır. (Ic0c6c, b/180639271)
  • Özel FocusTarget oluşturmak için kullanılabilecek FocusTargetModifierNode arayüzü eklendi. (I9790e)

Sürüm 1.5

Sürüm 1.5.4

18 Ekim 2023

androidx.compose.foundation:foundation-*:1.5.4 yayınlandı. 1.5.4 sürümü bu kaydetmeleri içerir.

Sürüm 1.5.3

4 Ekim 2023

androidx.compose.foundation:foundation-*:1.5.3 yayınlandı. Bu sürümde değişiklik yok.

Sürüm 1.5.2

27 Eylül 2023

androidx.compose.foundation:foundation-*:1.5.2 yayınlandı. Sürüm 1.5.2 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Anlamların geçersiz kılındığı belirli durumlarda kilitlenmelere neden olan metin hatası düzeltildi.

Sürüm 1.5.1

6 Eylül 2023

androidx.compose.foundation:foundation-*:1.5.1 yayınlandı. Sürüm 1.5.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • readOnly doğru değerine ayarlandığında klavyeyi gösteren ve düzenlenebilir olan metin alanları düzeltildi. Odaklanıldığında readOnly doğru değerinden yanlış değerine ayarlandığında klavyenin gösterilmemesi de düzeltildi. (I34a19, b/246909589)

Sürüm 1.5.0

9 Ağustos 2023

androidx.compose.foundation:foundation-*:1.5.0 yayınlandı. 1.5.0 sürümü bu kaydetmeleri içerir.

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

  • Modifier.clickable,Modifier.draggable, Modifier.scrollable, düzen değiştirici gibi birçok temel değiştirici, Modifier.Node API'ye taşındı ve böylece ilk bileşimin getirdiği ek yük azaltıldı.
  • Çağrı cihazları kararlılığında iyileştirmeler. Birçok hata giderildi.
  • pageCount parametresi artık Çağrı Cihazı yerine PagerState içinde bulunuyor

Sürüm 1.5.0-rc01

26 Temmuz 2023

androidx.compose.foundation:foundation-*:1.5.0-rc01 yayınlandı. Sürüm 1.5.0-rc01 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • mutableStateOf() çağrılarının, temel öğeler için karşılık gelen özel türlerine taşınmasını öneren isteğe bağlı bir inceleme mevcuttur. Kodun lint kimliği AutoboxingStateCreation. Daha önce bu inceleme tüm projeler için varsayılan olarak etkindi. Bu uyarıyı Android Studio'nun düzenleyicisinde ve projenizin lint çıkışlarında görmek için modülünüzün build.gradle veya build.gradle.kts yapılandırmasında gösterildiği gibi (I34f7e) warning "AutoboxingStateCreation" değerini beyan ederek bilgi amaçlı yerine uyarı (veya daha yüksek) olacak şekilde önem derecesini değiştirin:

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

Sürüm 1.5.0-beta03

28 Haziran 2023

androidx.compose.foundation:foundation-*:1.5.0-beta03 yayınlandı. Sürüm 1.5.0-beta03 bu kaydetmeleri içerir.

Sürüm 1.5.0-beta02

7 Haziran 2023

androidx.compose.foundation:foundation-*:1.5.0-beta02 yayınlandı. Sürüm 1.5.0-beta02 bu kaydetmeleri içerir.

Sürüm 1.5.0-beta01

24 Mayıs 2023

androidx.compose.foundation:foundation-*:1.5.0-beta01 yayınlandı. Sürüm 1.5.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Nabız ve günlük adım sayısını sağlamak için PlatformDataProvider özelliğini uygulayın. SensorGateway arayüzü, herkese açık API'den kaldırıldı. (I55b84)

Hata Düzeltmeleri

  • Tembel liste/ızgara vb. ölçümler sırasında ayırmaları azaltma (Iaf9e2)
  • Anlık görüntüler uygulanırken daha az ayırmalar (I65c09)
  • Yay animasyonlarından (Ie9431) ayırmalar kaldırıldı
  • TextLayout adlı reklam grubundan (I0fd11) tahsis kaldırıldı
  • İşaretçi hızı izlemedeki (I26bae) birden fazla ayırma kaldırıldı

Sürüm 1.5.0-alpha04

10 Mayıs 2023

androidx.compose.foundation:foundation:1.5.0-alpha04 ve androidx.compose.foundation:foundation-layout:1.5.0-alpha04 serbest bırakıldı. 1.5.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Tam parametre listesiyle optimize edilmiş TextStyle.merge(...) eklendi. (Iad234, b/246961787)
  • LazyGridState ile kullanılabilecek bir SnapLayoutInfoProvider tanıtın. (I92134, b/269237141, b/260914964)
  • Deneysel Modifier.animateItemPlacement(), kademeli ızgara öğe kapsamı için eklendi. Otomasyon konumu değişimini/animasyonları yeniden sıralamak için bunu öğelere uygulayabilirsiniz. (I4b62d, b/257034719)
  • GridCells.FixedSize uygulamasını kararlı sürüme yükseltin. FixedSize, her bir hücrenin çapraz eksende tam boyut aldığı bir LazyGrid tanımlar ve kalan boşluk çapraz eksende dağıtılır. (I8542f)
  • Çağrı Cihazı için PagerScope alıcı kapsamı ve belirli bir sayfa ofsetinin hesaplanmasında kullanılan bir yardımcı program işlevi tanıtıldı. (If2577)
  • Hızlıca kaydırma davranışı oluştururken snapPositionalThreshold özelliğini tanıtın. Çağrı Cihazı'nda kısa yapışkanlık için konum eşiği belirtmek üzere bu parametreyi kullanın. (If8f7f)
  • SnapLayoutInfoProvider.calculateSnappingOffsetBounds, calculateSnappingOffset ile değiştirildi. Bu yeni yöntemde, tutturulacak bir sonraki ofseti istememiz yeterlidir. Sınırların hesaplanması, uygulama düzeyinde yapılmalıdır, çünkü bu işlem, tutturma işleminin nasıl gerçekleşmesi gerektiğine bağlı olarak farklılık gösterebilir. (I923a4)
  • LazyStaggeredGrid API kararlı sürüme yükseltildi. (I633a5)
  • pageCount kullanıcısını Horizontal/VerticalPager sitesinden kaldır. Bu bilgi, eyalet oluşturulurken sağlanmalıdır. PagerState ve rememberPagerState, pageCount hükümlerini kabul edecek şekilde güncellendi. (Ieb52d, b/266965072)
  • pageCount kullanıcısını Horizontal/VerticalPager sitesinden kaldır. Bu bilgi, eyalet oluşturulurken sağlanmalıdır. PagerState ve rememberPagerState, pageCount hükümlerini kabul edecek şekilde güncellendi. (Ifa3cb, b/266965072)
  • Çağrı Cihazı SnapFlingBehavior uygulamasında shortSnapVelocityThreshold özelliğini tanıtın. (I7379e, b/275579012)
  • FlowRowScope ve FlowColumnScope ekler. (I54fe2)

Hata Düzeltmeleri

  • Kısıtlamalar minWidth ve minHeight olduğunda artık kilitlenmediğinde Metinde anlamı almak için yapılan çağrılar. (Ibd072)
  • Dialog composable tarafından oluşturulmayan iletişim kutularındaki metin alanları için klavyenin gösterilmemesine neden olan regresyon düzeltildi. (I82551, b/262140644)

Sürüm 1.5.0-alpha03

19 Nisan 2023

androidx.compose.foundation:foundation:1.5.0-alpha03 ve androidx.compose.foundation:foundation-layout:1.5.0-alpha03 serbest bırakıldı. 1.5.0-alpha03 sürümü bu kaydetmeleri içerir.

Bu sürümde, Compose için yeni metin oluşturma yığını etkinleştirilir. Yeni grup, performans optimize edilmiştir ve görünür herhangi bir değişiklik görmemeniz gerekir.

Oluşturulan metinde değişiklikler görürseniz davranış farkını onaylamak için NewTextRendering1_5 = false öğesini ayarlayarak hata ayıklayabilirsiniz. Bunu ayarladığınızda yeniden beste yapmaya zorlanırsınız. Lütfen davranış farklılıklarını hata olarak bildirin.

Hata ayıklama işareti 1.5 beta01 sürümünden önce kaldırılacaktır.(Iada23, b/246960758)

API Değişiklikleri

  • FlowColumn/FlowRow öğesini satır içi yapın. (Idab37)

Sürüm 1.5.0-alpha02

5 Nisan 2023

androidx.compose.foundation:foundation:1.5.0-alpha02 ve androidx.compose.foundation:foundation-layout:1.5.0-alpha02 serbest bırakıldı. 1.5.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyGrid hücrelerinde sabit boyutlu hücreler için destek eklendi ve bu hücreler çapraz eksen düzenlemesi ile düzenlendi. (I83ed9, b/235121277, b/267942510)
  • LazyStaggeredGrid bölgesinde sabit boyutlu şeritler için destek eklendi ve bunların çapraz eksen düzenlemesi ile düzenlendi. (I7d519)
  • AnnotatedString saniye içindeki UrlAnnotation öğeleri artık TalkBack gibi erişilebilirlik hizmetleriyle açılabilir. (If4d82, b/253292081)
  • Metin alanları için InsertTextAtCursor semantiği işlemi eklendi. (I11ed5)
  • Metinle ilgili test işlemleri (ör. performTextInput) artık alanı tıklamak yerine anlamsal işlemi kullanarak doğrudan odaklanma isteğinde bulunacak. (I6ed05)
  • FlowRow içinde verticalArrangement ve FlowColumn içinde horizontalArrangement kullanarak çapraz eksen aralığı/düzenleme desteği ekler. Ayrıca FlowRow/FlowColumn içinde üst düzey verticalAlignment ve horizontalAlignment kaldırılır. Geliştiriciler bunun yerine Modifier.align kullanabilir. Bu da verticalAlignment ve verticalArrangement adlandırma kuralları arasındaki karışıklığı azaltır. (I87b60, b/268365538)

Sürüm 1.5.0-alpha01

22 Mart 2023

androidx.compose.foundation:foundation:1.5.0-alpha01 ve androidx.compose.foundation:foundation-layout:1.5.0-alpha01 serbest bırakıldı. 1.5.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Metin ve BasicText, yeni değiştirici sistemi kullanacak şekilde yeniden düzenlendi. Bu, birçok durumda performansta önemli bir artış sağlar. Hiçbir değişiklik görünmemelidir. (If1d17, b/246961435)
  • Metin düzenleyici düğümlerinde IME işlemini çağırmak için PerformImeAction anlamsal işlemi eklendi. (Ic606f, b/269633506)

Hata Düzeltmeleri

  • Modifier.hoverable dahili öğeleri güncellendi. hoverable değiştiricisi, yalnızca etkinleştirilirse inceleyicide gösterilir. (I82103)

Sürüm 1.4

Sürüm 1.4.3

3 Mayıs 2023

androidx.compose.foundation:foundation:1.4.3 ve androidx.compose.foundation:foundation-layout:1.4.3 hiçbir değişiklik yapılmadan yayınlandı (yalnızca sürüm yükseltmesi).

Sürüm 1.4.2

19 Nisan 2023

androidx.compose.foundation:foundation:1.4.2 ve androidx.compose.foundation:foundation-layout:1.4.2 serbest bırakıldı. Sürüm 1.4.2 bu kaydetmeleri içerir.

Sürüm 1.4.1

5 Nisan 2023

androidx.compose.foundation:foundation:1.4.1 ve androidx.compose.foundation:foundation-layout:1.4.1 serbest bırakıldı. Sürüm 1.4.1 bu kaydetmeleri içerir.

Sürüm 1.4.0

22 Mart 2023

androidx.compose.foundation:foundation:1.4.0 ve androidx.compose.foundation:foundation-layout:1.4.0 serbest bırakıldı. 1.4.0 sürümü bu kaydetmeleri içerir.

1.3.0'dan bu yana önemli değişiklikler

  • Text ve TextField özelliklerine Emoji uyumluluğu entegrasyonu ile alt düzey Paragraf eklendi. Emojicompat yapılandırıldığında varsayılan olarak etkindir.
  • EmojiCompat, PlatformParagraphStyle kullanılarak belirli bir metinde yapılandırılabilir.
  • LazyStaggeredGrid(I28252) ürününe tam hat aralığı desteği eklendi
  • Deneme amaçlı onHover, ClickableText (I6938f) hesabına ekleniyor
  • runComposeUiTest işlevi ve CoroutineContext parametrelerini kabul eden create*ComposeRule işlevleri için yeni deneysel aşırı yüklemeler kullanıma sunuldu. Bağlam, test bileşimi ve bestedeki tüm LaunchedEffect ve rememberCoroutineScope() çağrıları için kullanılır. (I10614, b/265177763)
  • FlowRow ve FlowColumn artık @ExperimentalFoundationApi olarak sunuluyor. Bu sayede, ana eksende yeterli alan yoksa yeni bir satıra bölünen bileşenlerin satır ve sütun tabanlı düzeninin daha esnek olmasını sağlıyorlar. (I3a7b2)
  • Modifier.basicMarquee(), kayan noktalı çerçeve efektiyle içerik görüntülemek için deneysel olarak kullanılabilir. (I2df44, b/139321650)

Sürüm 1.4.0-rc01

8 Mart 2023

androidx.compose.foundation:foundation:1.4.0-rc01 ve androidx.compose.foundation:foundation-layout:1.4.0-rc01 serbest bırakıldı. Sürüm 1.4.0-rc01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Doğrudan platform API'lerine yönlendiren özel metin girişi uygulamaları oluşturmak için yeni alt düzey PlatformTextInputAdapter API kullanıma sunuldu. (I58df4)
  • LazyStaggeredGrid öğesine ters düzen desteği ekleyin. (I3ef4a)

Hata Düzeltmeleri

  • BasicTextField öğesinin SetText anlamsal işlemi artık metin arabelleğini, IME güncellemeleriyle aynı kod yolunu ve test işlevleriyle (ör. performTextReplacement) kullanarak günceller.
  • performTextClearance, performTextReplacement ve performTextSelection metin testi işlevlerinde artık SemanticsActions kullanılıyor. (I0807d, b/269633168, b/269624358)

Sürüm 1.4.0-beta02

22 Şubat 2023

androidx.compose.foundation:foundation:1.4.0-beta02 ve androidx.compose.foundation:foundation-layout:1.4.0-beta02 serbest bırakıldı. Sürüm 1.4.0-beta02 bu kaydetmeleri içerir.

API Değişiklikleri

  • Layout yeniden kullanılacağı zaman (örneğin, LazyColumn öğesi olarak) destek kaydının düzgün şekilde ele alınması için bazı yerel durumları sıfırlamanıza olanak tanıyan yeni bir Modifier.Node.onReset() geri çağırması eklendi. Odaklanma durumunu düzgün şekilde sıfırlamak için FocusTargetModifierNode sorunu düzeltildi. (I65495, b/265201972)
  • Tuval'de metin çizerken farklı karıştırma algoritmalarını desteklemek için DrawScope.drawText, Paragraph.paint ve MultiParagraph.paint yöntemlerine BlendMode parametresi eklendi. (I57508)
  • modifierElementOf() API kaldırıldı. Lütfen bunun yerine doğrudan ModifierNodeElement üzerinden iletişim kurun. (Ie6d21)

Hata Düzeltmeleri

  • Seçim tutamaçları ayarlandığında artık kısmi karakter seçilemez. (Idedd1)
  • Boş TextField üzerinde ctrl+backspace olduğunda oluşan kilitlenmeyi düzelt (I0427f, b/244185537)

Sürüm 1.4.0-beta01

8 Şubat 2023

androidx.compose.foundation:foundation:1.4.0-beta01 ve androidx.compose.foundation:foundation-layout:1.4.0-beta01 serbest bırakıldı. Sürüm 1.4.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

  • 1.3 sürümünden itibaren Text ve TextField özelliklerine Emoji uyumluluğu entegrasyonu ile alt düzey Paragraf eklendi. Emojicompat yapılandırıldığında varsayılan olarak etkindir.
  • EmojiCompat, PlatformParagraphStyle kullanılarak belirli bir metinde yapılandırılabilir.

API Değişiklikleri

  • Oluşturulan ancak yine de etkin olması gereken öğeleri korumak için LazyLayouts tamamında kullanılan PinnableContainer API'nin genel uygulaması eklendi. (If45a4)
  • PinnableContainer.PinnedHandle.unpin(), release() (I4667a) olarak yeniden adlandırıldı

Harici Katkı

  • mainAxisItemSpacing özelliği LazyListLayoutInfo, LazyGridLayoutInfo ve LazyStaggeredGridItemInfo özelliklerine eklendi (I52fad)

Sürüm 1.4.0-alpha05

25 Ocak 2023

androidx.compose.foundation:foundation:1.4.0-alpha05 ve androidx.compose.foundation:foundation-layout:1.4.0-alpha05 serbest bırakıldı. 1.4.0-alpha05 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • LazyStaggeredGrid ürününe tam hat aralığı desteği eklendi (I28252)
  • Deneme amaçlı onHover, ClickableText hedefine ekleniyor (I6938f)
  • runComposeUiTest işlevi ve CoroutineContext parametrelerini kabul eden create*ComposeRule işlevleri için yeni deneysel aşırı yüklemeler kullanıma sunuldu. Bağlam, test bileşimi ve bestedeki tüm LaunchedEffect ve rememberCoroutineScope() çağrıları için kullanılır. (I10614, b/265177763)

API Değişiklikleri

  • OverscrollEffect öğesinin öncesi/sonrası API'lerini birleşik "decorator" applyToScroll ve applyToFling işlevlerinde birleştirir. Yeni API şekli ile fazla kaydırma efektinin nasıl uygulanacağına ilişkin örnekler için dokümanlardaki güncellenmiş örneklere bakın. (I8a9c4, b/255554340)
  • Satır içi/kullanımdan kaldırılan gizli işlevlerin diğer tür/boşluk özellikleri (I24f91)
  • TextStyle kapsamındaki LineBreak ve Hyphens API'leri kararlı sürüme geçirildi. (Ic1e1d)

Hata Düzeltmeleri

  • Artık animasyonlar devre dışı bırakılsa bile metin alanlarındaki imleç yanıp sönmeye devam edecek. (I95e70, b/265177763)
  • Modifier.basicMarquee artık sistem ayarlarında animasyonlar devre dışı bırakıldığında bile animasyon kullanıyor. (I23389, b/262298306, b/265177763)

Harici Katkı

  • TextInputSession ve TextInputService uygulamalarındaki notifyFocusedRect yöntemleri tekrar kullanımdan kaldırılmadı. (I23a04, b/262648050)

Sürüm 1.4.0-alpha04

11 Ocak 2023

androidx.compose.foundation:foundation:1.4.0-alpha04 ve androidx.compose.foundation:foundation-layout:1.4.0-alpha04 serbest bırakıldı. 1.4.0-alpha04 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • FlowRow ve FlowColumn artık @ExperimentalFoundationApi olarak sunuluyor. Bu sayede, ana eksende yeterli alan yoksa yeni bir satıra bölünen bileşenlerin satır ve sütun tabanlı düzeninin daha esnek olmasını sağlıyorlar. (I3a7b2)
  • Modifier.basicMarquee(), kayan noktalı çerçeve efektiyle içerik görüntülemek için deneysel olarak kullanılabilir. (I2df44, b/139321650)

API Değişiklikleri

  • FocusRequesterModifier; FocusRequesterNode (I7f4d7, b/247708726, b/255352203, b/253043481, b/247716483, b/254529934, 254529934, {/18{247708726
  • variationSettings özelliğine sahip AndroidFont oluşturucu artık kararlı bir API ve yeni yazı tipi açıklayıcı türleri oluşturmak için kullanılabilir. (I5adcc, b/261565807)
  • Geçerli öğenin sabitlenmesini sağlayan, yerel bir beste aracılığıyla geç listeler tarafından dağıtılan PinnableContainer API kullanıma sunuldu. Yani görünümden uzağa kaydırıldığında bu tür öğeler atılmaz. Örneğin Modifier.focusable(), mevcut odaklanılan öğeyi bu mekanizma aracılığıyla sabitler. (Ib8881, b/259274257, b/195049010)
  • Bu işlemlerin karmaşıklığını daha iyi modellemek ve daha fazla uç durumu ele almak için kaydırılabilir öğelerin bringIntoViewRequesters ve odaklanılabilir öğelere yanıt verme biçimini yeniden yazıldı. (I2e5fe, b/241591211, b/192043120, b/237190748, b/230756508, b/239451114)
  • Desteği sonlandırılan gizli işlevlerin (Ibf7b0) daha fazla dönüş türü null değeri
  • Metni Static(default) veya Animasyonlu olacak şekilde tanımlamak için TextStyle uygulamasına deneysel TextMotion eklendi. Metin animasyon aracılığıyla ölçeklendirilecek, çevrilecek veya döndürülecekse TextMotion.Animated öğesini kullanın. (I24dd7)
  • Android platformundaki odaklanma gezinme davranışını düzeltmek için TextFieldFocusModifier ekleyin (I00303)
  • drawText içindeki maxSize: IntSize bağımsız değişkeni, diğer DrawScope işlevleriyle satır içi olacak şekilde size: Size ile değiştirildi. size varsayılan olarak Size.Unspecified değerine ayarlanır. Bu, önceki varsayılan davranışı değiştirmeyecektir. (Icd27d)

Hata Düzeltmeleri

  • Daha doğal bir his için SnapFlingBehaviour uygulamasında fotoğraf çekme fiziğinde düzenlemeler yapıldı.

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üncellerken java.lang.NoSuchFieldError hatasıyla karşılaşabilirsiniz. Sorun ilk olarak burada bildirilmiştir. Bir düzeltme gönderildi. Bir sonraki Oluştur güncellemesinde kullanıma sunulacak. Geçici bir çözüm olarak androidx.compose.material ve androidx.compose.material3 kitaplıklarınızı en son sürüme(1.1.0-alpha04) güncelleyin veya androidx.compose.foundation sürümünü 1.4.0-alpha03 sürümüne geçirin.

Sürüm 1.4.0-alpha03

7 Aralık 2022

androidx.compose.foundation:foundation:1.4.0-alpha03 ve androidx.compose.foundation:foundation-layout:1.4.0-alpha03 serbest bırakıldı. 1.4.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Oluşturma kuralının kullanıldığı kullanıcı arayüzü testlerinde, withFrameNanos geri çağırması sırasında devam ettirilen devamlılıklar tüm çerçeve geri çağırmalarının çalıştırılması tamamlanana kadar gönderilmez. Bu, normal şekilde çalışırken ileti oluşturma davranışıyla aynıdır. Ancak, eski davranışa dayalı testler başarısız olabilir. Bu durum yalnızca doğrudan withFrameNanos veya withFrameMillis çağrısı yapan kodu etkiler. Geri çağırmanın dışında, geri çağırmaların içine taşınması gerekebilecek işlevlere aktarılmış bir mantık içerir. Örnekler için bu CL'de animasyon testi değişikliklerine bakın.
  • withFrameNanos geri çağırmalarından sonra, arayanların eş yordamları devam ettirilmeden önce kodu çalıştırmak için TestMonotonicFrameClock oluşturucusuna ve fabrika işlevine isteğe bağlı onPerformTraversals: (Long) -> Unit parametresi eklendi. (Idb413, b/254115946, b/222093277, b/255802670)
  • Sayfa erişilebilirlik işlemlerini tanıtın: PageUp, PageDown, PageLeft, PageRight. Bunların yalnızca API 29'da kullanılabildiğini unutmayın. (Ida4ab)
  • composable'ları Çağrı Cihazı biçiminde göstermenin bir yolu olan HorizontalPager ve VerticalPager özelliklerini tanıtın. Çağrı Cihazları'nı ve Çağrı Cihazı'nın mevcut durumu hakkındaki sorgu bilgilerini kontrol etmek için PagerState kullanıma sunuldu. Çağrı Cihazı sayfasının boyutunu kontrol etmenin bir yolu olan PageSize kullanıma sunuldu. Bu ayrıca, Çağrı Cihazları gibi bir bant oluşturmak için kullanılabilir. Çağrı Cihazı'nın hızlı kaydırma davranışında tutturma işleminin nasıl çalışacağını kontrol etmenin bir yolu olan PagerSnapDistance kullanıma sunuldu. (I01120)
  • Kısa süreli hamlenin nerede sona ereceğini anlamanıza yardımcı olmak için SnapFlingBehavior.performFling cihazında aşırı yüklenmeye yol açtı. (I569f6)
  • OverscrollEffect#isEnabled kaldırıldı. Bu işareti hatırlamak ve ayarlamak yerine, fazla kaydırmanın gösterilmesini istemediğiniz durumlarda (örneğin, ScrollableState#canScrollForward/backward her ikisi de yanlış değerini döndürürse) etkinlikleri fazla kaydırma efektine göndermeyin. (I1a4b0, b/255554340, b/255557085)
  • Bir ScrollableState öğesinin iki yönde (aralığının minimum / maksimum değerlerinde olup olmadığını) kaydırmak için yeterli alan olup olmadığını sorgulamak amacıyla ScrollableState#canScrollForward ve ScrollableState#canScrollBackward eklendi. Bu, mevcut ScrollableState uygulamalarıyla geriye dönük uyumluluk için varsayılan olarak doğru değerine ayarlanır. Tüketiciler, kullanıcıya kaydırmak için hâlâ alan olduğuna dair bir işaret göstermek için bunu kullanabilir. Gereksiz iş yükünü azaltmak için bu özellik, belirli bir yönde kaydırmaya yer olmayan deltanın ScrollableStates hedefine gönderilmesini önlemek amacıyla da kullanılabilir. (Idf1a0, b/255557085)
  • Üst öğe kaydırma bilgilerini sorgulamaya bir Değiştirici API eklendi. (I2ba9d, b/203141462)
  • Hareketler kaydırma etkinliklerine dönüştüğünde, basma etkileşimlerini doğru şekilde ertelemek için Clickable ürününde kullanılır.
  • Clickables öğesinin, Scrollable ViewGroup içinde kullanıldığında dalgaları doğru şekilde geciktirmemesi düzeltildi.
  • Hareketlerin kaydırma etkinliklerine dönüşmesi durumunda basmaları doğru şekilde geciktirmek için Çekmeceler ve E-Tablolar güncellendi.
  • snapStepSize adlandırmayı SnapLayoutInfoProvider alanındaki diğer yöntemlerle tutarlı olacak şekilde güncelleyin. (Ife67c)
  • Compose öğesine EmojiCompat eklendi (Ibf6f9, b/139326806)
  • consumedWindowInsets() listesi consumeWindowInsets() ve withConsumedWindowInsets() adlı dosya onConsumedWindowInsetsChanged() olarak yeniden adlandırıldı ve Değiştiriciler herkese açık hale getirildi. (Ie44e1)

Hata Düzeltmeleri

  • Modifier.animateItemPlacement() ve Tembel ızgaralar ile kilitlenme düzeltildi. Yeni öğe sayısının önceki öğe sayısından daha az olduğu bazı durumlarda bu hata oluşuyordu. (I0bcac, b/253195989)

Sürüm 1.4.0-alpha02

9 Kasım 2022

androidx.compose.foundation:foundation:1.4.0-alpha02 ve androidx.compose.foundation:foundation-layout:1.4.0-alpha02 serbest bırakıldı. 1.4.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Daha fazla esneklik için awaitFirstDown ve waitForUpOrCancellation artık PointerEventPass kabul ediyor. (I7579a, b/212091796)
  • beyondBoundCount API'sini Lazy* API'lerinden (I12197) geri döndür
  • Görüntü alanı öğelerini oluşturmak ve bunların dışına yerleştirmek için Tembel API'lerde parametre eklendi (I69e89, b/172029355)
  • BasicText ve BasicTextField bölümlerine minLines parametresi eklendi. Bu composable'ların minimum yüksekliğini satır sayısı olarak ayarlamaya olanak tanır (I24294, b/122476634)

Sürüm 1.4.0-alpha01

24 Ekim 2022

androidx.compose.foundation:foundation:1.4.0-alpha01 ve androidx.compose.foundation:foundation-layout:1.4.0-alpha01 serbest bırakıldı. 1.4.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Hareket algılayıcıları için yeni bir yöntem (awaitEachGesture()) eklendi. forEachGesture() işlevine benzer, ancak döngü hareketleri tamamen AwaitPointerEventScope içinde çalışır. Böylece etkinlikler, yinelemeler arasında kaybolamaz.
  • forEachGesture(), etkinliklerin hareketler arasında kaybolmasına izin verdiği için artık awaitEachGesture() yerine kullanımdan kaldırıldı. (Iffc3f, b/251260206)
  • Animasyon ilerlemesini belirlemek ve animasyon tamamlandıktan sonra IME'nin nerede olacağını bilmek için WindowInsets.imeAnimationSource ve WindowInsets.imeAnimationTarget eklendi. (I356f1, b/217770337)

Sürüm 1.3

Sürüm 1.3.1

9 Kasım 2022

androidx.compose.foundation:foundation:1.3.1 ve androidx.compose.foundation:foundation-layout:1.3.1 serbest bırakıldı. Sürüm 1.3.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • BeyondBoundsLayout ürünündeki performans sorununu düzeltin (aosp/2255266)
  • ContentInViewModifier, eklenmediği sürece düzen koordinatlarını okumaz (aosp/2241316)

Sürüm 1.3.0

24 Ekim 2022

androidx.compose.foundation:foundation:1.3.0 ve androidx.compose.foundation:foundation-layout:1.3.0 serbest bırakıldı. 1.3.0 sürümü bu kaydetmeleri içerir.

1.2.0'dan bu yana önemli değişiklikler

  • LazyVerticalStaggeredGrid ve LazyHorizontalStaggeredGrid için deneysel sürümler kullanıma sunuldu.
  • SnapFlingBehavior, rememberSnapFlingBehavior ve ilgili diğer API'ler deneysel olarak eklendi.
  • Modifier.clickable, Modifier.toggleable ve Modifier.selectable, klavye veya uzaktan kumandadaki d-pad ile tıklandığında artık dalgalar gösteriyor.

Sürüm 1.3.0-rc01

5 Ekim 2022

androidx.compose.foundation:foundation:1.3.0-rc01 ve androidx.compose.foundation:foundation-layout:1.3.0-rc01 serbest bırakıldı. Sürüm 1.3.0-rc01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Değerin azalması için yeterli hızla salınma hızı olmadığında yaklaşım adımında kullanılan lowVelocityAnimationSpec özelliği tanıtıldı. (Iaeb27)
  • Metinde otomatik tirelemeyi desteklemek için yeni deneysel API Kısa Çizgileri eklendi (Iaa869)

Sürüm 1.3.0-beta03

21 Eylül 2022

androidx.compose.foundation:foundation:1.3.0-beta03 ve androidx.compose.foundation:foundation-layout:1.3.0-beta03 serbest bırakıldı. Sürüm 1.3.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • Metinde satır sonunu özelleştirme seçenekleri ekleyin. (I86907)
  • BringIntoViewResponder kullanıcıları artık isteği işlerken en güncel sınırlarını alabiliyor. (If86a5, b/241591211)
  • Deneysel Staggered Grid (I10b82) ile öğeler arasındaki boşluklara yönelik destek eklendi
  • Deneysel Staggered Grid'e (I342ea) içerik dolgusu ekleyin
  • Minimum genişlik kısıtlamalarını desteklemek için TextMeasurer.measure yönteminde constraints: Constraints içeren size:IntSize bağımsız değişkeni değiştirildi. (I37530, b/242707525)
  • Modifier.withConsumedWindowInsets(), windowInsetsPadding dışında kullanılmak üzere WindowInsets harcanması için eklendi.
  • WindowInsets adlı öğeyi yeniden düzenlemeden kolayca değiştirmek için MutableWindowInsets eklendi. (I7fd28, b/237019262, b/243119659)

Sürüm 1.3.0-beta02

7 Eylül 2022

androidx.compose.foundation:foundation:1.3.0-beta02 ve androidx.compose.foundation:foundation-layout:1.3.0-beta02 serbest bırakıldı. Sürüm 1.3.0-beta02 bu kaydetmeleri içerir.

API Değişiklikleri

  • Deneysel StaggeredGrid (Ia48be) ilk sürümü
  • FocusDirection.In ve FocusDirection.Out, FocusDirection.Enter ve FocusDirection.Exit olarak yeniden adlandırıldı (Ia4262, b/183746982)
  • LazyLists içinde tutturmayı etkinleştirmenin hızlı bir yolunu sağlayan bir rememberSnapFlingBehavior aşırı yüklemesi eklendi. (Ifb48a)
  • snapFlingBehavior fabrikası, beton SnapFlingBehavior sınıfıyla değiştirildi. Dp<->Px dönüşümlerini API kullanıcıları için kolaylaştırmak amacıyla SnapLayoutInfoProvider yöntemleri Yoğunluk olarak ayarlandı. (I54a11)
  • LazyLayoutMeasureScope.measure öğesini, döndürülen değerin istenen sabitliğini vurgulayarak yerleştirilebilir öğelerin listesini döndürecek şekilde güncelleyin. (I48b7c)
  • LazyLists için ek FlingBehavior özelliğini etkinleştirmek üzere kullanılabilecek bir SnapLayoutInfoProvider örneği oluşturmak için LazyListState kullanan SnapLayoutInfoProvider kullanıma sunuldu. (I2dd10)

Hata Düzeltmeleri

  • AwaitPointerEventScope#awaitLongPressOrCancellation öğesini, diğer bekleme işlevleriyle (I646e6) eşleşecek şekilde yeniden düzenler

Sürüm 1.3.0-beta01

24 Ağustos 2022

androidx.compose.foundation:foundation:1.3.0-beta01 ve androidx.compose.foundation:foundation-layout:1.3.0-beta01 serbest bırakıldı. Sürüm 1.3.0-beta01 bu kaydetmeleri içerir.

API Değişiklikleri

  • pointerPosition, OverscrollEffect öğesinden kaldırıldı. İşaretçi konumunu önemseyen efektler, bunun yerine geçerli işaretçi konumunu almak için effectModifier üzerinde Modifier.pointerInput { } özelliğini kullanabilir. (I9f606, b/241239306)
  • Daha karmaşık hareket algılama için ek yapı taşı olarak AwaitPointerEventScope#awaitLongPressOrCancellation kullanıma sunuldu (I04374, b/181577176)
  • Tembel listelerde tutturmayı etkinleştirmek için lazyListSnapLayoutInfoProvider kullanıma sunuldu. (I3ecdf)
  • Liste tutturmayı sağlayan bir hızlı kaydırma davranışı olan SnapFlingBehavior kullanıma sunuldu. Tutturma düzeniniz hakkında bilgi içeren bir SnapLayoutInfoProvider örneği sağlayın. (Ie754c)

Sürüm 1.3.0-alpha03

10 Ağustos 2022

androidx.compose.foundation:foundation:1.3.0-alpha03 ve androidx.compose.foundation:foundation-layout:1.3.0-alpha03 serbest bırakıldı. 1.3.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Kaynak yazı tipleri artık yazı tipi varyasyonu ayarlarını (API 26+) destekliyor. (I900dd, b/143703328)
  • DeviceFontFamilyNameFont ürününde değişken yazı tipi desteği (Ic1279, b/143703328)
  • Deneysel ek açıklama PlatformTextStyle ve LineHeightStyle reklam grubundan kaldırıldı. (I64bef)
  • VisualTransformation tarafından sağlanan OffsetMapping geçersiz dizinler döndürdüğünde metin alanları artık daha ayrıntılı istisnalar oluşturacaktır. (Ie73f9, b/229378536)
  • Geç düzenler arasında öğe sağlayıcı mantığını paylaşmak için deneysel API'ler kullanın. (Ic891c)
  • ScrollableDefaults.reverseDirection() artık deneysel değil. (Iba646)
  • SemanticsModifier.id desteği sonlandırıldı ve anlamsal kimlik LayoutInfo.semanticsId değerine taşındı. (Iac808, b/203559524)
  • checkScrollableContainerConstraints() artık deneysel değil. (I2c290)
  • Modifier.clipScrollableContainer() artık deneysel değil. (Ia2b44)
  • TextInputService.show|hideSoftwareKeyboard öğesini kullanımdan kaldırın. Bunun yerine lütfen uygulama kodunda SoftwareKeyboardController ve IME yönetimi kodunda TextInputSession kullanın. (I14e4c, b/183448615)

Sürüm 1.3.0-alpha02

27 Temmuz 2022

androidx.compose.foundation:foundation:1.3.0-alpha02 ve androidx.compose.foundation:foundation-layout:1.3.0-alpha02 serbest bırakıldı. 1.3.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Canvas ve drawBehind gibi DrawScope üzerinde çalışan composable'larda ve değiştiricilerde birden fazla stilde metin çizme imkanı sağlamak için DrawScope eklentisine drawText uzantı işlevi eklendi. (I16a62, b/190787898)

Hata Düzeltmeleri

  • Odaklanılmış bir metin alanı devre dışı bırakıldığında ekran klavyesi artık gizlenir. (I6e3e4, b/237308379)
  • Hız İzleyici'ye InputEventChange etkinliklerini eklerken artık konumlar yerine deltaları dikkate alırız. Böylece hedef öğe hareket etse bile hızın tüm durumlarda doğru şekilde hesaplanmasını garanti ederiz (Icea9d, b/216582726, b/223440806, b/227709803).
  • Kaydırılabilir bir öğenin odaklandığı bir alt öğe olduğunda, boyutu küçültüldüğünde (boyut animasyonlu olsa bile) odaklanılan alt öğeyi ekranda düzgün şekilde kaydıracak. (I80867, b/230756508, b/220119990)
  • Seçim etkinken TextField öğesinin temizlenip yeniden doldurulmasına neden olan kilitlenme düzeltildi. (I1235b, b/208655565, b/214253689)

Sürüm 1.3.0-alpha01

29 Haziran 2022

androidx.compose.foundation:foundation:1.3.0-alpha01 ve androidx.compose.foundation:foundation-layout:1.3.0-alpha01 serbest bırakıldı. 1.3.0-alpha01 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • AnnotatedString içinde TalkBack bağlantı desteğini desteklemek için UrlAnnotation ek açıklama türü ve ilişkili yöntemler kullanıma sunuldu. (I1c754, b/231495122)

Hata Düzeltmeleri

  • BasicTextField cursorBrush artık imleç zamanlayıcısı yeniden başlatılmadan animasyonlu olabilir. (I812e6, b/236383522)

Sürüm 1.2

Sürüm 1.2.1

10 Ağustos 2022

androidx.compose.foundation:foundation:1.2.1 ve androidx.compose.foundation:foundation-layout:1.2.1 serbest bırakıldı. Sürüm 1.2.1 bu kaydetmeleri içerir.

Sürüm 1.2.0

27 Temmuz 2022

androidx.compose.foundation:foundation:1.2.0 ve androidx.compose.foundation:foundation-layout:1.2.0 serbest bırakıldı. 1.2.0 sürümü bu kaydetmeleri içerir.

1.1.0'dan bu yana önemli değişiklikler

  • LazyVerticalGrid ve LazyHorizontalGrid şu anda kararlı.
  • Artık Tembel listeler ve ızgaralardaki öğeler için bir içerik türü belirtebilirsiniz. Bu, bileşenlerin öğeleri daha verimli bir şekilde yeniden kullanmasına olanak tanır.
  • Tembel listeler ve ızgaralarda artık kullanıcı hareketleri aracılığıyla kaydırmanın devre dışı bırakılmasına olanak tanıyan userScrollEnabled parametresi var.
  • LazyLayout adında yeni bir deneysel API eklendi. Bu, geç listeleri ve tabloları desteklemek için dahili olarak kullandığımız API'dir.
  • OverscrollEffect API deneysel olarak kullanıma sunuldu. Özel fazla kaydırma efektlerinin yanı sıra özel kaydırılabilir kapsayıcılara standart bir platform ekleyebilirsiniz.
  • Görünümler ve oluşturma kaydırıcıları arasında birlikte çalışabilirlik sağlamak için iç içe yerleştirilmiş kaydırma birlikte çalışabilirlik API'leri kullanıma sunulmuştur.
  • Tüm kaydırma kapsayıcılarına fare ve dokunmatik yüzey kaydırması eklendi.

Sürüm 1.2.0-rc03

29 Haziran 2022

androidx.compose.foundation:foundation:1.2.0-rc03 ve androidx.compose.foundation:foundation-layout:1.2.0-rc03 serbest bırakıldı. Sürüm 1.2.0-rc03 bu kaydetmeleri içerir.

  • 1.2.0-rc02'den bu yana değişiklik yok.

Sürüm 1.2.0-rc02

22 Haziran 2022

androidx.compose.foundation:foundation:1.2.0-rc02 ve androidx.compose.foundation:foundation-layout:1.2.0-rc02 serbest bırakıldı. Sürüm 1.2.0-rc02 bu kaydetmeleri içerir.

Sürüm 1.2.0-rc01

15 Haziran 2022

androidx.compose.foundation:foundation:1.2.0-rc01 ve androidx.compose.foundation:foundation-layout:1.2.0-rc01 serbest bırakıldı. Sürüm 1.2.0-rc01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Özel fazla kaydırma efektlerinin yanı sıra bu efektleri kabul eden Modifier.scrollable aşırı yüklemelere olanak tanımak için deneysel bir OverscrollEffect kullanıma sunulmuştur.
  • Deneysel LocalOverScrollConfiguration, foundation.gesture klasöründen temel paketine taşındı ve LocalOverscrollConfiguration olarak yeniden adlandırıldı (If19fb, b/204650733)
  • Oluşturma kitaplıklarındaki arayüzler artık jdk8 varsayılan arayüz yöntemleri (I5bcf1) kullanılarak oluşturulmuştur.
  • Kaydırılabilir kapsayıcıları iç içe yerleştiremediğimizden emin olmamızı sağlayan deneysel bir API checkScrollableContainerConstraints() kullanıma sunuldu. LazyLayout aracılığıyla kendi kaydırılabilir geç düzenlerinizi oluştururken bunu kullanabilirsiniz. (Id6fab, b/233352497)
  • Desteği sonlandırılmış LazyVerticalGrid, androidx.compose.foundation.lazy paketinden kaldırıldı. Yeni kararlı API androidx.compose.foundation.lazy.grid (I73c76, b/225192009) konumunda bulunmaktadır.

Sürüm 1.2.0-beta03

1 Haziran 2022

androidx.compose.foundation:foundation:1.2.0-beta03 ve androidx.compose.foundation:foundation-layout:1.2.0-beta03 serbest bırakıldı. Sürüm 1.2.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • Yeni deneme amaçlı IntervalList ve MutableIntervalList eklendi. Bazı değerler listesinin birden çok aralıkla temsil edilmesine olanak tanır. Bu, LazyColumn tarafından kullanılana benzer bir şekilde kendi dsl'inizi tanımlamak istediğinizde kullanışlıdır. Bu DSL'de liste öğeleri birden çok öğe/öğe çağrısıyla tanımlanabilir. (I2d05e, b/228580728)

Hata Düzeltmeleri

  • WindowInsets.ime ile ilgili dokümanlarda, API 23'e kadar olan ime eklerin raporlandığı, ancak 30 ve sonraki sürümlerde yalnızca animasyon yapıldığı belirtildi. (Ia7fc0, b/230756508)
  • İmleç bir metin alanının sonundayken ileri sil tuşuna basmak artık kilitlenmez.
  • DeleteSurroundingTextCommand ve DeleteSurroundingTextInCodePointsCommand artık oluşturucu bağımsız değişkenlerinin negatif olmamasını gerektiriyor. (Ica8e6, b/199919707)

Sürüm 1.2.0-beta02

18 Mayıs 2022

androidx.compose.foundation:foundation:1.2.0-beta02 ve androidx.compose.foundation:foundation-layout:1.2.0-beta02 serbest bırakıldı. Sürüm 1.2.0-beta02 bu kaydetmeleri içerir.

  • Metin'in düzen boyutunu değiştirmeyen veya TextField ürününün daha önce yeniden çizilmediği indirilebilir yazı tipi çözünürlüğü, eski yazı tipi görüntüsüne neden oluyor. Bu hata düzeltmesi, metin düzeninin her zaman yeniden çizimi tetiklemesini (b/229727404) sağlar. (I1d49e, b/229727404)

Sürüm 1.2.0-beta01

11 Mayıs 2022

androidx.compose.foundation:foundation:1.2.0-beta01 ve androidx.compose.foundation:foundation-layout:1.2.0-beta01 serbest bırakıldı. Sürüm 1.2.0-beta01 bu kaydetmeleri içerir.

Yeni Özellikler

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

API Değişiklikleri

  • Görünür sınırların dışındaki düzen öğeleri olduğunda LazyList özel uygulamaları tarafından kullanılabilecek deneysel BeyondBoundsInterval eklendi (Ifabfb, b/184670295)
  • LineHeightBehavior, LineHeightStyle olarak yeniden adlandırıldı
  • LineVerticalAlignment, LineHeightStyle.Alignment olarak yeniden adlandırıldı
  • LineHeightTrim adlı cihazın adı LineHeightStyle.Trim olarak değiştirildi
  • LineHeightStyle öğesinden varsayılan oluşturucu değerleri kaldırıldı (I582bf, b/181155707)
  • LazyLayoutItemProvider arayüzünün isteğe bağlı üyeleri için varsayılan değerler eklendi. (Iba8a0)
  • LazyLayoutItemProvider API'sinde, composable lambda'yı dizine göre döndüren bir fabrika yerine artık dizini kabul eden daha basit bir composable işlevimiz var. (Id2196)
  • LazyLayoutItemsProvider, LazyLayoutItemProvider (I0638c) olarak yeniden adlandırıldı
  • LazyLayoutItemsProvider.itemsCount, itemCount (Id409c) olarak yeniden adlandırıldı
  • Gradyan renklendirmeyle metin çizme yöntemi sağlamak için TextStyle ve SpanStyle özelliklerine Fırça özelliği eklendi. (I53869, b/187839528)
  • trimFirstLineTop, LineHeightBehavior öğesinin trimLastLineBottom özelliği tek bir sıralamada değiştirildi: LineHeightTrim. LineHeightTrim, iki boole ile tanımlanmış 4 duruma sahip değerlere sahiptir: FirstLineTop, LastLineBottom, Her ikisi ve Hiçbiri (Ifc6a5, b/181155707)
  • TextStyle ve ParagraphStyle. LineHeightBehavior öğelerine eklenen LineHeightBehavior, satır yüksekliğinin ilk satırın üst kısmına ve son satırın altına uygulanıp uygulanmayacağını kontrol eder. Ayrıca, TextStyle(lineHeight) tarafından sağlanan boşluktaki çizginin hizalamasını da tanımlar.

    Örneğin, CSS'nin LineHeightBehavior(alignment = LineVerticalAlignment.Center, trimFirstLineTop=false, trimLastLineBottom = false) aracılığıyla tanımladığı gibi bir davranış elde edilebilir.

  • trimFirstLineTop, trimLastLineBottom yapılandırmaları yalnızca includeFontPadding yanlış değerine ayarlandığında doğru şekilde çalışır. (I97332, b/181155707)

  • Geliştiricilerin IME'yi kaydırma yoluyla kontrol edebilmesi için deneysel imeNestedScroll() değiştirici eklendi. (I60759)

Hata Düzeltmeleri

  • Odaklanılan besteden kaldırıldığında metin alanlarının klavyeyi gizlemediği regresyon düzeltildi. (I7a410, b/230536793, b/225541817)
  • Yükseklik sınırlı olduğunda ve tüm metin satırlarına sığmadığında üç nokta desteği (Ie528c, b/168720622)
  • BringIntoViewRequester.bringIntoView artık istek tamamlanana veya daha yeni, çakışmayan bir istek nedeniyle kesintiye uğrayana kadar askıya alınacak. Çakışan istekler sıraya alınır. (I43e7f, b/216790855)
  • Tamamen örtüşen dikdörtgenler için eşzamanlı BringIntoViewRequester.bringIntoView çağrıları, artık yalnızca daha büyük dikdörtgenin isteğini yerine getirecektir. (I34be7, b/216790855, b/184760918)
  • Varsayılan includeFontPadding etkinleştirildi. includeFontPadding, TextStyle.platformTextStyle özelliğini kullanarak devre dışı bırakılabilir. Yakın gelecekte varsayılan davranışı değiştireceğiz. Ancak o zamana kadar satır yüksekliği iyileştirmelerini daha iyi entegre edebilir (aosp/2058653) ve TextField kırpma sorunlarını daha kolay çözebiliriz. (I01423, b/171394808)
  • Modifier.bringIntoViewRequester artık onGloballyPositioned kullanmıyor. (I630f5)

Harici Katkı

  • Android'de artık dikey olarak kaydırdığımızda MouseInjectionScope.scroll(delta = someDelta) ters çevrilmiş durumda (bazıDelta değerleri pozitifse aşağı doğru kaydırılır) (Ifb697, b/224992993)

Sürüm 1.2.0-alpha08

20 Nisan 2022

androidx.compose.foundation:foundation:1.2.0-alpha08 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha08 serbest bırakıldı. 1.2.0-alpha08 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • FontFamily.SansSerif kullanılırken Android'deki sistem yazı tipleri için mevcut tüm ağırlıkları görüntüleyin. Bu, API 21-28'de dahili olarak sans-serif-medium gibi yedek yazı tipi adlarını kullanır. API 21-28'de daha önce yalnızca 400 ve 700 ağırlıkları desteklendiği için bu davranış değişikliğidir. (I380fe, b/156048036, b/226441992)
  • Paragraf ve MultiParagraph, artık Constraints parametresini kabul ediyor. Constraints.maxHeight değerini geçmek şu anda bir işlem değildir, ancak gelecekte yüksekliğe dayalı elipsleme gibi hesaplamalar yapmanıza olanak tanır. (I6afee, b/168720622)
  • SubcomposeSlotReusePolicy.getSlotsToRetain() artık yeni öğelerin eklenmesine izin vermeyen MutableSet benzeri bir özel sınıfı kabul ediyor. (Icd314)
  • PointerInputChange için kısmi tüketim (aşağı VEYA konum) kullanımdan kaldırıldı. Değişikliği tamamen kullanmak için consume() kullanabilirsiniz. Başka birinin daha önce değişikliği yapıp yapmadığını belirlemek için isConsumed kullanabilirsiniz.
  • PointerInputChange::copy() artık her zaman yüzeysel bir kopya oluşturuyor. Bu, PointerInputChange kopyalarının, kopyalardan biri kullanıldığında tüketileceği anlamına gelir. Bağlı olmayan bir PointerInputChange oluşturmak istiyorsanız bunun yerine oluşturucu kullanın. (Ie6be4, b/225669674)
  • Yeni, deneysel LazyLayout API kullanıma sunuldu. Bu şekilde kendi bileşenlerinizi oluşturabilirsiniz (ör. LazyColumn/LazyVerticalGrid). API'nin erken aşamalarında olduğunu ve gelecekteki sürümlerde değiştirilebileceğini unutmayın. (Iba2bc, b/166591700)
  • AndroidFont, typefaceLoader değerini artık oluşturucu parametre olarak alıyor. (I2c971)
  • WindowInsets tamamlayıcı artık görünürlüğü (pencereyle kesişip kesişmelerinden bağımsız olarak ekranda olup olmadıklarından bağımsız olarak) ve cihazda mevcutsa ancak o anda etkin değilse gösterebilecekleri boyutu gösteriyor. (I65182, b/217770337)

Sürüm 1.2.0-alpha07

6 Nisan 2022

androidx.compose.foundation:foundation:1.2.0-alpha07 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha07 serbest bırakıldı. 1.2.0-alpha07 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Geç düzenin alt öğelerinin, şu anda oluşturulan öğelerin atılmasını önlemesine olanak tanıyan bir PinnableParent API'si eklendi (Ibbdd0, b/184670295)
  • LazyListLayoutInfo ve LazyGridLayoutInfo artık beforeContentPadding ve afterContentPadding alanlarına sahip (I3b628, b/200920410)
  • Özellikle IME'de ondalık ayırıcı eklemek için Keyboard.Number yerine KeyboardType.Decimal eklendi. (Iec4c8, b/209835363)
  • Yazı tipi yedek zincirleri sırasında isteğe bağlı olarak sistem tarafından yüklenen yazı tiplerini aramak için yeni yazı tipi tanımlayıcısı Font(DeviceFontFamilyName) ekleyin. (I30468, b/219754572)
  • PointerEventType.Scroll ve PointerEvent.scrollDelta artık kararlı API'ler (I574c5, b/225669674)
  • TextStyle/ParagraphStyle. includeFontPadding içindeki includeFontPadding için eklenen geçici uyumluluk yapılandırması TextStyle(platformStyle = PlatformTextStyle(includeFontPadding = true/false)) aracılığıyla değiştirilebilir. Bu, taşımayı etkinleştirmek için kullanılan geçici bir yapılandırma seçeneğidir ve kaldırılacaktır. (If47be, b/171394808)
  • FontFamily.Resolver, sistem genelinde kalın metin erişilebilirlik ayarını entegre edecek şekilde güncellendi (I6c1e7)
  • ComposeView ürününün consumeWindowInsets uzantı özelliği, geliştiricilerin Android WindowInset kullanımını devre dışı bırakmasına olanak tanır. Bu, hiyerarşide birbirinden farklı ComposeViews öğelerinin, birbirlerine müdahale etmeden her birine WindowInsets uygulamasına olanak tanır. (I0ef08, b/220943142)

Sürüm 1.2.0-alpha06

23 Mart 2022

androidx.compose.foundation:foundation:1.2.0-alpha06 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha06 serbest bırakıldı. 1.2.0-alpha06 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Odaklanabilir hedefe odaklanma isteğinde bulunmak için RequestFocus semantik işlemi eklendi. (I17b71)
  • FocusOrder, FocusProperties adı altında birleştirildi ve focusProperties() artık focusOrder() ürününün tüm özelliklerine sahip. FocusOrder ve focusOrder() desteği sonlandırıldı. focusRequester kabul eden focusOrder(), focusProperties() ile birlikte focusRequester() değiştiriciyle değiştirilmelidir. Bu sayede değiştiriciler, endişeleri daha etkili bir şekilde ayırabiliyor. (I601b7)
  • WindowInsets.asPaddingValues(Density), geliştiricilerin bileşim hâlinde olmalarına gerek kalmadan dönüşümü gerçekleştirmelerine olanak tanımak için eklendi. (I94c35)
  • Geçerli düzen yönü RTL ise VectorPainter öğesinin içeriğini çevirmek için otomatik yansıtmayı desteklemek üzere vektör çizimlerinin ayrıştırılması güncellendi. (I79cd9, b/185760237)

Hata Düzeltmeleri

  • Kaydırma alanı yeniden boyutlandırıldıysa ve odaklanılan composable daha önce görünür durumdaysa,kaydırma değiştiricileri (Modifier.verticalScroll(), Modifier.horizontalScroll() ve Modifier.scrollable()) artık kaydırılarak odaklanılan composable'ın görünür kalmasını sağlayacak.
  • TextFields artık odaklanıldığında ve klavye gösterildiğinde klavyenin üzerinde tutuluyor, tembel kaydırılabilir olmayan bir sayfada ve yumuşak giriş modu ADJUST_RESIZE iken. (I4a485, b/190539358, b/192043120, b/216842427)

Sürüm 1.2.0-alpha05

9 Mart 2022

androidx.compose.foundation:foundation:1.2.0-alpha05 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha05 serbest bırakıldı. 1.2.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyVerticalGrid ve LazyHorizontalGrid artık kararlı. (I307c0)
  • LazyGridItemInfo.Unknown, ayrı LazyGridItemInfo.UnknownRow ve LazyGridItemInfo.UnknownColumn (I56d51) ile değiştirilmiştir
  • LazyVerticalGrid/LazyHorizontalGrid ve ilgili tüm API'ler .grid alt pakete taşındı. Lütfen androidx.compose.foundation.lazy olan içe aktarma işlemlerinizi androidx.compose.foundation.lazy.grid olarak güncelleyin. (I2d446, b/219942574)
  • Kısa mesaj: includeFontPadding artık varsayılan olarak devre dışı. includeFontPadding=false nedeniyle ortaya çıkan kayma sorunları ele alınır ve uzun komut dosyaları için klip oluşturmamanız gerekir. (I31c84, b/171394808)
  • Ölçülen arayüz artık parentData mülkünü (I3313f) gösteriyor.
  • Çocuklara odaklanılabilir öğelerin sınırlarının gözlemlenmesine olanak tanımak için deneysel Modifier.onFocusedBoundsChanged kullanıma sunuldu. (I14283, b/220030968, b/190539358, b/192043120, b/216842427)
  • LazyHorizontalGrid eklendi. (I61ae7, b/191238807)
  • Çapraz eksen boyutlarını tanımlamak için yeni bir LazyVerticalGrid API eklendi (I17723)
  • FocusGroup değiştiricisi eklendi (I64bc0, b/213508274, b/184670295)

Hata Düzeltmeleri

  • WindowInsets.toString() artık doğru değerleri gösterecek. (I1585d)

Harici Katkı

  • Kotlinx eş yordamları 1.6.0 (I3366d) kullanılacak şekilde güncellendi

Sürüm 1.2.0-alpha04

23 Şubat 2022

androidx.compose.foundation:foundation:1.2.0-alpha04 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha04 serbest bırakıldı. 1.2.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • BringIntoViewResponders ürününün artık istekleri üst yanıtlayıcılara manuel olarak iletmesi gerekmiyor. Bunun yerine, üst ekibinin görüntülemesini istediği dikdörtgeni hemen döndürmesi gerekiyor. (I8e66a)
  • Metinde (I77057, b/214587005) eşzamansız yazı tipi yükleme desteği
  • LazyVerticalGrid artık kapsamı geçerli satıra sığmayan öğelerden önce line breaking değerini destekliyor. (I05c40, b/207462103)
  • excludeFromSystemGestures, systemGesturesExclusion (I19526) olarak yeniden adlandırıldı
  • LazyVerticalGrid artık sideLayout'u destekliyor. (I6d7d7, b/215572963, b/211753558)
  • Geliştiricilerin yalnızca WindowInsets'teki boyutları dahil etmesine izin vermek için WindowInsets.only() yöntemini ekleyin. (I14c94, b/217768486)
  • composable işlevin, kullanmak üzere tasarlanmadığı bir uygulayıcıyı hedefleme olarak adlandırıldığı durumların derleme zamanı raporlanmasına olanak tanıyan ComposableTarget, ComposableTargetMarker ve ComposableOpenTarget özellikleri eklendi.

    Çoğu durumda, ek açıklamalar, derleyici eklentisi tarafından tahmin edilebilir. Bu nedenle, bu ek açıklamaların doğrudan kullanılması nadir olmalıdır. Tahmin edilemeyen durumlar arasında özel uygulayıcı, soyut composable işlevleri (arayüz yöntemleri gibi), composable lambda olan alanlar veya genel değişkenler (yerel değişkenler ve parametreler tahmin edilir) oluşturup kullanma veya ComposeNode ya da ilgili bir composable işlevlerinin kullanılması yer alır.

    Özel uygulayıcılar için ComposeNode veya ReusableComposeNode çağrısı yapan composable işlevlerin, işlev ve composable lambda parametre türleri için bir CompoableTarget ek açıklaması eklemesi gerekir. Bununla birlikte, ComposableTargetMarker ile ek açıklama eklenen bir ek açıklama oluşturmanız ve daha sonra, doğrudan ComposableTarget yerine işaretlenen ek açıklamanın kullanılması önerilir. ComposableTargetMarker ile işaretlenmiş bir composable ek açıklama, uygulayıcı parametresi olarak özellik sınıfının tam nitelikli adına sahip 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)

Hata Düzeltmeleri

  • Artık negatif kaydırma ofsetlerinin LazyGridState.scrollToItem() ve LazyGridState.animateScrollToItem() özelliklerine aktarılmasına izin veriliyor. (I025c6, b/211753558)
  • TextField için eşzamansız yazı tipi yükleme desteği. (Icc4bf, b/214587005)

Sürüm 1.2.0-alpha03

9 Şubat 2022

androidx.compose.foundation:foundation:1.2.0-alpha03 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha03 serbest bırakıldı. 1.2.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • TextInputSession ve TextInputService işlevlerindeki notifyFocusedRect yöntemleri artık kullanımdan kaldırıldı ve çağrılmayacak. Bunun yerine BringIntoViewRequester kullanın. (Ia4302, b/192043120, b/216842427, b/178211874)
  • Animasyonlar, Değiştirici.animateItemplacement() ile geç ızgara öğeleri için etkinleştirildi. (Ib6621, b/211753218)
  • BringIntoViewRequester, artık istekleri barındıran Android View'a yayar. (Ia7a51)
  • FontFamilyResolver artık LocalFontFamilyResolver.current
      üzerinden kullanılabilir
    • Oluşturma kullanımının dışında yeni FontFamily çözümleyiciler oluşturmak için createFontFamilyResolver(context) ve createFontFamilyResolver(context, coroutineScope) eklendi.
    • Paragraf ve MultiParagraph artık FontFamily.Resolver yer alıyor
    • TextLayoutResult.layoutInput.fontFamilyResolver artık bu düzen için kullanılan çözümleyiciyi içeriyor. Artık kullanılmadığından TextLayoutResult.layoutInput.resourceLoader desteği sonlandırıldı. (Id5a45, b/174162090)
  • Android'de yeni yazı tipi kaynak tanımlayıcı türleri sağlamaya yönelik yeni bir alt düzey API olan AndroidFont eklendi. Örneğin, uygulamaya özel bir arka uçtan yazı tipleri yükleme, isteğe bağlı olarak cihaz üzerinde önceden yüklenmiş yazı tiplerini bulma veya mevcut Font fabrikaları tarafından sağlanmayan bir kaynaktan yazı tipi yükleme.
    • İsteğe bağlı ve eşzamansız yazı tipi yüklemeyi desteklemek için Font.ResourceLoaded API genişletildi. Uygulama geliştiricilerin doğrudan bu API'yi kullanması önerilmez. Yeni yazı tipi türleri eklemek için AndroidFont'a bakın.
    • Font.AndroidResourceLoader uzantı işlevi, bileşim dışında olduğunda Font.ResourceLoader oluşturulmasına olanak tanır.
    • Kaynak tabanlı yazı tiplerine, kaynak yazı tipi indirilebilir yazı tipleri XML'e başvurduğunda eş zamansız yüklemeye olanak tanımak için loadingStrategy parametresi eklendi. (Ie5aea, b/174162090)
  • Typeface(FontFamily) oluşturucu desteği sonlandırıldı. Bu özellik daha önce yazı tiplerini önceden yüklemek için kullanılıyordu. İndirilebilir yazı tipleri 10 saniyeyi bulabilir. İndirilebilir yazı tipleriyle bu çağrı 10 saniye boyunca bloke olabilir. Bunun yerine FontFamilyResolver.preload kullanın
    • fontResource(FontFamily): Typeface desteği sonlandırıldı. Bu özellik daha önce yazı tiplerini önceden yüklemek için kullanılıyordu. İndirilebilir yazı tipleri 10 saniyeyi bulabilir. Bunun yerine FontFamilyResolver.preload kullanın (If8e7c, b/174162090)
  • Artık LazyVerticalGrid öğeleri için içerik türünü belirtebilirsiniz. LazyGridScope üzerindeki öğe/öğe işlevleri artık bu parametreyi kabul etmektedir. Bu tür bilgilerin sağlanması, öğe bestesinin yeniden kullanılarak mantığın daha verimli bir şekilde kullanılmasına ve içeriğin yalnızca benzer türdeki öğeler arasında yeniden kullanılmasına yardımcı olur. (I7b355, b/215372836)
  • LazyListLayoutInfo ve LazyGridLayoutInfo artık yeni özelliklere sahip: viewportSize, orientation, reverseLayout (Ifc8ed, b/200920410)
  • Artık LazyColumn/LazyRow öğeleri için içerik türünü belirtebilirsiniz. LazyListScope'taki item/items işlevleri artık bu parametreleri kabul ediyor. Bu tür bilgilerin sağlanması, öğe bestesinin yeniden kullanılarak mantığın daha verimli bir şekilde kullanılmasına ve içeriğin yalnızca benzer türdeki öğeler arasında yeniden kullanılmasına yardımcı olur. (I26506)
  • maxSlotsToRetainForReuse kabul eden SubcomposeLayoutState oluşturucunun desteği sonlandırıldı. Bunun yerine SubcomposeSlotReusePolicy öğesini kabul eden yeni bir oluşturucu var. Bu oluşturucu, gelecekte yeniden kullanılmak üzere hangi alanların tutulması gerektiği konusunda daha ayrıntılı denetime olanak tanıyan yeni bir arayüzdür. (I52c4d)
  • Hem dolgu hem de boyutlandırma amacıyla WindowInsets için Değiştiriciler ekler. Bu, bazı içeriklerin giriş alanına uzanırken birincil içeriğin yine de başlangıç alanının dışında kalmasına olanak tanır. Örneğin, windowInsetsPadding, tamamen veya kısmen kapsanabilecek alanlardan kaçınmak amacıyla içerik alanını doldurmak için kullanılabilir. (Id0395, b/213942085)

Hata Düzeltmeleri

  • Metin alanları artık odaklanıldığında ve klavye gösterildiğinde (yumuşak giriş modu ADJUST_PAN) klavyenin üzerinde tutulacak. (I8eaeb, b/190539358, b/192043120)
  • Masaüstünde, FontFamily.Resolver için yerel kompozisyon kullanılır
    • Masaüstü FontLoader desteği sonlandırıldı
    • Masaüstünde yeni createFontFamilyResolver fabrikası (I6bbbb, b/174162090)
  • Odak metin alanları arasında değiştirilirken yumuşak klavye giriş türü artık titreşmiyor. (I1bf50, b/187746439)
  • İmleç tutamacı gösterilirken artık metin alanlarında tekrar geri basmak gerekmiyor. (Ideb4b, b/205726883)
  • Metin seçimi büyüteci davranışı, platform büyüteciyle eşleşecek şekilde iyileştirildi. (Idd918, b/206833278)

Sürüm 1.2.0-alpha02

26 Ocak 2022

androidx.compose.foundation:foundation:1.2.0-alpha02 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha02 serbest bırakıldı. 1.2.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Karmaşık bir mantığı olmayan mevcut yöntemlerin aşırı yüklenmesi olan yöntemlere NonRestartableComposable eklendi. Bu, çağrılan iç fonksiyonda tekrarlanan tüm parametreler için derleyici tarafından oluşturulan not kontrollerini (eşittir) azaltır. (I90490)
  • Android'in setSystemGestureExclusionRects ürününe (I46f07) kolay erişim için excludeFromSystemGesture Değiştiriciler eklendi

Hata Düzeltmeleri

  • Metin seçimi büyüteci davranışı, platform büyüteciyle eşleşecek şekilde iyileştirildi. (Idd918, b/206833278)
  • LazyColumn, LazyRow, Modifier.verticalScroll ve Modifier.scrollable kullanan diğer kapsayıcılar artık fare tekerleğiyle kaydırmayı desteklemektedir. (I2b5e1, b/198214718)

Sürüm 1.2.0-alpha01

12 Ocak 2022

androidx.compose.foundation:foundation:1.2.0-alpha01 ve androidx.compose.foundation:foundation-layout:1.2.0-alpha01 serbest bırakıldı. Sürüm 1.2.0-alpha01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Kullanıcıların dokunma hareketleri veya erişilebilirlik işlemleri aracılığıyla kullanıcı tarafından başlatılan kaydırmayı geçici veya kalıcı olarak devre dışı bırakmasına olanak tanımak için LazyColumn, LazyRow ve LazyVerticalGrid bölümlerine userScrollEnabled adlı yeni parametre eklendi. Durumla ilgili yöntemler aracılığıyla programatik olarak kaydırmaya izin verilmeye devam edilir. (I7eae9, b/201150093)
  • Büyüteç değiştiriciye onSizeChanged geri çağırması ekleyin. (I6879f)
  • Büyüteç widget'ı artık SelectionContainer içinde seçim tutma yerlerini sürüklerken gösteriliyor. (I30b38, b/139320979)

Hata Düzeltmeleri

  • Görünümden dışarı kaydırıldığında TextField imleç tutamacının gizlenmemesi sorununu düzeltir. (I14552, b/208883748)

Bağımlılık Güncellemeleri

  • Artık Kotlin 1.6.10 bağlı.

Sürüm 1.1

Sürüm 1.1.1

23 Şubat 2022

androidx.compose.foundation:foundation:1.1.1 ve androidx.compose.foundation:foundation-layout:1.1.1 serbest bırakıldı. Sürüm 1.1.1 bu kaydetmeleri içerir.

Hata Düzeltmeleri

Sürüm 1.1.0

9 Şubat 2022

androidx.compose.foundation:foundation:1.1.0 ve androidx.compose.foundation:foundation-layout:1.1.0 serbest bırakıldı. 1.1.0 sürümü bu kaydetmeleri içerir.

1.0.0'dan bu yana önemli değişiklikler

  • Android 12 Fazla kaydırma efekti için kararlı destek
  • Dokunma hedefi boyutlandırmasıyla ilgili iyileştirmeler
  • Compose 1.0'da, Materyal bileşenlerinin düzen alanlarını dokunma hedefi boyutu ile ilgili Materyal erişilebilirlik yönergelerine uygun olacak şekilde genişleteceğini unutmayın. Örneğin, Düğmenin boyutunu daha küçük olacak şekilde ayarlasanız bile düğmenin dokunma hedefi en az 48x48 dp boyutuna genişler. Bu, Oluştur Materyalini, Materyal Tasarım Bileşenleri ile aynı davranışla uyumlu hale getirir ve Görünümler ile Oluştur'u birlikte kullandığınızda tutarlı davranış sağlar. Bu değişiklik, Materyal Oluşturma bileşenlerini kullanarak kullanıcı arayüzünüzü oluşturduğunuzda, dokunma hedefi erişilebilirliğiyle ilgili minimum gereksinimlerin karşılanmasını da sağlar.
  • Gezinme Rayı için kararlı destek
  • Daha önce deneysel olan bir dizi API'yi kararlı sürüme geçirir
  • Kotlin'in daha yeni sürümleri için destek

Sürüm 1.1.0-rc03

26 Ocak 2022

androidx.compose.foundation:foundation:1.1.0-rc03 ve androidx.compose.foundation:foundation-layout:1.1.0-rc03 serbest bırakıldı. Sürüm 1.1.0-rc03 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Compose Material 1.1.0-rc03'ü destekleyecek şekilde güncellendi

Sürüm 1.1.0-rc01

15 Aralık 2021

androidx.compose.foundation:foundation:1.1.0-rc01 ve androidx.compose.foundation:foundation-layout:1.1.0-rc01 serbest bırakıldı. Sürüm 1.1.0-rc01 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Artık negatif kaydırma ofsetlerinin LazyListState.scrollToItem() ve LazyListState.animateScrollToItem() özelliklerine aktarılmasına izin veriliyor. (Iceb90, b/184252837)
  • Erişilebilirlik kaydırma işlemlerinin eksik olmasına yol açan bir hata düzeltildi (I7cbfb)

Sürüm 1.1.0-beta04

1 Aralık 2021

androidx.compose.foundation:foundation:1.1.0-beta04 ve androidx.compose.foundation:foundation-layout:1.1.0-beta04 serbest bırakıldı. Sürüm 1.1.0-beta04 bu kaydetmeleri içerir.

Yeni Özellikler

  • Kotlin 1.6.0 ile uyumlu olacak şekilde güncellendi

API Değişiklikleri

  • androidx.core.view içindeki null değerleri temizlendi(I7078a, b/204917439)
  • PointerInputchange'in bir bütün olarak kullanılmasına veya kullanılıp kullanılmadığının kontrol edilmesine olanak tanıyan deneysel API'ler eklendi. (I2e59d)
  • İmleci veya metin alanlarının içindeki seçim tutma yerlerini sürüklerken büyüteç widget'ı gösterin. (I5391e, b/203781358)

Hata Düzeltmeleri

  • IME görünürlüğü değiştiğinde hareket etmeyen metin tutma yerleri düzeltildi. (I25f2e)

Sürüm 1.1.0-beta03

17 Kasım 2021

androidx.compose.foundation:foundation:1.1.0-beta03 ve androidx.compose.foundation:foundation-layout:1.1.0-beta03 serbest bırakıldı. Sürüm 1.1.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyVerticalGrid'e yatay aralık desteği eklendi. (I7e2fa, b/176758183)
  • Geç liste öğe konumlarını canlandırmaya yönelik deneysel özellik eklendi. LazyItemScope'ta Modifier.animateItemPlacement() adlı yeni bir değiştirici var. Kullanım örneği:

      var list by remember { mutableStateOf(listOf("A", "B", "C")) }
      LazyColumn {
          item {
              Button( list = list.shuffled() }) {
                  Text("Shuffle")
              }
          }
          items(list, key = { it }) {
              Text("Item $it", Modifier.animateItemPlacement())
          }
      }
    
    • LazyListScope.item veya LazyListScope.items aracılığıyla bir tuş sağladığınızda bu değiştirici, animasyonların yeniden sıralanmasını sağlar. Öğelerin yeniden sıralanması dışında, düzenleme veya hizalama değişiklikleri gibi etkinliklerden kaynaklanan diğer tüm konum değişiklikleri de animasyonlu olarak gösterilir. (I59e7b, b/150812265)

Sürüm 1.1.0-beta02

3 Kasım 2021

androidx.compose.foundation:foundation:1.1.0-beta02 ve androidx.compose.foundation:foundation-layout:1.1.0-beta02 serbest bırakıldı. Sürüm 1.1.0-beta02 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Dalgalar ve diğer göstergeler artık kapalı bir etkinlik için her zaman gecikmeli olarak değil, yalnızca bir Modifier.scrollable() kapsayıcısının içinde olduklarında gecikecek. (Ibefe0, b/203141462)
  • Ebeveynlerin ekranı kaydırarak öğeyi görünüme getirmeleri için istek göndermenize olanak tanıyan deneysel BringIntoView API'si eklendi (Ib918d, b/195353459)

Harici Katkı

  • Modifier.pointerHoverIcon eklendi (I95f01)

Sürüm 1.1.0-beta01

27 Ekim 2021

androidx.compose.foundation:foundation:1.1.0-beta01 ve androidx.compose.foundation:foundation-layout:1.1.0-beta01 serbest bırakıldı. Sürüm 1.1.0-beta01 bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • Ebeveynlerin ekranı kaydırarak öğeyi görünüme getirmeleri için istek göndermenize olanak tanıyan deneysel BringIntoView API'si eklendi (Ib918d, b/195353459)

Sürüm 1.1.0-alpha06

13 Ekim 2021

androidx.compose.foundation:foundation:1.1.0-alpha06 ve androidx.compose.foundation:foundation-layout:1.1.0-alpha06 serbest bırakıldı. 1.1.0-alpha06 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Düzen için, verimlilik artırılarak çocuksuz bir aşırı yükleme eklendi (Ib0d9a)
  • SemanticsNodeInteraction.performSemanticsAction, artık işlevin çağrıldığı SemanticsNodeInteraction değerini döndürüyor. (I9e5db)
  • Kaydırılabilir bir kapsayıcıyı, belirtilen eşleştiriciyle eşleşen içeriğe kaydıran performScrollToNode(matcher: SemanticsMatcher) eklendi. (Ic1cb8)

Sürüm 1.1.0-alpha05

29 Eylül 2021

androidx.compose.foundation:foundation:1.1.0-alpha05 ve androidx.compose.foundation:foundation-layout:1.1.0-alpha05 serbest bırakıldı. 1.1.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

Hata Düzeltmeleri

  • Kaydırmayla ilgili kaydırılabilir öğeler (hem geç hem de geç olmayan) için sabit erişilebilirlik desteği (I6cdb0)

Sürüm 1.1.0-alpha04

15 Eylül 2021

androidx.compose.foundation:foundation:1.1.0-alpha04 ve androidx.compose.foundation:foundation-layout:1.1.0-alpha04 serbest bırakıldı. 1.1.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • performGesture ve GestureScope kullanımdan kaldırıldı. Bunların yerini performTouchInput ve TouchInjectionScope aldı. (Ia5f3f, b/190493367)
  • Geliştiricilerin dokunma hedeflerinin, minimum erişilebilirlik değerlerini karşılayabilmesi için SemanticsNode bölümüne minimum dokunma hedefi boyutunu içeren touchBoundsInRoot eklendi. (I2e14b, b/197751214)

Hata Düzeltmeleri

Sürüm 1.1.0-alpha03

1 Eylül 2021

androidx.compose.foundation:foundation:1.1.0-alpha03 ve androidx.compose.foundation:foundation-layout:1.1.0-alpha03 serbest bırakıldı. 1.1.0-alpha03 sürümü bu kaydetmeleri içerir.

Yeni Özellikler

  • Oluşturma 1.1.0-alpha03, Kotlin 1.5.30 öğesine bağlı olacak şekilde güncellendi. (I74545)

API Değişiklikleri

  • Kaydırma için parlama efekti eklendi. Fazla kaydırmadan görsel efektin yapılandırılmasına olanak tanımak için yeni deneysel Over ScrollConfiguration API eklendi. Fazla kaydırma efektini devre dışı bırakmak için null değeri sağlayın. (I0c304, b/171682480)
  • AwaitPointerEventScope artık withYasaklama() ve withSFTPOrNull() işlevini içeriyor (I507f0, b/179239764, b/182397793)
  • Kısaltılmış sınırları almak için test yöntemi eklendi. (I6b28e)
  • Erişilebilirliği sağlamak amacıyla, anlambilim ve işaretçi girişinde kullanılması için ViewConfiguration'a minimum dokunma hedefi boyutu eklendi. (Ie861c)

Sürüm 1.1.0-alpha02

18 Ağustos 2021

androidx.compose.foundation:foundation:1.1.0-alpha02 ve androidx.compose.foundation:foundation-layout:1.1.0-alpha02 serbest bırakıldı. 1.1.0-alpha02 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Modifier.size ve requiredSize (I3fc7e, b/194219828) için DpSize sürümleri eklendi

Sürüm 1.1.0-alpha01

4 Ağustos 2021

androidx.compose.foundation:foundation:1.1.0-alpha01 ve androidx.compose.foundation:foundation-layout:1.1.0-alpha01 serbest bırakıldı. Sürüm 1.1.0-alpha01 bu kaydetmeleri içerir.

API Değişiklikleri

  • İsteğe bağlıFilter Quality parametresini kullanmak için kaynak ve hedef akışları tüketen DrawScope#drawImage yöntemi güncellendi. Bu, piksel tabanlı resimler için ölçeklendirildiğinde pikselleştirilmek üzere tasarlanmış piksel sanatı için faydalıdır. Biteş
  • TextField, artık geri düğmesine basıldığında seçimi temizliyor. Bu da Android EditText davranışıyla eşleşiyor. (I3ca16, b/174173645)
  • İmleç tutma yeri ekleyin. (I07a82, b/173016579)

Hata Düzeltmeleri

  • Tembel listeler ve normal kaydırma bileşenleri için anlamsal işlemler aracılığıyla kaydırma işlemi artık animasyonlu (Id9066, b/190742024)

Harici Katkı

  • LazyVerticalGrid artık hem yatay hem de dikey düzenleme parametrelerini kabul ediyor. (If9c92)

Sürüm 1.0

Sürüm 1.0.5

3 Kasım 2021

androidx.compose.foundation:foundation:1.0.5 ve androidx.compose.foundation:foundation-layout:1.0.5 serbest bırakıldı. 1.0.5 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • TüretilmişStateOf örneklerindeki kilitlenme izleme sorunu düzeltildi. (aosp/1792247)

Sürüm 1.0.4

13 Ekim 2021

androidx.compose.foundation:foundation:1.0.4 ve androidx.compose.foundation:foundation-layout:1.0.4 serbest bırakıldı. 1.0.4 sürümü bu kaydetmeleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin'e (1.5.31) bağlı olarak güncellendi

Sürüm 1.0.3

29 Eylül 2021

androidx.compose.foundation:foundation:1.0.3 ve androidx.compose.foundation:foundation-layout:1.0.3 serbest bırakıldı. 1.0.3 sürümü bu kaydetmeleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin'e (1.5.30) bağlı olarak güncellendi

Sürüm 1.0.2

1 Eylül 2021

androidx.compose.foundation:foundation:1.0.2 ve androidx.compose.foundation:foundation-layout:1.0.2 serbest bırakıldı. 1.0.2 sürümü bu kaydetmeleri içerir.

Compose 1.0.2 sürümünü desteklemek üzere güncellendi. Oluşturulan 1.0.2, Kotlin 1.5.21 ile hâlâ uyumlu.

Sürüm 1.0.1

4 Ağustos 2021

androidx.compose.foundation:foundation:1.0.1 ve androidx.compose.foundation:foundation-layout:1.0.1 serbest bırakıldı. Sürüm 1.0.1 bu kaydetmeleri içerir.

Bağımlılık Güncellemeleri

  • Kotlin 1.5.21 kaynağına bağlı olarak güncellendi.

Sürüm 1.0.0

28 Temmuz 2021

androidx.compose.foundation:foundation:1.0.0 ve androidx.compose.foundation:foundation-layout:1.0.0 serbest bırakıldı. 1.0.0 sürümü bu kaydetmeleri içerir.

1.0.0'ın temel özellikleri

Bu, Compose'un ilk kararlı sürümüdür. Daha fazla bilgi için lütfen resmi Compose Sürüm bloguna göz atın!

Bilinen Sorunlar

  • Android Studio Bumblebee Canary 4 veya AGP 7.1.0-alpha04/7.1.0-alpha05 kullanıyorsanız şu kilitlenmeyle karşılaşabilirsiniz:

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

    Sorunu düzeltmek için build.gradle dosyanızda minSdkVersion değerini geçici olarak 24'ün üzerine çıkarın. Bu sorun, Android Studio Bumblebee ve AGP'nin 7.1 sonraki sürümünde düzeltilecektir. (b/194289155)

Sürüm 1.0.0-rc02

14 Temmuz 2021

androidx.compose.foundation:foundation:1.0.0-rc02 ve androidx.compose.foundation:foundation-layout:1.0.0-rc02 serbest bırakıldı. Sürüm 1.0.0-rc02 bu kaydetmeleri içerir.

  • Sabit boyutlarla tanımlanan yollardaki sorunları gidermek amacıyla genel şekiller için kenarlık oluşturma güncellendi. (aosp/1748871, b/191817116)

Sürüm 1.0.0-rc01

1 Temmuz 2021

androidx.compose.foundation:foundation:1.0.0-rc01 ve androidx.compose.foundation:foundation-layout:1.0.0-rc01 serbest bırakıldı. Sürüm 1.0.0-rc01 bu kaydetmeleri içerir.

API Değişiklikleri

  • Tuval artık erişilebilirlik için contentDescription parametresini desteklemektedir. (Ib547c)

Hata Düzeltmeleri

  • Devre dışı bırakılan Düğme, Kart, Onay kutuları ve genel olarak Modifier.clickable(enabled=false), tıklamaların üst öğeye gitmesini engeller. (Ic2c3b, b/183908811)

Sürüm 1.0.0-beta09

16 Haziran 2021

androidx.compose.foundation:foundation:1.0.0-beta09 ve androidx.compose.foundation:foundation-layout:1.0.0-beta09 serbest bırakıldı. Sürüm 1.0.0-beta09 bu kaydetmeleri içerir.

API Değişiklikleri

  • ManualFrameClock kaldırıldı. Animasyonları kontrol etmeniz gerekiyorsa bunun yerine composeTestRule.mainClock kullanın. (I3c3e8, b/189951065)
  • enum Rolünü ve LiveRegionMode'u, özel oluşturucu (Id1890) ile satır içi sınıflarla değiştirme
  • Klavye Büyük Harf Kullanımı satır içi sınıfa dönüştürülür. (Id5a1c)
  • TextOverflow, satır içi sınıf olarak değiştirildi. (I433af)

Hata Düzeltmeleri

  • Artık LazyColumn/Row öğeleri için benzersiz anahtarları belirttiğinizde, kaydırma konumu anahtara göre korunur. Diğer bir deyişle, geçerli görünür öğeden önce öğe ekler/kaldırırsanız, belirtilen anahtara sahip öğe ilk görünür öğe olarak tutulur. (Id263f, b/184257857)
  • Anahtar sabit değerleri şimdilik @DeneyselComposeUiApi'dir. Kodu kullanmak, sabitlemeden önce özel sabit değerleri bildirebilir. (Ia5d48)
  • Beklemek veya sessizliği sağlamak için alternatif bir mekanizma yüklemek amacıyla çerçeveleri test ederek kullanılabilecek Idlingstratejisi AndroidComposeTestRule'a eklendi. Kendi stratejinizi yüklemek için testiniz başlamadan önce AndroidComposeTestRule.setIdlingStrategyFactory() kullanın. (I608fa)

Eklenen Profil Kuralları

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

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.temel
  • androidx.compose.foundation-layout
  • androidx.compose.malzeme
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.grafikler
  • androidx.compose.ui.metin
  • androidx.compose.ui.metin
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

Profil kuralları nedir?

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

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

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

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

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

  • <METHOD_SIGNATURE>, yöntemin imzasıdır ve yöntemin adını, parametre türlerini ve döndürme türlerini içerir. Örneğin, LayoutNode sitesindeki fun isPlaced(): Boolean yöntemi isPlaced()Z imzasına sahiptir.

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

Kurallar ne işe yarar?

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

  • S işaretine sahip bir yöntem, bu yöntemin başlangıçta çağrılan bir yöntem olduğunu ve derleme ve başlatma sırasında yöntemi yorumlama maliyetinden kaçınmak için önceden derlenmesi gerektiğini belirtir.

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

  • Bu dosyada bulunan bir sınıf, başlangıç sırasında kullanıldığını ve sınıf yükleme maliyetinden kaçınmak için yığına önceden ayrılması gerektiğini belirtir.

Nasıl çalışır?

  • Kitaplıklar, AAR yapılarında paketlenecek bu kuralları tanımlayabilir. Bu yapıları içeren bir uygulama oluşturulduğunda, bu kurallar birleştirilir ve birleştirilmiş kurallar, uygulamaya özel kompakt bir ikili ART profili oluşturmak için kullanılır. Daha sonra ART, uygulamanın performansını iyileştirmek için uygulamanın belirli bir alt kümesini önceden derlemek amacıyla, özellikle ilk çalıştırmada uygulamanın performansını önceden derleyebilmek için bu profilden yararlanabilir. Bunun, hata ayıklaması yapılabilecek uygulamalar üzerinde herhangi bir etkisi olmayacağını unutmayın.

Sürüm 1.0.0-beta08

2 Haziran 2021

androidx.compose.foundation:foundation:1.0.0-beta08 ve androidx.compose.foundation:foundation-layout:1.0.0-beta08 serbest bırakıldı. Sürüm 1.0.0-beta08 bu kaydetmeleri içerir.

API Değişiklikleri

  • Nested ScrollSource sıralaması satır içi bir sınıfla değiştirildi. (Ie321b, b/187055290)
  • Yeni enum değerleri eklendiğinde ifadelerle ilgili olası sorunları önlemek için enum kullanımları satır içi sınıflarda yeniden düzenlendi. (I2b5eb)
  • Kaydırma / sürükleme sırasında dalga gösterilmesini önlemek için tıklanabilir / açılabilir öğe için bir dokunma zaman aşımı ekler (Ia2704, b/168524931)
  • ContentDescription ve Metin anlamları özellikleri artık tek değerler değil, listeler. Bu sayede, birleştirme yerine oldukları gibi birleştirilebilirler. Ayrıca bu değişikliklerden yararlanmaları için daha iyi test API'leri sağlandı (Ica6bf, b/184825850)
  • Modifier.focusModifier() desteği sonlandırıldı ve Modifier.focusTarget() (I6c860) ile değiştirildi
  • KlavyeType sıralaması satır içi bir sınıfla değiştirildi. (I73045, b/187055290)
  • FocusState sıralaması FocusState arayüzüyle değiştirildi (Iccc1a, b/187055290)
  • ImeAction sıralaması satır içi bir sınıfla değiştirilir. (I18be5, b/187055290)
  • AnnotatedString.withAnnotation işlevleri artık ExperimentalComposeApi yerine ExperimentalTextApi. (I0cd0a)
    • TextUnitType içeren TextUnit oluşturucusu, ExperimentalComposeApi yerine artık ExperimentalTextApi oldu.
  • PaddingValues artık @Immutable yerine @Stable (I88c50)

Hata Düzeltmeleri

  • Boş olmayan metinde boş alana uzun basma kilitlenmeleri düzeltildi. (I33ab5, b/187437299)
  • SelectAll (I495d9, b/185919613) sonrasında Araç Çubuğunu Göster
  • Alt öğelerini çapraz eksende kırpan kaydırılabilir kapsayıcılarda düzeltme Kart öğeleri içeren bir LazyRow'unuz varsa bu işlem kolayca yeniden oluşturulabilir. Artık gölge kırpılmayacak. (Icb635, b/186318448)
  • Değiştirici.combinedClickable (I2298c, b / 186223077) kullanılırken uzun tıklamalarda dalgaların/diğer göstergelerin zaman zaman takılmasına neden olan sorun düzeltildi
  • Şimdi detectDragGesures, detectVerticalGestures ve detectHorizontalGestures konum değişikliğini otomatik olarak kullanacak, onDrag geri çağırmalarında change.consumePositionChange çağrılmaya gerek yok (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned(), tüm değiştiriciler uygulandıktan sonra düzen koordinatlarını değil, değiştirici zincirinde bu değiştiricinin koordinatlarını raporlayacak şekilde değiştirildi. Bu, artık değiştiricilerin sırasının, hangi koordinatların raporlanacağını etkilediği anlamına gelir. (Ieb67d, b/177926591)

Sürüm 1.0.0-beta07

18 Mayıs 2021

androidx.compose.foundation:foundation:1.0.0-beta07 ve androidx.compose.foundation:foundation-layout:1.0.0-beta07 serbest bırakıldı. Sürüm 1.0.0-beta07 bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyColumn/Row için bir sonraki görünür öğe önceden getirme mantığı kullanıma sunuldu (I8a4bc, b/184940225)
  • Klip seçimi için tutma yeri eklendi (Iff80d, b/183408447)

Hata Düzeltmeleri

  • LazyColumn/Row, önceden kaydırılmış olsalar bile artık önceden görünür olan en fazla 2 öğeyi etkin (imha edilmez) tutacak. Bu, kaydırma performansını artıran yeni bir öğe oluşturmamız gerektiğinde bileşenin etkin alt besteleri yeniden kullanmasına olanak tanır. (Ie5555)
  • paintArka planı kaldırın. (I38660)
  • DrawScope'u kullanarak seçim arka planını çizin. (I73c61, b/186674472)
  • Düzen ağırlıklı alt öğelerde aralıklı düzenlemeleri kullanan Satır/Sütunu etkileyen beta06 regresyonu düzeltildi. (Ifaf8c, b/187326588)

Sürüm 1.0.0-beta06

5 Mayıs 2021

androidx.compose.foundation:foundation:1.0.0-beta06 ve androidx.compose.foundation:foundation-layout:1.0.0-beta06 serbest bırakıldı. Sürüm 1.0.0-beta06 bu kaydetmeleri içerir.

API Değişiklikleri

  • Gezinme Hareketiyle Çakışmayı Çözme (I1145e)
  • Erişilebilirlik hizmetleri için koleksiyonu ve öğelerini işaretlemeye olanak tanıyan CollectionInfo ve CollectionItemInfo erişilebilirlik API'leri eklendi (Id54ef, b/180479017)
  • Dizine eklenmiş öğeler içeren listeyi belirli bir dizine sahip öğeye kaydırmak için SemanticsActions.ScrollToIndex ve anahtarlı öğeler içeren listedeki bir öğenin dizinini almak için SemanticsProperties.IndexForKey eklendi. Her iki işlem de LazyList tarafından uygulanır.
    • Bir listeyi belirtilen dizine kaydıran SemanticsNodeInteraction.performScrollToIndex ve listeyi belirtilen anahtara sahip öğeye kaydıran SemanticsNodeInteraction.performScrollToKey eklendi. (I4fe63, b/178483889, b/161584524)
  • AnnotatedString, TextFieldValue.Saver desteğine kaydeder. AnnotatedString.Builder'a addTtsDescription ve withNotlar yardımcı işlevleri eklendi (I8cbdc, b/178446304)
  • Varsayılan 0.dp parametre değerleri PaddingValues(horizontal, vertical) öğesine eklendi (I05571, b/181336792)

Hata Düzeltmeleri

  • weight(fill = false) özelliğine sahip Satır ve Sütun alt öğeleri artık üst öğeyi mevcut ana eksen alanının tamamını doldurmuyor. (Ied94d, b/186012444, b/184355105)

Sürüm 1.0.0-beta05

21 Nisan 2021

androidx.compose.foundation:foundation:1.0.0-beta05 ve androidx.compose.foundation:foundation-layout:1.0.0-beta05 serbest bırakıldı. Sürüm 1.0.0-beta05 bu kaydetmeleri içerir.

API Değişiklikleri

  • FlingBehavior arayüzü artık @Kararlı olarak işaretlendi. Tüm uygulamalar @Stable sözleşmesine uygun olmalıdır. (I93354, b/184830577)

Hata Düzeltmeleri

  • ACTION_SCROLL_FORWARD, ACTION_SCROLL_BACKWARD, accessibilityActionScrollLeft, accessibilityActionScrollUp, accessibilityActionScrollRight ve accessibilityActionScrollDown erişilebilirlik kaydırma işlemi düzeltildi. Kaydırılabilir öğenin sonuna kadar kaydırmak yerine, verilen yönde bir ekran kaydırılır. (Ieccb0)
  • ui-test-manifest ve ui-tooling-data'daki AndroidManifest dosyaları artık Android 12 (I6f9de, b/184718994) ile uyumludur.

Sürüm 1.0.0-beta04

7 Nisan 2021

androidx.compose.foundation:foundation:1.0.0-beta04 ve androidx.compose.foundation:foundation-layout:1.0.0-beta04 serbest bırakıldı. Sürüm 1.0.0-beta04 bu kaydetmeleri içerir.

API Değişiklikleri

  • hide()show()
    • LocalYazılımKlavyeController için CompositionLocal arayüzünün tam sürümünü sağlayın ve bu arayüzün ayarlanmasını sağlayın (özellikle testlerde yararlıdır) (I579a6)
  • TextOverflow.Visible kullanıma sunuldu. (Ic8f89)
  • Herkese açık RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope örnekleri kaldırıldı. (I4e83e, b/181869067)

Hata Düzeltmeleri

  • Hızlı kaydırmadan sonra kenarlarda bulunan LazyColumn/LazyRow öğelerinin yanlış yerleştirilmesi sorunu düzeltildi (Ie4d13, b/183877420)
  • Bu değişiklikten önce, yerel composable işlevler parametrelerine göre atlanabilirdi. Bu değişiklikten sonra hiçbir yerel composable işlevi atlanmayacaktır. Bu değişiklik, yerel işlevlerin üst öğeden parametreleri yakalaması yaygın ve beklenen bir uygulamadır ve bunların atlanması hataya neden olan yaygın bir kaynaktır.

    Özetlemek gerekirse aşağıdaki örneği düşünün:

    @Composable fun Counter(count: Int, onCountChange: (Int) -> Unit) {
      @Composable fun ShowCount() { Text("Count: $count") }
      ShowCount()
      Button( onCountChange(count + 1) }) {
        Text("Increment")
      }
    }
    

    Bu değişiklikten önce, ShowCount composable işlevi, count parametresi güncellendikten sonra bile her zaman atlıyordu. Bu durum artık geçerli değil. (I5648a)

Sürüm 1.0.0-beta03

24 Mart 2021

androidx.compose.foundation:foundation:1.0.0-beta03 ve androidx.compose.foundation:foundation-layout:1.0.0-beta03 serbest bırakıldı. Sürüm 1.0.0-beta03 bu kaydetmeleri içerir.

API Değişiklikleri

  • DefaultMonotonicFrameClock desteği sonlandırıldı. MonotonicFrameClock olmadan withFrameNanos veya Recomposer.runRecomposeAndApplyChanges çağrılırsa IllegalStateException atılacak. (I4eb0d)

Hata Düzeltmeleri

  • FlingBehavior.performFling() artık hız 0 olduğunda bile çağrılıyor (I0b6e5, b/181237123)

Sürüm 1.0.0-beta02

10 Mart 2021

androidx.compose.foundation:foundation:1.0.0-beta02 ve androidx.compose.foundation:foundation-layout:1.0.0-beta02 serbest bırakıldı. Sürüm 1.0.0-beta02 bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyColumn ölçüm mantığına birden çok küçük optimizasyon eklendi (Ic6889)
  • TextField'deki önceki SoftwareKlavyeController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController bileşimi yerel API'si eklendi. (I5951e, b/168778053)
  • TextField'deki önceki SoftwareKlavyeController arayüzünün yerini alacak yeni LocalSoftwareKeyboardController bileşimi yerel API'si eklendi. (I84472, b/168778053)

Hata Düzeltmeleri

  • Deneysel API'lerin herkese açık kullanımıyla ilgili kısıtlamaları zorunlu kılın (I6aa29, b/174531520)

Sürüm 1.0.0-beta01

24 Şubat 2021

androidx.compose.foundation:foundation:1.0.0-beta01 ve androidx.compose.foundation:foundation-layout:1.0.0-beta01 serbest bırakıldı. Sürüm 1.0.0-beta01 bu kaydetmeleri içerir.

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

API Değişiklikleri

  • detectDragGestures numaralı telefona başlangıçta geri çağırma özelliği eklendi (I67269, b/179995594)
  • Yerleşik öğelere göre boyutlandırma değiştiricileri artık deneysel değildir. (I15744)
  • Kaldırılan dp onayları (I798d2)
  • Tüm metin alanlarından yazılım klavyesi geri çağırması kaldırıldı ve kısa süre içinde yeni bir API ile değiştirilecek. (Iae869, b/168778053)
  • MeasureBlocks, MeasurePolicy olarak yeniden adlandırılarak eğlenceli bir arayüze dönüştü. Düzen API'leri, MeasurePolicy kullanılacak şekilde güncellendi / basitleştirilmiş. (Icab48, b/167662468, b/156751158)
  • InteractionState, [Mutable]InteractionSource ile değiştirildi
    • Arayüzler, Etkileşim etkinliklerinin yayınlanmasından / toplamasından sorumludur.
    • interactionState = remember { InteractionState() } öğesini Button ve Modifier.clickable() gibi bileşenlere iletmek yerine interactionSource = remember { MutableInteractionSource() } kullanın.
    • Interaction.Pressed in interactionState yerine, InteractiveSource.collectIs PressedAsState() gibi uzantı işlevlerini kullanmanız gerekir.
    • Karmaşık kullanım alanları için EngagementSource.interactions akışını gözlemleyerek Etkileşimlerin akışını gözlemleyebilirsiniz. Daha fazla bilgi için EngagementSource belgelerine ve örneklerine bakın.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Kullanımdan kaldırılan LayoutKoordinatlar yöntemleri kaldırıldı, locationInParent ve boundsInParent özelliği yerine işlevi kullanın (I580ed, b/169874631, b/175142755)
  • CoreTextField gibi alt düzey metin bileşenlerinden giriş oturumları için yeni TextInputSession oluşturuldu. (I8817f, b/177662148)
  • Placeable artık, alt düzenin gerçekte ölçüldüğü boyutu temsil edenmeasureSize değerini gösterir. Bu boyut, ölçüm kısıtlamalarına uymayabilir. (Ib2729, b/172560206, b/172338608)
  • Erişilebilirlik amacıyla Sekme veya RadioButton koleksiyonunu işaretlemeye olanak tanıyan seçim Grubu değiştiricisi ekleyin (Ie5c29)
  • LazyListState.animate ScrollToItem Ekle

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

  • ScrollableState.smoothKay(), animasyon

  • Değiştirici.zoomable, Değiştirici.dönüştürülebilirimin yerini aldı. smoothPanBy, smoothRotationBy işlev olarak eklendi. (Ifc32b, b/175294473)

  • compositionLocalOf ve staticCompositionLocalOf için defaultFactory artık isteğe bağlı yerine zorunludur.

    Bu değişiklikler, varsayılan fabrikanın sağlanmadığı, boş değer atanamayan türler için olası bir tür hatasını ortadan kaldırır. Daha önce bu, null olmayan bir tür için boş bir referans sağlıyordu.

    Boş değer atanabilen türler için varsayılan fabrika olarak { null } sağlamayı deneyin.

    Makul bir varsayılan sağlanmadığı sürece, null olmayan türlere sahip yerellerin kullanılmasını önerilmez. Makul bir varsayılan yoksa defaultFactory lambdası bir istisna bildirmelidir. Ancak bir istisna atmak, yerel tüketicilerin tür sistemi tarafından zorunlu kılınmayan dolaylı bir bağımlılığa sahip olacağı anlamına gelir. (Ifbd2a)

  • Indication#createIndication() parametresi Indication#rememberUpdatedIndication(InteractionState) olarak değiştirildi ve InteractionState parametresi IndicationInstance#drawIndication()'den kaldırıldı. IndicationInstance yalnızca görsel efektleri çizmekten ve EngagementState değişikliklerine yanıt olarak animasyonları / yazma durumunu başlatmamaktan sorumlu olmalıdır. Bu animasyonlar ve durum yazma işlemleri, bunun yerine rememberUpdatedIndication() içinde gerçekleştirilmelidir. Modifier.indication tablosundaki indication parametresi de gerekli bir parametre olarak değiştirildi. (Ic1764, b/152525426)

  • Metin işlemleri artık odağı otomatik olarak kontrol ediyor (I13777, b/179648629)

  • Kaldırılan runBlockingWithManualClock (I15cdc, b/179664814)

  • Modifier.vertical Scroll()/Yatay Kaydırma() işlevinde kaydırma konumu artık Ints ile temsil ediliyor (I81298)

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

  • FlingConfig, FlingBehavior olarak yeniden adlandırıldı. Artık önceden tanımlanmış Decay'ler yerine askıya alma animasyonunun özelleştirilmesine olanak tanıyor. (I02b86, b/175294473)

  • Boyut değiştiricileri yeniden adlandırıldı. Değiştirici.genişlik/yükseklik/boyut, requiredWidth/requiredHeight/requiredSize olarak yeniden adlandırıldı. Değiştirici.tercihWidth/PreferenceHeight/PreferenceSize, genişlik/yükseklik/boyut olarak yeniden adlandırıldı. (I5b414)

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

  • Değiştirici.tapmotionFilter kaldırıldı. Bunun yerine Modifier.pointerInput { detectTapGestures(...) } politikasını kullanın. (I266ed, b/175294473)

  • İşaretçi giriş sisteminden kısmi tüketim kaldırıldı. Kısmi tüketimi koordine etmek için önerilen yöntem Modifier.nested Scroll'dur. (Ie9c9b)

  • Yön, temel paketine taşındı. VelocirtTracker, ui.gesture'dan ui.input.pointer'a taşındı. (Iff4a8, b/175294473)

  • AnimationClockObservable ve alt sınıflar kaldırıldı. Animasyonlu Kayan öğe kaldırıldı. (Icde52, b/177457083)

  • drawerState.open() vedrawerState.close(), artık işlevleri askıya alıyor. Çağrı yapmak istediğiniz bestenin kapsamını almak için leadCoroutineScope() işlevini kullanın (I16f60, b/175294473)

  • Sağlayıcılar, CompositionLocalProvider olarak yeniden adlandırıldı

    • Beste oluşturucu artık anahtar parametreleri kabul etmiyor ve kullanımdan kaldırıldı.
    • currentCompositeKeyHash, composable üst seviye bir işlev yerine derlenebilir üst düzey bir mülke dönüştürüldü.
    • CompositionData ve CompositionGroup, androidx.compose.runtime.tooling ad alanına taşındı
    • ComposableLambda, somut bir sınıf yerine bir arayüz haline getirildi ve artık tür parametrelerine sahip değil.
    • ComposableLambdaN, somut bir sınıf yerine bir arayüz haline getirildi ve artık tür parametrelerine sahip değil.
    • SnapshotFlow işlevi, androidx.compose.runtime ad alanına taşındı
    • SnapshotMutationPolicy'nin birleştirme yöntemi artık deneysel değil
    • @TestOnly üst düzey clearRoots işlevi kaldırıldı. Artık gerekli değildir.
    • keySourceInfoOf ve resetSourceInfo işlevleri kaldırıldı. Bunlar artık gerekli değildir.
    • Composer.collectKeySourceInfo bilgileri kaldırıldı. Artık gerekli değildir.
    • isJoinedKey,joinKeyLeft vejoinKeyRight yöntemleri kaldırıldı. Bunlar artık gerekli değildir.
    • Çeşitli üst düzey API'ler taşındı ve farklı dosyalara yeniden düzenlendi. Bu, Kotlin'in dosya sınıfı semantiği nedeniyle ikili program uyumluluğunu bozar ancak kaynak uyumluluğunu bozmaz. Bu nedenle çoğu kullanıcı için sorun olmayacaktır.
    • (I99b7d, b/177245490)
  • Değiştirici.scrollable yeniden düzenlendi. Artık ScrollableController sınıfının yerine Kaydırılabilir arayüz kullanılıyor (I4f5a5, b/174485541, b/175294473)

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

  • Yerleşik boyutlara yönelik gerekli boyutlandırmalar için requiredWidth(IntrinsicSize) ve requiredHeight(IntrinsicSize) değiştiricileri eklendi. (I0a6b4)

  • Desteği sonlandırılmış emptyContent() kaldırıldı. Bunun yerine {} politikasını kullanın. (Idb33f, b/179432510)

  • Desteği sonlandırılan bazı API'ler silindi (Ice5da, b/178633932)

Hata Düzeltmeleri

  • TextField'deki önceki SoftwareKlavyeController arayüzünün yerini alacak yeni LocalYazılımKlavyeController bileşimi yerel API'si eklendi. (I658b6, b/168778053)

Sürüm 1.0.0-alpha12

10 Şubat 2021

androidx.compose.foundation:foundation:1.0.0-alpha12 ve androidx.compose.foundation:foundation-layout:1.0.0-alpha12 serbest bırakıldı. 1.0.0-alpha12 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Modifier.pointerInput, artık işaretçi girişi algılama eş anlamlısının yeni bağımlılıklar için ne zaman yeniden başlatılması gerektiğini belirtmek için hatırlama tuşlarının kullanılmasını gerektiriyor. (I849cd)
  • Güncelleme testi: hasText(), metin alanında (Iab803) hem giriş hem de etiket/hint/yer tutucu metinleri kontrol eder.
  • PaddingValues.Mutlak eklendi ve PaddingValues kabul eden API'lerde kullanılabilir. (Ia5f30)
  • onImeActionPerformed desteği sonlandırıldı. Bunun yerine Klavye Eylemlerini kullanın (If0bbd, b/179071523)
  • Adlandırma kurallarını ImageBitmap ve ImageVector ile daha iyi eşleştirmek amacıyla ImagePainter, paralel VectorPainter olarak BitmapPainter olarak yeniden adlandırıldı. (Iba381, b/174565889)
  • Artık bağımsız değişken olarak alt dize bulunan daha iyi alt dize test API'leri (Icbe78)
  • Sonsuz animasyonlara uygulanacak bir InfiniteAnimationPolicy eş anlamlı bağlam öğesi kullanıma sunuldu. ComposeTestRule ile testlerin çalıştırıldığı durumlar dışında varsayılan olarak hiçbir politika yüklenmez. (I50ec4, b/151940543)
  • Animatable.snapTo ve Animatable.stop, askıya alma işlevleri olarak değiştirildi (If4288)
  • ComponentActivity.setContent, androidx.activity:activity-compose modülündeki androidx.activity.compose.setContent konumuna taşındı. (Icf416)
  • Yıkım ve Copy() yöntemleri, nadiren kullanıldıkları bazı sınıflardan kaldırılmıştır. (I26702, b/178659281)
  • LazyColumn/LazyRow için özel anahtar desteği eklendi. Bu sayede, öğelerin sıralanması sürecini daha akıllıca ele alabiliriz. Dolayısıyla, {} blokta hatırladığınız durum, öğeleri yeniden sıraladığınızda veya öğeyi ortadan kaldırdığınızda öğeyle birlikte hareket eder.

    LazyColumn {
        items(users, key = { user -> user.id }) { ... }
    }
    
  • Gösterge#createInstance, @Composable olarak değiştirildi ve LocalIndication, () -> Göstergesi değil, bir Gösterge içerecek şekilde değiştirildi. (I5eeea, b/157150564)

  • Constraints.enforce, Constraints.constrain ile değiştirildi. (I8b8ea)

  • loadFontResource desteği sonlandırıldı. Bunun yerine fontResource öğesini kullanın. imageResource, loadImageResource, vectorResource ve loadVectorResource desteği kullanımdan kaldırılır. Bunun yerine PainterResource öğesini kullanın. (I6b809)

  • Performans nedeniyle, ScrollAxisRange semantiği artık doğrudan Kayma değerleri yerine Kayan Durumlar döndüren lambdalar almaktadır. (If4a35, b/178657186)

  • Erişilebilirlik için metin alanının düzenlenebilir giriş metnini işaretlemek üzere EditableText semantiğini ve anlamı kontrol etmek için ilgili test yöntemlerini ekledi (I8e07a)

  • Değiştirici.clickable'da artık çift ve uzun tıklama desteği yoktur. Bu işlevi elde etmek için Değiştirici.combinedClickable'ı kullanın. (Iafad1)

  • toIntPx(), roundToPx() olarak yeniden adlandırıldı. (I9b7e4, b/173502290)

  • IntBounds, IntRect olarak yeniden adlandırıldı ve API iyileştirildi. (I1f6ff)

  • Değiştirici.dragmotionFilter desteği sonlandırıldı. Bunun yerine Modifier.pointerInput { detectDragGestures (...)} politikasını kullanın. Alternatif olarak, bir eksendeki sürüklemeler için Değiştirici.draggable'ı kullanın (I0ba93, b/175294473)

  • Ambients, Ambient -> CompositionLocal adıyla eşleşecek şekilde yeniden adlandırıldı. Ambiyanslar eskiden AmbientFoo olarak adlandırılıyorken CompositionLocals artık LocalFoo olarak adlandırılıyor. (I2d55d)

  • Seçim, temele taşındı. (I7892b)

  • Daha önce state { 0 } composable'ı kaldırıp remember { mutableStateOf(0) } gibi kullanımları teşvik etme şeklimize benzer şekilde, savedInstanceState { 0 } composable'ı da kaldıracağız. Bunun yerine rememberSaveable { mutableStateOf(0) } kullanmanız gerekir. MutableState içinde kullanılan tür Paket'te depolanabiliyorsa dosya otomatik olarak kaydedilip geri yüklenir. Önceden bir özel koruyucu nesnesi iletiyorsanız şimdi stateSaver parametresine sahip yeni birhatırlanabilirlik türü aşırı yüklemesi kullanmanız gerekir. Kullanım şu şekilde görünür: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)

  • Erişilebilirlik için şifre anlamları eklendi (I231ce)

  • ProgressBarRangeInfo eklendi.Erişilebilirlik için belirsiz ilerleme çubuklarının işaretlenmemesi (I6fe05)

  • Animasyondaki oynatma süresi artık nanosaniye olarak ayarlanmamış (If776a)

  • @ComposableContract desteği sonlandırıldığı için yerine üç ek ek açıklama eklendi.

    @ComposableContract(restartable = false), @NonRestartableComposable oldu @ComposableContract(readonly = true), @ReadOnlyComposable oldu @ComposableContract(preventCapture = true), @DisallowComposableCalls oldu @ComposableContract(tracked = true) kaldırıldı. (I60a9d)

  • emptyContent() ve (@Composable () -> Unit).orEmpty() yardımcı programları, performans üzerinde artık olumlu bir etkisi veya değeri olmadığı için kullanımdan kaldırıldı (I0484d)

  • Recomposer'lar artık kapatılabilir. Kapalı yeniden derlemeciler, beste alt eş yordamları tamamlanana kadar yeniden düzenleme işlemine devam eder. Recomposer.shutDown, kapatmayla kontrast olarak iptal edilecek şekilde yeniden adlandırıldı. (Ib6d76)

  • LazyVerticalGrid ile ilgili API'ler deneysel olarak işaretlenmiş (Ia53e3, b/178519862)

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

  • RestorableStateHolder, SaveableStateHolder olarak yeniden adlandırıldı ve androidx.compose.runtime.saveable paketine taşındı. RestorableStateProvider adlı iç yöntem SaveableStateProvider olarak yeniden adlandırıldı. Herhangi bir öğeyi anahtar olarak geçirebilmeniz için genel tür kaldırıldı. Deneysel ek açıklama artık gerekli değil. (I0902e, b/174598702)

  • Tasarruf, listSaver(), MapSaver(), autoSaver, androidx.compose.runtime.savedinstancestate değerinden androidx.compose.runtime.saveable (I77fe6) değerine taşındı.

  • Yapı androidx:compose:runtime:runtime-saved-instance-state, androidx:compose:runtime:runtime-saveable (I6dcac) olarak yeniden adlandırıldı.

  • Kullanıcı arayüzü paketindeki uzun süredir desteği olmayan birçok API silinir. (I2f2dc)

  • create:runtime-dispatch yapısının desteği sonlandırıldı. MonotonicFrameClock, generate:runtime içinde, AndroidUiDispatcher ise oluşturucu:ui içinde bulunabilir. (Ib5c36)

  • RounderCornerShape, CutCornerShape ve CornerbasedShape parametreleri, şeklin rtl yönünde otomatik yansıtmasını desteklemek için soldan/sağdan başlangıç/bitiş olarak yeniden adlandırıldı. Otomatik yansıtmanın istenmediği durumlar için MutlakrounderCornerShape ve MutlakCutCornerShape kullanıma sunuldu. (I61040, b/152756983)

  • canDrag, Değiştirici.scrollable dosyasından kaldırıldı. (Id66e7, b/175294473)

  • Compose derleyici eklentisinin hedeflediği API, somut sınıf yerine arayüz kullanacak şekilde yeniden düzenlendi. Arayüz artık type parametresi kullanmıyor.

    Bu, kaynak kodu uyumluluğunu etkilememesi gereken dahili bir değişikliktir ancak ikili programları bozan bir değişikliktir. (I3b922, b/169406779)

  • Değiştirici.scaleHareketFiltresi kaldırıldı. Bunun yerine Değiştirici.zoomable kullanın. Alternatif olarak Modifier.pointerInput { detectMultitouchGestures { ... }} kullanın (Id5da1, b/175294473)

  • AnimasyonluDeğer/Kayan Öğe için destek sonlandırıldı. Lütfen bunun yerine Animatable'ı kullanın. (I71345, b/177457083)

    • Herkese açık API'den CoreText ve CoreTextField kaldırıldı
    • Desteği sonlandırılan SelectContainer aşırı yüklemesi kaldırıldı (I99c19)
  • Kullanımdan kaldırılan ve askıya alınmayan kaydırma işlevlerini kaldırın Son sürümdeki değişikliklerle devam ederken, askıya alınma durumu söz konusu olmayan kaydırma işlevleri artık tamamen kaldırıldı. Lütfen aynı ada sahip askıya alma işlevlerine dönüştürün. Eş yordam kapsam,rememberCoroutineScope() aracılığıyla edinilebilir. (I3d39c, b/178169563)

  • androidx.compose.foundation.layout.ConstraintLayout desteği, androidx.Restricttlayout.compose.ConstraintLayout sürümü kullanılarak kaldırıldı. androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 öğesine bir bağımlılık eklemeniz gerekir. (I87adc)

  • TapHareketFilter, doubleTapHareketFilter, long PressHareketFilter ve pressIndicaitonmotionFilter kullanımdan kaldırılmıştır. Bunun yerine Değiştirici.clickable veya Modifier.pointerInput değişkeni kullanın. (I6baf9, b/175294473)

  • Recomposer.current() kaldırıldı. [Abstract]ComposeView artık varsayılan olarak pencere için ViewTreeLifecycleOwner tarafından desteklenen, geç oluşturulan, pencere kapsamlı Recomposer'ları içerir. Ana makine yaşam döngüsü durdurulurken yeniden beste vewithFrameNanos tabanlı animasyon çizgileri duraklatılır. (I38e11)

  • Recomposer.RunRecomposers, süreçte devam eden beste durumunu gözlemlemek için artık global bir StateFlow olan salt okunur RecomposerInfo sunuyor. Bu API'yi, desteği sonlandırılan Recomposer.current() için tercih edin. (If8ebe)

Sürüm 1.0.0-alpha11

28 Ocak 2021

androidx.compose.foundation:foundation:1.0.0-alpha11 ve androidx.compose.foundation:foundation-layout:1.0.0-alpha11 serbest bırakıldı. Sürüm 1.0.0-alpha11 bu kaydetmeleri içerir.

API Değişiklikleri

  • Askıya alınmadan önce

    Artık kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmamış sürümlerini kullanımdan kaldırıyor ve/veya kaldırıyoruz. (A9 kez verilmiş)

  • Askıya alınmayan smooth ScrollBy seçeneğini kullanımdan kaldırın. Artık, kaydırmayı kontrol etmek için askıya alma işlevlerini kullanmanızı ve kaydırmanın bitmesini beklemenizi öneririz. Bu geçiş kapsamında, bu işlevlerin askıya alınmamış sürümlerini kullanımdan kaldırıyoruz. (I12880)

  • Resim ve Simge'ye içerik açıklaması parametresi eklendi. Erişilebilirlik hizmetlerine (I2ac4c) açıklama sağlamak için kullanılır

  • BasicTextField, "decorationBox" adlı yeni bir parametre aldı. Metin alanına simge, yer tutucu, etiket vb. süslemeler eklemenizi ve bunun isabet hedef alanını genişletmeyi sağlar. (I16996)

  • canDrag parametresi Değiştirici.draggable'dan kaldırıldı (Ic4bec, b/175294473)

  • FlingConfig'i kabul eden hareketlifloat.fling kaldırıldı. Lütfen bunun yerine askıda Animatable.animateDecay kullanın. (I4659b, b/177457083)

  • data class şu sınıflardan kaldırıldı:

    • Satır İçi Metin İçeriği
    • Yerel Ayar Listesi
    • (I605c7)
  • Artık bestenin dışında tıklanabilir, geçiş yapılabilir ve seçilebilir hale getirilebilir (I0a130, b/172938345, b/175294473).

  • ScrollableColumn/Row kullanımdan kaldırıldı. ScrollableColumn kullanımı, büyük bir kayan içeriğiniz olan LazyColumn ile karşılaştırıldığında daha az verimlidir, çünkü LazyColumn ile yalnızca görünür öğeleri oluşturabiliyoruz/ölçebiliyor/çizebiliyoruz. Kullanıcıların verimsiz bir şekilde ilerlemesini önlemek için ScrollableColumn ve ScrollableRow'u kullanımdan kaldırmaya ve bunların yerine LazyColumn ve LazyRow kullanımlarını teşvik etmeye karar verdik. Kullanıcılar hâlâ tembel davranışa ihtiyaç duymadıklarına karar vererek değiştiricileri doğrudan şu şekilde kullanabilirler: Column(Modifier.vertical Scroll(remember ScrollState())) (Ib976b, b/170468083)

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

  • Desteği sonlandırılan MutlakArrangement kaldırıldı. (Iffa96, b/177641870)

  • Gelen minimum kısıtlamaların Box'ın içeriğine iletilip iletilmeyeceğini belirtmek için generateMinConstraints parametresi Box'a eklendi. Varsayılan değer, false'tur. (I0125b, b/152613457)

Hata Düzeltmeleri

  • SideEffect ve DisposableEffect API'leri (If760e) yerini alarak onCommit, onDispose ve onActive desteği sonlandırılmıştır.
  • WithConstraints BoxWithConstraints olarak yeniden düzenlendi ve Foundation.layout öğesine taşındı. (I9420b, b/173387208)
  • Font/FontFamily/Typeface için fabrika işlevlerinde yapılan değişiklikler

    • Büyük harfle başlayan fabrika işlevleri eklendi
    • Küçük ilk harfler içeren eski fabrika işlevleri kullanımdan kaldırıldı
    • Yeni fabrika işlevleri, alt sınıfların yerine FontFamily
    • Alt sınıfların kurucuları gizlenmiştir, böylece bu sınıflar yalnızca fabrika fonksiyonları ile oluşturulabilir.
    • Font.asFontFamily, Font.toFontFamily olarak yeniden adlandırıldı
    • (I42aa7)
  • ComposeTestRule öğesini genişleten ve ComposeTestRule öğesinden kaldırılan setContent öğesini tanımlayan ComposeContentTestRule kullanıma sunuldu. ComposeTestRule döndüren ve sizin için bir Etkinlik başlatmayan createEmptyComposeRule() fabrika yöntemi eklendi. Bunu testiniz sırasında Etkinliğinizi başlatmak istediğinizde (ör. ActivityScenario.launch (I9d782, b/174472899) kullanarak) kullanın

  • animasyonluAsState artık animasyonluFooAsState. Burada Foo ise animasyon uygulanan değişkenin türüdür. Ör. float, Dp, Offset vb. (Ie7e25)

  • Yoğunluk artık Düzenleme arayüzleri için alıcı kapsamı oldu. (I18aad)

  • TextFieldValue, AnnotatedString'i kabul eder. Ancak bu yalnızca bir API değişikliğidir ve birden fazla stilde metin düzenleme henüz kullanıma sunulmamıştır.

    • initial, EditBuffer kurucu parametrelerinden kaldırıldı. (I326d5)
  • in Verify ve bestReference() yöntemi desteği sonlandırılarak, sırasıyla currentRecomposeScope ve chooseCompositionReference yerine kullanılmaya başlandı. (I583a8)

  • AnnotatedString, kotlin.CharSequence'dan farklı olacak şekilde değiştirildi. Bu nedenle uzunluk ve alt sıra, artık örnek işlevleri haline gelmiştir ve uzantı işlevleri kaldırılmıştır. (Iaf429)

  • Süre ve Çalışma Süresi, Uzun milisaniye olarak değiştirilir ve bu adım, işaretçi girişinin bu sınıflara olan bağımlılığını ortadan kaldırır. (Ia33b2, b/175142755, b/177420019)

  • CompositionLifecycleObserver'ın yerine CompositionLifecycleObserver desteği sonlandırılmıştır.

    RememberObserver, değiştirilmiş anlamlar ve yeniden adlandırılmış yöntemler ile CompositionLifecycleObserver öğesinin yerine geçer. Yeni API'ye geçiş, yalnızca bir kez hatırlanan nesneler için mekanik olarak yapılabilir. Bu nesneler, önerilen uygulamadır. Bununla birlikte, bir referans bir bestede birden fazla kez hatırlanırsa onEnter öğesinin yalnızca bir kez çağrıldığı her referans için onRemembered çağrılır. Nesne alt bileşimlerde kullanıldıysa onEnter birden fazla kez çağrıldı. Örneğin WithConstraints ve Scaffold, tek onEnter çağrısı garantisini güvenilmez hale getiriyor ve RememberObserver için kaldırıldı.

    RememberObserver, RememberObserver örneği remember öğesine iletilen geri çağırmadan döndürülürse ancak beste durumunda hatırlanmazsa çağrılan onAbandoned öğesini ekler ve bu nedenle onRemembered hiçbir zaman çağrılmaz. Bu durum, bir istisna nedeniyle beste tamamlanmadan sonlandırılırsa veya bestenin üretildiği durum artık güncel olmadığı ya da artık gerekli olmadığı için beste silinir. Yukarıdaki tek referans önerisini izleyen RememberObserver örneği harici bir kaynağı izliyorsa hem onForgotten hem de onAbandoned, kaynağa artık ihtiyaç duyulmadığını belirtir. Nesne, başlatılan işi veya onRemembered içinde ayrılan kaynakları izliyorsa onRemembered çağrıldığında onAbandoned çağrılmayacağı için yoksayılabilir. (I02c36)

  • TransformedText.conversionsedText, DönüştürülmüşText.text olarak yeniden adlandırıldı

    • TransformedText artık bir veri sınıfı (Ie672a) değil
  • Aşağıdaki sınıflar artık veri sınıfı değil:

    • Ek AçıklamalıDize
    • Paragraf Stili
    • Aralık Stili
    • Metin Stili
    • Yazı Tipi Ağırlığı
    • Metin Dekorasyonu
    • MetinGeometrik Dönüşümü
    • Metin Dizini
    • Metin DüzeniSonucu
    • TextLayoutInput (Iaff99)
  • Deneysel monotonicFrameAnimationClockOf yöntemleri kaldırıldı (Ib753f, b/170708374)

  • Küresel koordinat yöntemleri kullanımdan kaldırıldı ve yeni pencere tabanlı koordinat yöntemleri geliştirildi. (Iee284)

  • Lütfen ImeAction.NoAction yerine ImeAction.None kullanın

    • Lütfen ImeAction.Unspecified (Ie1bcc) yerine ImeAction.Default kullanın
  • FocusRequester.createRefs, değişebileceği için deneysel olarak işaretlendi. (I2d898, b/177000821)

  • SemanticsPropertyReceiver.hidden, invisibleToUser olarak yeniden adlandırıldı ve @ExperimentalComposeUiApi olarak işaretlendi. AccessibilityRangeInfo, ProgressBarRangeInfo olarak yeniden adlandırıldı.stateDescriptionRange, progressBarRangeInfo olarak yeniden adlandırıldı. Accessibility ScrollState, ScrollAxisRange olarak yeniden adlandırıldı. YatayErişilebilirlikKaydırmaState, yatay Kaydırma AxisRange olarak yeniden adlandırıldı. verticalAccessibility ScrollState, dikey Kaydırma AxisRange olarak yeniden adlandırıldı. (Id3148)

  • VisualTransformation işlevsel bir arayüz olacak şekilde değiştirildi (I3bba4)

  • Testlerde TestCoroutineDispatcher'dan yararlanın (I532b6)

  • PointerInputData kaldırıldı ve PointerInputData'nın tüm alanlarını içerecek şekilde PointerInputChange değiştirildi. PointerInputEvent ve PointerInputEventData, herkese açık herhangi bir API'de kullanılmadığı için dahili hale getirildi. (Ifff97, b/175142755)

  • TextInputService.onStateUpdated, updateState (Id4853) olarak yeniden adlandırıldı

  • Kaçınılması gerektiği için displaySize değerini kaldırın. Genellikle onRoot() veya pencere boyutunun boyutunu kullanmak daha iyidir. (I62db4)

Sürüm 1.0.0-alpha10

13 Ocak 2021

androidx.compose.foundation:foundation:1.0.0-alpha10 ve androidx.compose.foundation:foundation-layout:1.0.0-alpha10 serbest bırakıldı. 1.0.0-alpha10 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • ImeOptions ve keyboardOptions artık bir veri sınıfı değildir (I3c898, b/168684531)
  • VisualTransformation API Değişiklikleri
    • Offsetmap, Offset Eşleme olarak yeniden adlandırıldı
    • Offsetmap.identityOfsetMap, OffsetMatch.Identity olarak yeniden adlandırıldı
    • PasswordTransformation artık veri sınıfı değil
    • OffsetEşleme kendi dosyasına taşındı
    • (I0bdf3)
  • EditOperations API Değişiklikleri
    • EditOperation, EditCommand olarak yeniden adlandırıldı
    • EditOperation beton uygulamaları için Komut son eki eklendi
    • EditCommand'ler artık veri sınıfı değil
    • EditOperation.process işlevi, applyTo olarak yeniden adlandırıldı
    • Giriş Etkinliği Listeer'ı, ReturnEventCallback olarak yeniden adlandırdı
    • (I0a366)
  • Hız, bileşen parçalarına ve matematiksel işlemlere sahip olacak şekilde değiştirilmiştir. (Ib0447)
  • @DeneyselTesting, benzer deneysel API ek açıklamalarıyla tutarlı olacak şekilde @DeneyselTestApi olarak yeniden adlandırıldı (Ia4502, b/171464963)
  • LazyColumn/LazyRow için deneysel stickyHeader yöntemi eklendi (I0a81d)
  • Color.takeOrElse() için Ranamed Color.useOrElse() (Ifdcf5)
  • TestUiDispatcher desteği sonlandırıldı. Bunun yerine Dispatchers.Main'i kullanın (Ic171f, b/175385255)
  • Temel Strings.kt öğesine açma/kapatma düğmesini ekleyin (I4a5b7, b/172366489)
  • NativeClass'ı arayüz modülüne taşıdı ve dahili hale getirdi. NativeClass'ın güncellenmiş kullanımları, "is MyClass" olacak şekilde uygulamalara eşittir. (I4f734)
  • FlowRow ve FlowColumn desteği sonlandırıldı. Lütfen bunun yerine özel bir düzen kullanın. (I09027)
  • Değiştirici.focus() ve Modifier.focusRequester() desteğine son verilmez. Bunun yerine Modifier.focusModifier() ve Modifier.focusReference()'ı kullanın. (I75a48, b/175160751, b/175160532, b/175077829)
  • Seçim Yöneticisi'ne, Seçilebilir güncellemeleri bildirmek için SeçimRegistrar.notifySelectableChange kullanıma sunuldu. (I6ff30, b/173215242)
  • fun Dp.isFinite(), val Dp.isFinite (I50e00) olarak değiştirildi
  • Constraints#satisfiedBy, isSatisfiedBy olarak yeniden adlandırıldı. (I9cf5c)
  • Belirtilmemiş bir sabite sahip satır içi sınıflar için isSpecified, isUnspecified ve useOrElse özellikleri eklendi. (I93f7b, b/174310811)

Hata Düzeltmeleri

  • Animasyonları arasında karşılıklı ayrıcalıklılık sağlayan, eş yordam tabanlı yeni API Animatable. Çok boyutlu azalma animasyonunu destekleyen yeni DecayAnimationSpec desteği (I820f2, b/168014930)
  • 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ştirilmiştir. Bu, T yerine State<T> değerini döndürür. Geçersiz kılma kapsamı, State değerinin okunduğu yere indirgenebileceği için bu sayede daha iyi performans elde edebilirsiniz. (Ib179e)
  • Semantics role API'yi ekleyin ve tıklanabilir, seçilebilir ve geçiş yapılabilir SemanticsModifier'a parametre olarak Rol ekleyin. Slider'ın da kullanabilmesi için Modifier.progressSemantics değiştirildi. (I216cd)
  • Yerel keyEvent'e artık keyEvent.nativeKeyEvent (I87c57, b/173086397) üzerinden erişilebilir.

Sürüm 1.0.0-alpha09

16 Aralık 2020

androidx.compose.foundation:foundation:1.0.0-alpha09 ve androidx.compose.foundation:foundation-layout:1.0.0-alpha09 serbest bırakıldı. Sürüm 1.0.0-alpha09 bu kaydetmeleri içerir.

API Değişiklikleri

  • Kaydırılabilir arayüz ekleyin

    Bu, ScrollState ve LazyListState'in ortak bir tür olarak değerlendirilmesine ve özel kaydırmanın her iki türe de uygulanmasına olanak tanır.

    Bu, aynı zamanda smooth ScrollBy'ı, bu işlevden yararlanarak Kaydırılabilir'deki bir uzantı işlevine taşır. (I2153b)

  • LazyVerticalGrid eklendi. (I17267, b/162213211)

  • LazyColumnFor, LazyRowFor, LazyColumnForIndexed ve LazyRowForIndexed'in desteğini sonlandırın. Bunun yerine LazyColumn ve LazyRow'u kullanın (I5b48c)

  • İşaretçi giriş API'lerini askıya almak için HandlePointerInputScope olarak AwaitPointerEventScope vehandlePointerInput() öğesini awaitPointerEventScope() olarak yeniden adlandırdınız. (Idf0a1, b/175142755)

  • Şu anda görünür olan öğelerin boyut ve ofsetlerinin listesini gösteren LazyListState.layoutInfo eklendi (If8678, b/170472532)

  • ExperimentalPointerInput ek açıklaması kaldırıldı (Ia7a24)

  • TextFields için engagementState desteği eklendi. (I61d91)

  • true öğe aşağıdan yukarıya doğru oluşturulduğunda ve LazyListState.firstVisibleItemIndex == 0, ilk öğenin en altta yer aldığı anlamına gelir. (I552ae, b/166589935)

  • LazyColumn için verticalArrangement parametresi eklendi. LazyRow için YatayArrangement parametresi eklendi. Düzenleme, öğeler arasında bir boşluk bırakmamızı ve minimum boyutun tamamını dolduracak kadar yeterli olmadığında öğelerin yerleşimini belirlememizi sağlar. (Icf79a, b/170394300)

  • discoveryMultiTouchHarekets, artık birleşik merkez, kaydırma, yakınlaştırma ve döndürme parametreleriyle tek bir geri çağırma kullanıyor. (Ie6e1c)

  • ContentDrawScope, DrawScope ile çalışacak şekilde kullanıcı arayüzü modülüne taşındı. (Iee043, b/173832789)

Hata Düzeltmeleri

  • Ofset değiştiricilerdeki Lambda'lar artık Kayma yerine IntOffset değerini döndürüyor. (Ic9ee5, b/174137212, b/174146755)
  • SlotTable, SlotReader ve SlotWriter genel API'den kaldırıldı. Bunlar daha önce InternalComposeAPI olarak işaretlenmişti. Bunlar artık oluşturma modülünde yer alıyor.

    ui-tooling API'nin bileşim bilgilerini ayıklamak için kullanacağı bir yedek olarak CompositionData ve CompositionGroup eklenmiştir. Bunlar herkese açıktır ancak ui-tooling API'nin yorumladığı ham bilgileri (I31a9c) sağladığı için ui-tooling API'sinin dışında kullanılması amaçlanmamıştır.

  • Çizim ortamının boyut bilgilerinin mevcut olması durumunda geç yavaş bir gölgelendirici örneği oluşturmak için ShaderBrush yeniden düzenlendi. Bu, beste zamanında özel DrawModifier uygulamaları uygulamak zorunda kalmadan bir composable'ın tüm çizim sınırlarını kaplayan renk geçişleri tanımlamak için yararlıdır.

    Gradyan nesnesinde fabrika yöntemlerinin tercih edilmesi için desteği sonlandırılan gradyan işlevi oluşturucu API'leri. (I511fc, b/173066799)

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

  • Autofill API artık deneysel bir API olup etkinleştirilmesini gerektiriyor (I0a1ec)

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

  • erişilebilirlikLabel, contentDescription olarak yeniden adlandırıldı. accessibilityValue, stateDescription olarak yeniden adlandırıldı. (I250f2)

  • SelectRegistrar'da birkaç yeni işlev tanıtıldı ve onPositionChange, NotificationPositionChange olarak yeniden adlandırıldı. (Ifbaf7)

  • Dahili Android Sahibi (Ibcad0, b/170296980)

  • Infinite RepeatableSpec oluşturmak için yeni infinite Repeatable işlevi (I668e5)

  • Applier arayüzü, ağaçları yukarıdan aşağıya değil, aşağıdan yukarıya oluşturmayı basitleştirecek şekilde değiştirildi.

    insert() yöntemi insertTopDown() olarak yeniden adlandırıldı.

    Yeni bir yöntem (insertBottomUp()) eklendi.

    Bir uygulayıcı, hangisinin daha iyi performans gösterdiğine bağlı olarak insertTopDown() veya insertBottomUp() kullanarak düzenlediği ağaca düğüm ekler.

    LayoutNode ve View gibi bazı ağaçlar, yukarıdan aşağıya doğru yapısına kıyasla aşağıdan yukarıya yapı oluşturma konusunda çok daha verimlidir. Bu değişiklikten önce, aşağıdan yukarıya uygulamak için bir dizi ekleme ve bunun performans için aşağıdan yukarıya yapıya ihtiyaç duyan her uygulamaya kopyalanması gerekiyordu. Bu değişiklikle birlikte Applier, aşağıdan yukarıya bir ağaç oluşturmak için insertBottomUp() politikasını, yukarıdan aşağıya bir ağaç oluşturmak için insertTopDown() değerini geçersiz kılar. (Icbdc2)

  • Pikselleştirilmiş öğe biçimlerinden (PNG'ler gibi) veya VectorDrawables'tan opak bir şekilde yüklenen Painter nesnelerini işlemek için PainterResource API eklendi. Tüketiciler artık öğe türünü önceden belirlemek zorunda değildir ve Resim composable'larında veya ressam değiştiricilerinde kullanacakları Boyacı nesnesi için bu yöntemi çağırabilirler. (I2c703, b/173818471)

  • AnnotatedString oluşturmak için buildAnnotatedString'in fabrika işlevi eklendi. Ek açıklamalıString oluşturucu işlevi kullanımdan kaldırıldı. (Idfe0b)

Sürüm 1.0.0-alpha08

2 Aralık 2020

androidx.compose.foundation:foundation:1.0.0-alpha08 ve androidx.compose.foundation:foundation-layout:1.0.0-alpha08 serbest bırakıldı. 1.0.0-alpha08 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • maxLines parametresi CoreTextField reklam grubundan kaldırıldı. Metin alanının yüksekliğini satır sayısıyla sınırlamak istiyorsanız bunun yerine BasicTextField değerini kullanın. (Iec002)
  • await*TouchSlop() yöntemleri, işaretçi aşağı algılanmayacak şekilde değiştirildi ve bunları *OrCancellation olarak yeniden adlandırdı. Ayrıca, orientationLock parametresi ihtiyacı da ortadan kalktı. (Ie96e1)
  • Oluşturma yönergeleriyle tutarlılığı kontrol etmek üzere composable lambda parametresi adı ve konumu için lint denetimi eklendi. Ayrıca, lint kontrolü ve rehberlik doğrultusunda, sondaki lambdaların adı olarak children kullanılan bazı API'ler de content ortamına taşındı. (Iec48e)
  • foundation:foundation-text API, foundation:foundation hedefine taşındı. Paket yapısı aynı kaldı (Id3eb2)
  • Döndürme, yakınlaştırma ve kaydırmayı algılamaya yönelik yardımcılar da içeren yeni çok noktalı hareket dedektörü. (Ic459d)
  • Yön kilitleme dahil olmak üzere, işaretçi giriş API'sini askıya alan yeni sürükleme hareketi algılayıcı. (Icef25)
  • VectorAsset, ImageVector olarak yeniden adlandırıldı. API konseyi yönergeleri uyarınca VectorAsset, ImageVector'ın iç sınıfı olacak şekilde Builder olarak taşındı. Karşılaştırma için ImageVector.Builder bağlantısına, VectorAssetBuilder adında tür takma adı eklendi. (Icfdc8)
  • ImageAsset ve ilgili yöntemler, ImageBitmap olarak yeniden adlandırıldı. (Ia2d99)
  • Temel anlamsal özellikleri kullanıcı arayüzüne taşındı (I6f05c)
  • Eş yordam tabanlı kaydırma API'leri ekleyin:

    Kaydırma kontrolü için LazyListState.snapToItem ve LazyListState.smooth ScrollBy ile alt düzey API'ler ekler. Bu API'ler, geri dönmeden önce kaydırmanın bitmesini bekleyen kaydırmayı kontrol etmek için bir askıya alma arayüzü sağlar. (Ie5642)

  • BasicTextField, TextField ve OutlinedTextField öğelerine singeLine parametresi eklendi. Metin alanını yatay olarak kaydırılabilir tek bir satır yapmak için bu parametreyi true olarak ayarlayın. (I57004, b/168187755)

  • Dokunma, iki kez dokunma, uzun basma ve basma göstergesi için hareket dedektörü, yeni askıya alma işaretçisi girişi kullanılarak eklendi. Ayrıca, geliştiricilerin kendi hareket dedektörlerini yazmalarını kolaylaştıran birkaç yardımcı program da eklendi. (I00807)

  • Modifier.focusable'ın temele eklenmesi gerekiyor. Bir bileşene doğru anlamlar ve erişilebilirlikle odaklanılabilir davranış eklemek için bunu kullanın. (I41eb9, b/152525426, b/162865824)

  • Daha önce kullanımdan kaldırılan API'ler kaldırıldı: Sınır kaldırıldı, bunun yerine BorderStroke'u kullanın. Değiştirici.drawBorder kaldırıldı, bunun yerine Değiştirici.sınırını kullanın. Değiştirici.gravity kaldırıldı, bunun yerine Değiştirici.align'ı kullanın. Yığın kaldırıldı, onun yerine Box'ı kullanın (I32c2b, b/172470874)

  • MutlakArrangement, Arrangement.Mutlak olarak yeniden adlandırıldı. (If26f2)

Hata Düzeltmeleri

  • DrawModifier API'leri androidx.compose.ui paketinden androidx.compose.ui.draw paketine taşındı. Desteği sonlandırılan API'lerden mevcut API'lere geçişe yardımcı olacak typealiases/helper yöntemlerini içerecek şekilde DrawModifier U güzelleştirilmiştir. (Id6044, b/173834241)
  • Modifier.drawKatmanlar, Modifier.graphicsKatman olarak yeniden adlandırıldı. Ayrıca, API konseyi geri bildirimlerine göre ilgili sınıflar da GraphicsKatman olarak güncellendi. (I0bd29, b/173834241)
  • <T>, SubcomposeLayout bildiriminden kaldırıldı. Artık bir tür belirtmeden kullanabilirsiniz. (Ib60c8)
  • PointerInputData'nın çalışma ve konum alanları null olamaz. (Id468a)
  • MaterialTheme, artık seçim tutma yerleri ve seçim arka planı için doğru renkleri ayarlıyor. Materyal olmayan uygulamalar, seçimde kullanılan renkleri özelleştirmek için AmbientTextSelectionColors'ı manuel olarak kullanabilir. (I1e6f4, b/139320372, b/139320907)
  • Box'ın hizalama parametresi, contentHizalama olarak yeniden adlandırıldı. (I2c957)
  • ofPx değiştiricileri, ofset olarak yeniden adlandırıldı. Artık State yerine lambda parametrelerini alıyorlar. (Ic3021, b/173594846)
  • Ana makine penceresinin odakta olup olmadığını kontrol etmek için WindowManager.isWindowFocused ve onWindowFocusChanged geri çağrısı sağlayan bir WindowFocusObserver eklendi. (I53b2a, b/170932874)
  • TextInputService#onStateUpdated (I3e8f5, b/172239032, b/171860947) öğesine sıfırlamaInput parametresi eklendi
  • TextFieldValue API'si güncellendi
    • TextFieldValue.composition salt okunur yapıldı
    • geçersiz seçim aralığı (I4a675, b/172239032) nedeniyle kaldırıldı istisna
  • Sonek olarak Ambient adını taşıyan ve desteği sonlandırılmış Ambiyanslar, diğer Ambients and Compose API kurallarına uyarak Ambient ön ekini taşıyan yeni özellikler eklendi. (I33440)
  • Android Yazı Tipi sarmalayıcı eklendi. Bir Android Yazı Tipini typeface işlevi (ör. typeface(Typeface.DEFAULT)) aracılığıyla yükleyebilirsiniz. typefaceFromFontFamily() adlı dosya da typeface() olarak yeniden adlandırıldı (I52ab7)
  • Değiştirici fabrikaların @Composable olarak işaretlenmek yerine dahili olarak androidx.compose.ui.composed {} kullanıp kullanmadığını kontrol etmek için lint denetimi eklendi. (I3c4bc)
  • Değiştirici fabrika işlevlerinin, akıcı bir şekilde birbirine zincirlenebilmesi için Değiştirici'de uzantılar olarak tanımlandığını kontrol etmek için lint denetimi eklendi. (I07981)
  • Anlamsal bağımsız değişken birleştirmeAllDescendants, "mergeDescendants" olarak yeniden adlandırıldı. (Ib6250)
  • Testlerde zaman kontrolü (TestAnimationClock ve kullanımları) artık deneysel (I6ef86, b/171378521)
  • Eski kullanıcı arayüzü testi modülünü ve uçlarını (I3a7cb) kaldırın
  • TextUnit.Inherit, TextUnit olarak yeniden adlandırıldı.Diğer birimlerle tutarlı olarak belirtilmemiş. (Ifce19)
  • Hizalama arayüzü güncellendi ve işlevsel hale getirildi. (I46a07, b/172311734)
  • foundation:foundation-text modülü, foundation:foundation (Idac0f) modülünde birleştirildi
  • Yer(Ofset) ve Placeground(Ofset) değerlerini kullanımdan kaldırın. Bunun yerine int ofsetleriyle aşırı yüklemeleri kullanın (I4c5e7)
  • id, LayoutIdParentData için layoutId olarak yeniden adlandırıldı. Measurable.id, Measurable.layoutId olarak yeniden adlandırıldı. (Iadbcb, b/172449643)

Sürüm 1.0.0-alpha07

11 Kasım 2020

androidx.compose.foundation:foundation:1.0.0-alpha07, androidx.compose.foundation:foundation-layout:1.0.0-alpha07 ve androidx.compose.foundation:foundation-text:1.0.0-alpha07 serbest bırakıldı. 1.0.0-alpha07 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Modifier.fillMaxSize[Width|Height] işlevine benzer şekilde, artık Modifier.fillParentMaxSize[Width|Height] dilindeki kesirli değerleri LazyColumn/Row (I797e2, b/166586426) kapsamında destekliyoruz.
  • KeyboardOptions.toImeOptions, herkese açık API'den kaldırıldı. (Ic2e45)
  • AmbientTextStyle, OfferTextStyle ve AmbientContentColor temelinin desteği sonlandırıldı. Bunun yerine Materyal kitaplığında mevcut olan yeni sürümleri kullanın. Materyal olmayan uygulamalar için bunun yerine, kendi bileşenlerinizde tüketilebilecek kendi tasarım sisteminize özel tema ambiyanslarını oluşturmalısınız. (I74acc, b/172067770)
  • Foundation.Text desteği sonlandırılmış ve asset.Text ile değiştirildi. Temadan değer kullanmayan temel ve işlemsiz metin API'leri için androidx.compose.foundation.BasicText adresini ziyaret edin. (If64cb)
  • Metin Alanlarına maxLines eklendi (Ib2a5b)
  • TextFields'i KlavyeSeçenekleri (Ida7f3) kabul edecek şekilde güncelleyin
  • Metin Alanlarında (I9ca32) kullanım için Klavye Seçenekleri eklendi
  • BasicTextField'e paralel olarak BasicText'i, metin için tasarımsız bir API olarak ekler. (I28268)
  • DeneyselLazyDsl ek açıklaması kaldırıldı. LazyColumn/LazyRow artık @OptIn ifadesi eklenmeden kullanılabilir (Idab7a, b/166584730)
  • BaseTextField desteği sonlandırıldı. Bunun yerine BasicTextField alanını kullanın. (I896eb)
  • BasicTextField, hem CoreTextField hem de BaseTextField (Id4cea) seçeneklerinin yerine eklendi
  • Desteği sonlandırılan LazyColumnItems/LazyRowItems (I1d8a8) kaldırma
  • İçsel ölçümlere göre boyutlandırma için desteği sonlandırılmış composable'lar kaldırıldı. (I18537, b/171811496)
  • relPaddingFrom, FILLFrom olarak yeniden adlandırıldı. Düzen sınırlarından metin temel çizgilerine olan mesafeleri belirtmeyi kolaylaştırmak amacıyla FILLFromBaseline değiştiricisi eklendi. (I0440a, b/170633813)
  • matchHeightConstraintsFirst parametresi, en boy karşılık gelenleri denemeden önce boyut-yükseklik kısıtlamalarına göre değiştiriciyi belirtmek için kullanılabilecek en boy oranı değiştiricisine eklendi. (Ie7c43, b/155290593)
  • Kullanımdan kaldırılan DpConstraints kaldırıldı. (I87884, b/171702471)

Hata Düzeltmeleri

  • Düzgün olmayan ölçeklendirme kullanım alanlarını desteklemek üzere yatay ve dikey eksenler için birbirinden bağımsız ölçek faktörlerini temsil eden ScaleFactor satır içi sınıfı kullanıma sunuldu.
    • ContentScale'e computeScaleFactor yöntemi eklendi
    • src sınırlarını genişletmek için hedefi tamamen işgal etmek üzere tek tip olmayan ölçeklendirme yapmak üzere ContentScale.FillBounds eklendi.
    • Boyut parametreleriyle ScaleFactor parametrelerini hesaplamak için operatör yöntemleri eklendi.
    • (Ic96a6, b/172291582)
  • receiveToBitmap, captureToImage öğesine taşındı. (I86385)
  • CoreText'i @DahiliTextApi olarak işaretler. Bunun yerine BasicText'i kullanın. (I6aaeb)
  • Klavye Seçeneklerini ImeOptions olarak yeniden adlandırın (I82f36)
  • Klavye Türü ve ImeAction, KlavyeSeçeneklerine taşındı (I910ce)
  • CoreTextField, @DahiliTextApi olarak işaretlendi. Bunun yerine BasicTextField'i kullanın (Ie2469)
  • ExperimentalSubcomposeLayoutApi ek açıklaması kaldırıldı. SubcomposeLayout, artık @OptIn öğesi eklenmeden kullanılabilir (I708ad)
  • ui-test-junit4 modülünü tanıtın (Ib91f8)
  • Simge API'si, sağlanan öğeyi veya resmi ColorFilter olmadan çizecek olası bir ton rengi olarak belirtilmedi. Daha önce, Renk ile tonlamayı göz ardı etmeye çalışılıyordu.Belirtilmediğinde, tonlama şeffaf bir renkle sonuçlanmakta ve sonuçta hiçbir şey oluşmamaktadır. (I049e2, b/171624632)
  • MeasureResult, MeasureScope dışına taşındı. (Ibf96d, b/171184002)
  • Düzenle ilgili çeşitli semboller androidx.compose.ui'den androidx.compose.layout.ui'ye taşındı. (I0fa98, b/170475424)
  • androidx.ui.test, androidx.compose.ui.test adresine taşındı (I9ffdb)
  • FirstBaseline ve LastBaseline, androidx.compose.ui.layout paketine (Ied2e7) taşındı
  • Geri çağırma içermeyen Seçim Container'ı eklendi (Ibfadb)
  • SelectContainer'da Seçim İşleyicilerinin Konumları için Testler ekleyin. (Ie93db)
  • Klavye otomatik düzeltme IME Seçeneği eklendi (I57b8d)

Sürüm 1.0.0-alpha06

28 Ekim 2020

androidx.compose.foundation:foundation:1.0.0-alpha06, androidx.compose.foundation:foundation-layout:1.0.0-alpha06 ve androidx.compose.foundation:foundation-text:1.0.0-alpha06 serbest bırakıldı. 1.0.0-alpha06 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • androidx.compose.foundation.Icon, androidx.compose.material.Icon konumuna taşındı. Materyal kitaplığını kullanmak istemiyorsanız Resim bileşenini / Değiştirici.paint() işlevini bir Painter ile de kullanabilirsiniz. (I9f622)
  • Değiştirici.scrollable, ScrollableColumn ve LazyColumnFor'a engagementState eklendi (I81566, b/169509805)
  • alignByBaseline, RowScope'a eklendi ve levelWithSiblings, "squareBy" olarak yeniden adlandırıldı (I06503, b/170628732)
  • Box, satır içi işlev haline getirildi. (Ibce0c, b/155056091)
  • CoreTextField'e maxLines eklendi (Ibee58, b/143687793)
  • CoreTextField'e yumuşak sarma eklendi. (I21a4b)

Hata Düzeltmeleri

  • composable API'nin, bileşimler genelinde verileri kalıcı hale getirmek için dahili olarak "hatırladığından" yararlandığını daha iyi belirtmek amacıyla HatVectorPainter'ın yerine VectorPainter'ı kullanımdan kaldırın. (Ifda43)
  • ComposeTestRule'da geçişleri etkinleştir; yanıp sönen imleci ComposeTestRule'dan etkinleştirmek için seçeneği kaldırın. (If0de3)
  • CoreTextField'e tek satırlı klavye seçeneği eklendi (I72e6d)
  • Compose'da nasıl kullanıldığını daha iyi ifade etmek için Radius API'yi CornerRadius olarak yeniden adlandırdı. Dokümanlar, negatif köşe yarıçaplarının sıfıra sabitlendiğini gösterecek şekilde güncellendi. (I130c7, b/168762961)
  • Oluşturulan değiştiricide inceleyici bilgilerini belirtme özelliği ekleyin (Idee08, b/163494569)
  • Klavye Büyük Harf Kullanımı IME Seçeneği Eklendi (I8ac38)
  • Rtl Tutma Yeri Konumunu Düzeltin. (I6e1e0)
  • Önemli değişiklik: İşaretçi etkinliklerinde değiştirilebilmesi gereken tek değer tüketim verileri olduğu için döndürülen değer PointerInputFilter.onPointerEvent(...) öğesinden kaldırıldı. PointerInputFilter.onPointerEvent(...) öğesinden veri döndürmek yerine, artık yalnızca iletilen PointerEvents tüketim verilerini değiştirebilirsiniz. (I6acd0)
  • Seçim menüsüne SelectAll seçeneği eklendi (Ief02b)

Sürüm 1.0.0-alpha05

14 Ekim 2020

androidx.compose.foundation:foundation:1.0.0-alpha05, androidx.compose.foundation:foundation-layout:1.0.0-alpha05 ve androidx.compose.foundation:foundation-text:1.0.0-alpha05 serbest bırakıldı. 1.0.0-alpha05 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • CoreTextField artık imleç işlevini destekliyor (Id23aa)
  • contentColor() ve currentTextStyle() API'lerini kullanımdan kaldırır ve bunları sırasıyla AmbientContentColor ve AmbientTextStyle ambiyanslarla değiştirir. Geçerli değere, diğer ambiyanslarda olduğu gibi ambiyans özelliğinde .current kullanarak erişebilirsiniz. Bu değişiklik, tutarlılık ve aynı şeyi başarmak için birden çok yönteme sahip olmamanız amacıyla yapılmıştır. Ayrıca aşağıdaki ortam özelliklerini daha iyi tanımlayabilmek için bazı ambiyans özelliklerini de yeniden adlandırıyor:

    • ContentColorAmbient -> AmbientContentRenk
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels (AmbientEmfasi Seviyeleri)
    • Dalga Teması (Ambient) -> Ambiyans Dalgası Teması (I37b6d)

Hata Düzeltmeleri

  • Satır içi sınıflar için koruyucu değerlerinin standartlaştırılmasının bir parçası olarak Color.Unset (Renk Ayarlanmadı) değerini yeniden adlandırın.Diğer satır içi sınıflarla tutarlılık için belirtilmemiş (I97611, b/169797763)
  • Eklenen Kopyalama/Yapıştırma/Kesme erişilebilirlik işlemleri (I6db4f)
  • TextOverflow.None kullanıma sunuldu. Taşma değeri Yok olduğunda, Metin artık taşmayı işlemez ve gerçek boyutunu LayoutNode'a bildirir. (I175c9, b/158830170)
  • Boyut Güncellendi.Belirtilmemiş parametreler, Kayma.POSITIVE_INFINITY yerine Kayma.NaN olacak. Boyut.Belirtilmemiş ve sonlu olmayan Boyutlar'a göre kontrol etmek için Boyacı uygulamaları güncellendi. (I95a7e)
  • Sayfa Oluşturma modülü ve sayfa oluşturma entegrasyonu eklendi (Ib85da)
  • Boş değer atanabilir değerler almak için LazyListScope'u değiştirin (I1765b)
  • OnPositionedModifier, OnGloballyPositionedModifier olarak, onPositioned() onGloballyPositioned() olarak yeniden adlandırılır. (I587e8, b/169083903)
  • LazyColumn/Satır (Idc16d) için örnekler eklendi
  • emptyList'e izin vermek için itemsIndexed yöntemleri ve itemsIndexed yöntemleriyle ilgili düzeltme (I06647)
  • Denetleyici bilgilerini belirtmek için bir DSL ekleyin (Ic9a22)
  • Long Press'i Metne Taşı. (Iff2bc)
  • Metinde Seçimi Devre Dışı Bırak ve bir Demo. (Ie7e97)
  • Erişilebilirlik için AnnotatedString'i SpannableString'e dönüştürme desteği. (Ief907)
  • PointerInputFilter.onPointerInput(...) kaldırıldı. Bunun yerine PointerInputFilter.onPointerEvent(...) kullanılmalıdır. (I6f04a)

Sürüm 1.0.0-alpha04

1 Ekim 2020

androidx.compose.foundation:foundation:1.0.0-alpha04, androidx.compose.foundation:foundation-layout:1.0.0-alpha04 ve androidx.compose.foundation:foundation-text:1.0.0-alpha04 serbest bırakıldı. 1.0.0-alpha04 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • Yığın, Box olarak yeniden adlandırıldı. Daha önce mevcut olan Foundation.Box kullanımdan kaldırılarak, generate.foundation.layout içindeki yeni Box'a sahip olacak. Yeni Box'ın davranışı, birden çok alt öğesi olduğunda alt öğeleri üst üste yığmaktır. Bu, bir Sütuna benzer davranışlarda bulunan önceki Box'tan farklıdır. (I94893, b/167680279)
  • Box dekorasyon parametreleri kullanımdan kaldırıldı. Kutunuzda süslemeler/dolgular olmasını istiyorsanız bunun yerine Değiştiriciler'i kullanın (Modifier.background, Değiştirici.gider, Değiştirici.Dolgu) (Ibae92, b/167680279)
  • Yeni LazyListState sınıfı ekleyin. Bu, LazyRow ve LazyColumn bileşenlerinin kaydırma konumunun gözlemlenmesine ve kontrol edilmesine olanak tanır. ÖrneklerrememberLazyListState() kullanılarak oluşturulabilir ve bileşenin durum parametresine iletilebilir. Şu anda, ilk görünür öğe ve ofsetler bu ilk sürümde gözlemlenebilir. (Ic7cb7, b/159307669)
  • Geç liste konumu ve kaydırma ofseti artık Etkinlik yeniden oluşturma işleminde (Ie045f, b/166589058) kaydedilip geri yükleniyor
  • Uzun tıklama semantiği işlemi ekleme (I6281b, b/156468846)
  • Zaman içinde paylaşılan durumun tek bir mutatörünü tutmak ve çakışan mutatörleri önceliğe göre iptal etmek için Mutatorucux yardımcı programı eklendi (I3f975)
  • Ek açıklamalı rootAnimationClockFactory, migrationsEnabled, blinkingCursorEnabled ve textInputServiceFactory ile @visibleForTesting, bunları dahili API yapın ve kdoc'larını gizleyin (I554eb, b/168308412)
  • Dize girişli Metin'den inlineContent parametresi kaldırıldı. Satır içi Content'in AnnotatedString ile çalışması gerektiğinden kullanılmayacaktır. (Ief403)
  • Kullanımdan kaldırılan özel Düzenleme API'leri kaldırıldı. (Ic576d, b/168297922, b/168297923)
  • unbounded parametresi, düzen öğesinin sonsuz maksimum kısıtlamalarıyla ölçülmesini sağlayan WrapContentSize değiştiricilerine eklendi. (I77951, b/158559319)
  • Düzen kapsamlarının içeriklerinin statik içe aktarılmasını önledik (ör. RowScope'ta alignWithSiblings). Bunun yerine açık kapsam alternatifi kullanılmalıdır: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Hata Düzeltmeleri

  • Birçok Graphics API'si güncellendi
    • Ölçek ve döndürme dönüşüm API'leri, DrawScope ve DrawTransform'da x/y koordinatları için ayrı kayan noktalı parametreler yerine pivot koordinatını temsil edecek tek bir Offset parametresi kullanacak şekilde güncellendi
    • Rect.expandToInclude ve Rect.join yöntemleri kaldırıldı
    • Yarıçap dokümantasyonu, eliptik bisikletin yanı sıra oval de
    • Satır içi Yarıçap sınıfı için genel oluşturucunun doğrudan çağrılamayacağını, bunun yerine Yarıçap nesnelerinin işlev oluşturucuları aracılığıyla örneklendirilmesi gerektiğini gösteren dokümanlar eklendi
    • topRight,bottomRight, bottomCenter vb. sorgulamak için RoundRect API'leri kaldırıldı.
    • Rect.shift desteği sonlandırıldı ve Rect.translate'ye geçiş yapıldı
    • roundRect.grow ve Rect.shrink API'leri kaldırıldı
    • RoundRect.outerRect paketinin adı Rect.boundingRect olarak yeniden adlandırıldı.
    • RoundRect.middleRect/tallMiddleRect/wideMiddleRect ve Rect.isStadium yöntemleri kaldırıldı.
    • RoundRect.longestSide, RoundRect.maxDimension olarak yeniden adlandırıldı
    • roundRect.shortestSide, RoundRect.minDimension olarak yeniden adlandırıldı
    • RoundRect.center işlev yerine bir özellik olarak değiştirildi
    • RoundRect oluşturucusu, x/y yarıçap değerleri için bağımsız parametreler yerine Yarıçap özelliklerini kullanacak şekilde güncellendi
    • Kaynağı 0,0 olan Dikdörtgen olduğunu varsayan Boyut API'leri kaldırıldı
    • Yarıçap'a yıkıcı bir API eklendi
    • Çeşitli RoundRect uzantı işlevleri mülk olacak şekilde taşındı
    • (I8f5c7, b/168762961)
  • Her kaydırma sırasında gereksiz yeniden düzenleme yapmayarak LazyColumnFor/LazyRowFor kaydırmaya yönelik performans optimizasyonları (I64f65, b/168293643, b/167972292, b/165028371)
  • Kaydırma işleminden ve ardından öğelerin değiştirilmesinden sonra LazyColumnFor/LazyRowFor'daki kilitlenme düzeltildi. Artık sonda boş boşluklar göstermemek için, önceden görünür olan öğe kaldırıldığında otomatik yukarı kaydırma uygulanmaya başlandı (I220ab, b/161480164, b/167855468).
  • ScrollableContainer ve LazyColumnFor gibi aynı yön kapsayıcılarına artık kaydırılabilir yerleştirmeye izin verilmiyor. Bu hizmet hiçbir zaman desteklenmiyordu, LazyColumnFor (I6e101) öğelerini derlemenin tembelliğinden kurtulmaya çalışıyordu
  • Birçok Graphics API'si güncellendi
    • DrawScope API'leri, dönüşümün yalnızca geri çağırma içinde uygulandığını ve geri çağırma çağrıldıktan sonra kaldırıldığını belirtecek şekilde kapsamlı dönüşüm yöntemleriyle güncellendi
    • ClipPath belgeleri, yuvarlatılmış dikdörtgen yerine Path'i işaret edecek şekilde güncellendi
    • ClipPath'de sağ parametre için belgelerdeki boşluk düzeltildi
    • DrawScope.drawCanvas,drawIntoCanvas olarak yeniden adlandırıldı ve boyut parametresi kaldırıldı
    • Inset yöntemindeki dx/dy parametreleri yatay ve dikey olarak yeniden adlandırıldı
    • 4 sınıra da aynı inset değerini sağlayan ek aşırı yükleme eklendi.
    • Inset yönteminde, ekin 4 tarafa da uygulanacağını gösteren dokümanlar kaldırıldı
    • Rect sınıfı için güncellenen dokümanlar
    • Rect parametrelerindeki yorumlar, kdoc stiliyle eşleşecek şekilde güncellendi
    • Rect.join ve Rect.expandToInclude kaldırıldı
    • Rect.translate(offset) için aşırı yükleme oluşturuldu ve kullanımdan kaldırılan Rect.shift
    • (If086a, b/167737376)
  • Anlamsal özelliklerine Accessibility ScrollState'i ekleyin. (Ifeda9)
  • Nesne oluşturulmasını önlemek için TextRange'i satır içi yapın. (Id034b)
  • ParagrafKısıtlamaları kaldırıldı. Genişlik şimdi doğrudan Paragraf'a geçirilir. (Ica712)

Sürüm 1.0.0-alpha03

16 Eylül 2020

androidx.compose.foundation:foundation:1.0.0-alpha03, androidx.compose.foundation:foundation-layout:1.0.0-alpha03 ve androidx.compose.foundation:foundation-text:1.0.0-alpha03 serbest bırakıldı. 1.0.0-alpha03 sürümü bu kaydetmeleri içerir.

API Değişiklikleri

  • InnerPadding, PaddingValues olarak yeniden adlandırıldı. (I195f1, b/167389171)
  • Yer çekimi kullanımları, düzen API'lerinde hizalama veya hizalama için tutarlı bir şekilde yeniden adlandırıldı. (I2421a, b/164077038)
  • Yığına, tüm Yığın alt öğeleri için varsayılan hizalamanın belirtilmesini sağlayan bir hizalama parametresi eklendi. (Ie80ca, b/164085265)

Hata Düzeltmeleri

  • Bunu kullanan DpConstraints ve API'ler kullanımdan kaldırıldı. (I90cdb, b/167389835)
  • widthIn parametrelerinden minWidth ve maxWidth parametreleri min ve max olarak yeniden adlandırıldı. Benzer şekilde preferredWidthIn, heightIn, preferredHeightIn için de geçerlidir. (I0e5e1, b/167389544)
  • ComposeTestRule'a eklenen onNode ve diğer genel yöntemler, mevcut global yöntemlerin desteği sonlandırılacak. (Ieae36)
  • Diğerlerinde de geçersiz kaydırma hareketlerinin oluşturulmasına neden olan MoveScope'ta sabit boyut ve konum hesaplamaları (Iaf358, b/166589947)
  • createAndroidComposeRule ve AndroidInputDispatcher, androidx.ui.test.android konumundan androidx.ui.test konumuna taşındı (Idef08, b/164060572)

Sürüm 1.0.0-alpha02

2 Eylül 2020

androidx.compose.foundation:foundation:1.0.0-alpha02, androidx.compose.foundation:foundation-layout:1.0.0-alpha02 ve androidx.compose.foundation:foundation-text:1.0.0-alpha02 serbest bırakıldı. 1.0.0-alpha02 sürümü bu kaydetmeleri içerir.

Hata Düzeltmeleri

  • TestUiDispatcher deneysel olarak işaretlendi (Iae99d, b/161247083)
  • O saatin çerçevesini bekleyen bir şey olup olmadığını görmek için ManualFrameClock.hasAwaiters eklendi; ManualFrameClock gereken testler çalıştırırken runBlocking yerine runWithManualClock; testlerinizde ana kullanıcı arayüzü görev dağıtıcısına kolayca erişim sağlayan TestUiDispatcher.Main bulunur.

    Örnek:

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

Sürüm 1.0.0-alpha01

26 Ağustos 2020

androidx.compose.foundation:foundation:1.0.0-alpha01, androidx.compose.foundation:foundation-layout:1.0.0-alpha01 ve androidx.compose.foundation:foundation-text:1.0.0-alpha01 serbest bırakıldı. 1.0.0-alpha01 sürümü bu kaydetmeleri içerir.

Sürüm 0.1.0-dev

Sürüm 0.1.0-dev17

19 Ağustos 2020

androidx.compose.foundation:foundation:0.1.0-dev17, androidx.compose.foundation:foundation-layout:0.1.0-dev17 ve androidx.compose.foundation:foundation-text:0.1.0-dev17 serbest bırakıldı. Sürüm 0.1.0-dev17 bu kaydetmeleri içerir.

API Değişiklikleri

  • Konumlandırma düzeni alt öğelerini sabit aralıkla etkinleştirmek amacıyla Satır ve Sütun için aralıklı Düzenleme öğesi eklendi. Düzen alt öğelerini yan yana konumlandırmayı ve Hizalamaya göre Satır/Sütunda hizalamayı etkinleştirmek için hizalı Bağımsız değişken de eklendi. Önceki Arrangement.Vertical#arrange ve Arrangement.Horizontal#arrange yöntemleri kullanımdan kaldırılmış olup özel Düzenlemeler yazma ileride desteklenmeyecektir. (I6733d, b/161985975)
  • Zaman farkı satır içi bir sınıf oldu (Iaec70)
  • TextField'den onFocusChanged geri çağırması kaldırıldı. Bunun yerine Modifier.focusObserver'ı kullanın. (I51089, b/161297615)
  • Değiştirici.drawBorder desteği sonlandırıldı. Bunun yerine Değiştirici.sınırı kullanın. Sınır veri sınıfı BorderStroke (I4257d, b/158160576) ile değiştirildi
  • Vertical Scroller ve Horizontal Scroller kaldırıldı. Bunun yerine ScrollableColumn/Row'u kullanın. Değiştirici.drawArka Plan kaldırıldı. Değiştirici.background'ı kullanma (I73b0d, b/163019183)
  • LazyItemScope'tan (LazyColumnFor (Ifa78d) doğrudan alt öğeleri olmayan öğeler için bu tür değiştiricileri doğru şekilde eklemeyi zorlaştırdığı için, desteği sonlandırılmış dolguMax* değiştiricileri olarak işaretlenmiş olanları) kaldırın.
  • LazyColumn/LazyRow uygulamasını DSL (I93cc6) olarak ekledi
  • Kısıtlamalar artık satır içi bir sınıf (I88736)
  • FillMaxWidth, dolguMaxHeight ve dolguMaxSize değiştiricileri kullanılarak düzeni, kullanılabilir alanın daha küçük bir kısmına boyutlandırma özelliği eklendi. (I945bb, b/161562591)

Hata Düzeltmeleri

  • Seçim Kapsayıcısına bir değiştirici parametre eklendi (I4aada, b/161487952)
  • SemanticsPropertyKey'e birleştirmePolitikası lambda eklendi. Bu, birleştirmeAllDescendants anlamsal birleştirme işlemi için özel bir politika tanımlamak amacıyla kullanılabilir. Varsayılan politika, zaten varsa üst değer, değilse alt değer kullanılır. (Iaf6c4, b/161979921)
  • PlacementScope.placeAbsolute(), PlacementScope.place(), önceki PlacementScope.place() ise PlacementScope.placeRelative() olarak yeniden adlandırıldı. Sonuç olarak, PlacementScope.place() yöntemi artık sağdan sola bağlamlarda konumu otomatik olarak yansıtmaz. Bunun yerine PlacementScope.placeRelative() kullanın. (I873ac, b/162916675)
  • Kullanımdan kaldırılan FilledTextField bileşeni kaldırıldı. Doldurulmuş metin alanının Materyal Tasarım uygulamasını almak için lütfen TextField'i kullanın. (I5e889)
  • DoğrusalProgressIndicator'a backgroundColor parametresi eklendi ve CircularProgressIndicator'daki dahili dolgu kaldırıldı. Değerler arasındaki ilerleme gösterilirken varsayılan AnimationSpec olarak kullanılabilecek yeni ProgressIndicatorConstants.DefaultProgressAnimationSpec öğesi eklendi (If38b5, b/161809914, b/161804677)
  • state { ... } composable, artık daha net bir ifadeyle remember { mutableStateOf(...) } öğesine yapılan açık çağrılar için kullanımdan kaldırıldı. Bu, genel API yüzeyini ve eyalet yönetimiyle ilgili kavramların sayısını azaltır ve sınıf özelliği yetkisi için by mutableStateOf() kalıbıyla eşleşir. (Ia5727)
  • Oluşturma adlandırma kalıplarına daha uygun olması için RRect'in adı RoundRect olarak değiştirildi RRect'e benzer işlev oluşturucuları ve desteği sonlandırılan RRect işlev oluşturucuları (I5d325) oluşturuldu
  • onChildPositioned ve OnChildPositionedModifier kaldırıldı. Geliştiriciler bunun yerine alt düzende onPositioned ve OnPositionedModifier kullanmalıdır. (I4522e, b/162109766)
  • IntSize artık satır içi bir sınıftır (I2bf42)
  • Düzenlemek için Boş Alana Uzun Basın. (Ib1e5b)
  • Metne Dokunmadan Sonra Kayan Araç Çubuğunu Gizle. (If4525)
  • Seçimi güncellerken Kayan Araç Çubuğunu Gizle. (I8444c)
  • Bulanıklaştırıldığında seçimini kaldırın. (I781a2)

Sürüm 0.1.0-dev16

5 Ağustos 2020

androidx.compose.foundation:foundation:0.1.0-dev16, androidx.compose.foundation:foundation-layout:0.1.0-dev16 ve androidx.compose.foundation:foundation-text:0.1.0-dev16 serbest bırakıldı. Sürüm 0.1.0-dev16 bu kaydetmeleri içerir.

API Değişiklikleri

  • LazyItemScope, Geç listelerin itemContent parametresi için eklendi. Üst maksimum boyutu doldurmak için değiştiriciler sağlar. Böylece, öğenin görüntü alanını doldurması gerektiğinde kullanım alanı çözülür ve öğe sonsuzluk kısıtlamalarıyla ölçüldüğünden normal Modifier.fillMaxSize() çalışmaz. (Ibd3b2, b/162248854)
  • İletişim kutusunu kullanıcı arayüzüne taşı (I47fa6)
  • LazyColumnForIndexed/LazyRowForIndexed - itemCallback'te hem dizin hem de öğe sağlayan LazyColumnFor/LazyRowFor sürümleri eklendi. Bu özellik, mevcut bir öğeye ek olarak mevcut bir dizini bilmeniz gerekiyorsa yararlıdır. (I65ff3)
  • Değiştirici.deternimateProgress, Değiştirici.progressSemantics (I9c0b4) olarak yeniden adlandırıldı
  • LazyColumnItems, LazyColumnFor olarak yeniden adlandırıldı. LazyRowItems, LazyRowFor (I84f84) olarak yeniden adlandırıldı
  • En iyi uygulama nedeniyle birkaç İşaret/Not ekleyin. (I66b20)
  • Foundation.shape.corner paketi, Foundation.share olarak düzleştirilmiştir (I46491, b/161887429)
  • LazyRowItems/LazyColumnItems için esros eksen yerçekimi parametresi eklendi. LazyRowItems/LazyColumnItems artık içerik sarmalama davranışını desteklemektedir. (Ib39fc)
  • ZoomableState, ZoomableController olarak yeniden adlandırıldı. smoothScale için özel eğri desteği eklendi. enabled ve onZoomStarted işlevleri eklendi (If8b8f)
  • Material FilledTextField, TextField olarak yeniden adlandırıldı ve temel TextField, istenen en basit API'nin kolayca keşfedilmesi ve kullanılması için BaseTextField olarak yeniden adlandırıldı (Ia6242, b/155482676)
  • Daha önce desteği sonlandırılan AdapterList kaldırıldı. Bunun yerine LazyColumnItems'i kullanın (I12b9b)
  • Değiştirici.drawbackground, Değiştirici.background (I13677) olarak yeniden adlandırıldı
  • Eski ConstraintLayout DSL'si kaldırıldı. ConstraintSet2, ConstraintSet olarak yeniden adlandırıldı. (If58d1, b/162450908)
  • Modifier.Mutlak Offset() ve Modifier.strictOffsetPx() eklendi. Ofset değiştiricilerinden farklı olarak, mutlak uzaklık değiştiricileri sağdan sola bağlamda otomatik olarak yansıtılmaz (I3aa21)
  • Row ve Column artık satır içi işlevler sunuyor ve bu şekilde kullanım ek yükünü önemli ölçüde azaltıyor. (I75c10)

Hata Düzeltmeleri

  • Genel API düzeltmelerini adresleyin (I077bc)
    1. Kullanılmayan OffsetBase arayüzünü kaldırın
    2. Tutarlı bir API yüzeyine sahip olacak şekilde Ofset ve IntOffset sınıflarını hizalayın
    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ünün dışına taşındı
    5. DrawScope'u lateinit yerine boş olmayan bir parametre olacak şekilde yeniden düzenlemek ve alanın null olmadığından emin olmak için BlankCanvas saplama sınıfı oluşturuldu
    6. ClipOp enum'ları Pascal Case olarak yeniden adlandırıldı
    7. Filtre Kalitesi 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 sıralamaları, 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 kullanmayacak
    14. DrawScope güncellendi, artık dolguPaint ve stepPaint dahili parametreleri için geç yetki kullanılmayacak
    15. Daha az ek yük için Box kullanımını önlemek için composable'ı güncelleme
    16. Outline sınıfı, @Sabit ek açıklamaları içerecek şekilde güncellendi
    17. PathNode, her yol talimatı için @Immutable ek açıklamaları içerecek şekilde güncellendi
    18. Oluşturma işlemi bunları zaten işlediğinden eşitlik için gereksiz koşullu kontrolleri kaldırmak üzere Vektör alt bileşimi güncellendi
    19. Kullanımdan kaldırılan Rect tamamlayıcı oluşturucu yöntemleri, işlev kurucularının lehine
    20. Fırça sınıfları ve işlev oluşturucuları, @Immutable ve @Stable API'lerle güncellendi
    21. VertexMode sıralaması PascalCase olarak güncellendi
    22. DrawScope selectPaint yöntemi, değişmesi durumunda boyadaki çizgi parametrelerinin üzerine koşullu olarak yazılacak şekilde güncellendi
    23. Yapıyı kaldıran API'yi eklemek, UnspecifiedSize adını Belirtilmemiş olarak değiştirmek ve kullanılmayan yöntemleri kaldırmak için Boyut güncellendi
  • Koordinat tabanlı yeni saatler ve hâlâ eski geri çağırma tabanlı saatleri kullanan API'ler arasındaki boşluğu kapatmak için bir AnimationClockObservable olarak MonotonicFrameAnimationClock özelliği kullanabiliyorsunuz.

    ManualAnimationClock'ın MonotonicFrameClock eşdeğeri artık ManualFrameClock oldu. (I111c7, b/161247083)

  • SemanticsNodeInteraction.performPartialGesture kaldırıldı. Bunun yerine SemanticsNodeInteraction.performGesture kullanın. (Id9b62)

  • SemanticsNodeInteraction.getBoundsInRoot() listesi SemanticsNodeInteraction.getUnclippedBoundsInRoot() olarak yeniden adlandırıldı (Icafdf, b/161336532)

  • Sağdan sola destek API'leri güncellendi. Düzen yönünü okumak ve değiştirmek için kullanılabilecek LayoutDirectionAmbient özelliği eklendi. Değiştirici.rtl ve Modifier.ltr kaldırıldı. (I080b3)

  • Değiştirici.plus desteği sonlandırıldı. Bunun yerine Değiştirici.then'i kullanın. "O zaman" ifadesi daha güçlü bir sıralama sinyaline sahiptir ancak Modifier.padding().background() + anotherModifier yazılmasını yasaklayarak zinciri bozar ve okunması daha zordur (Iedd58, b/161529964)

  • isFocused() ve isNotFocused() SemanticsMatcher eklendi. (I0b760)

  • RemeasurementModifier eklendi. Kullanıcıların düzeni eşzamanlı olarak yeniden ölçmesine olanak tanır. Genel olarak, yeniden ölçme/yeniden düzenleme otomatik olarak gerçekleştiğinden bunlara hiçbir zaman ihtiyacınız olmaz ancak kaydırma sırasında LazyColumnItems'in içinde kullanılır. (I5f331, b/160791058)

  • isSystemInDarkTheme artık her zaman sistem genelindeki koyu tema ayarını dikkate alıyor ve en son yönergeleri uygulayarak Q'dan önceki güç tasarrufu durumunu yok sayıyor. (I0c10c)

  • OnChildPositioned desteği sonlandırıldı. Bunun yerine alt öğede OnPositioned kullanın. (I87f95, b/162109766)

  • AndroidComposeTestRule, createAndroidComposeRule olarak yeniden adlandırıldı. (I70aaf)

  • TextLayoutResult (I9d6e6) öğesini almak için erişilebilirlik işlemi ekleyin

Sürüm 0.1.0-dev15

22 Temmuz 2020

androidx.compose.foundation:foundation:0.1.0-dev15, androidx.compose.foundation:foundation-layout:0.1.0-dev15 ve androidx.compose.foundation:foundation-text:0.1.0-dev15 serbest bırakıldı. Sürüm 0.1.0-dev15 bu kaydetmeleri içerir.

Oluşturma'nın 0.1.0-dev15 sürümünü kullanmak için şunları yapmanız gerekir:

Bağımlılık Güncellemesi

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

API Değişiklikleri

  • KaydırılabilirSütun/Kaydırılabilir Satır LazyColumnItems/LazyRowItems içindeki yeni parametreye benzer bir şekilde, artık kırpıldıktan sonra içeriğe dolgu eklenmesine olanak tanıyan contentPadding parametresi de bulunmaktadır. Bu, yalnızca bir değiştirici parametreyle mümkün değildir. Ayrıca, yalnızca ilk öğeden önce/son öğeden sonra boşluk eklenmesine olanak tanır. (Ibc24e)
  • Metin alanlarında onFocusChange geri çağırması onFocusChanged olarak (Ida4a1)
  • Vertical Scroller ve Horiziontal Scroller desteği sonlandırıldı. Column/Row davranışı ve parametreleriyle yerleşik deneyim için ScrollableColumn ve ScrollableRow'u ya da kendi öğenizde Değiştirici.verticalKaydırma ve Modifier.Yatay Kaydırma'yı kullanın. Benzer şekilde, ScrollerPosition desteği ise ScrollState'in (I400ce, b/157225838, b/149460415, b/154105299) kullanılmasıyla sonlandırılmıştır.
  • Değiştirici.draggable ve Modifier.scrollable API'leri yeniden işlendi. Sürükleme Yönü, Yön yönünden kaldırıldı. Kaydırılabilir öğe için gereken durum basitleştirildi. ScrollableState, ScrollableController olarak yeniden adlandırıldı (Iab63c, b/149460415)
  • Tek değerli anlamsal özellikler artık bir çağrı stili kullanır. Örneğin, "anlamsal {gizli = doğru }", artık şu şekilde yazılıyor: semantics { hidden() }. (Ic1afd, b/145951226, b/145955412)
  • RoundedCornerShape ve CutCornerShape tarafından kullanılan köşe boyutları artık %50'den büyük olabiliyor (Id2340, b/160400213)
  • Resim composable için varsayılan ContentScale parametresi, Inside'dan Fit olarak değiştirildi. Bu işlem, en boy oranını korurken düzen boyutu ressamın gerçek boyutundan büyükse alttaki boyanın ölçeğini büyütme davranışını elde etmek için yapıldı. Bu davranış, Görüntü'ye sabit boyutlar sağlamayla ilgili beklentileri daha iyi karşılar ve composable'ın boyutunu hesaplamak için yalnızca içsel boyut kullanılıyorsa varsayılan davranışı etkilemez. (I40ae3, b/159838006)
  • Statik animasyon spesifikasyonu kavramını açıklığa kavuşturmak için üst düzey API'lerde AnimationBuilder yerine AnimationSpec kullanın -Tween, ilkbahar gibi AnimationSpecs oluşturmak için lambda gereksinimini kaldırarak geçiş DSL'sini iyileştirin. Bunun yerine, oluşturucu parametreleri doğrudan alırlar. -AnimationSpec\u2019in derleyicilere güvenmek yerine oluşturucu açılarak genel kullanım kolaylığını artırın -KeyFrames ve Tween için süre ve gecikmeyi Int olarak değiştirin. Bu, gereksiz tür yayınları ve yöntemin aşırı yüklenmesini (hem Long hem de Int’i desteklemek için) ortadan kaldırır. (Ica0b4)
  • Tıklanabilir öğe kaldırıldı. Değiştirici.clickable'ı kullan (I84bdf)
  • LazyRowItems eklendi - LazyColumnItems'in (Ibbcf7) yatay olarak kaydırılan analogu
  • Alt düzey durum bilgisiz animasyon API'leri kullanıma sunuldu. Bu API'ler (I63bf7)
  • androidx.ui.foundation.TextFieldValue ve androidx.ui.input.EditorValue desteği sonlandırıldı. Bu türü kullanan TextField, FilledTextField ve CoreTextField composable'ları da kullanımdan kaldırıldı. Lütfen bunun yerine androidx.ui.input.TextFieldValue kullanın (I4066d, b/155211005)
  • IntPx kullanımı Int ile değiştirildi. IntPxPosition, IntOffset olarak değiştirildi. IntPxSize, IntSize olarak değiştirildi. (Ib7b44)
  • androidx.ui.foundation.shape.RectangleShape kaldırıldı; androidx.ui.graphics.RectangleShape'i (I94939, b/154507984) kullanın
  • Boyutlandırma bilgilerini temsil etmek için kullanılan sınıf sayısını birleştirmek için PxSize yerine Boyut sınıfının kullanımını standartlaştırın. Bu, satır içi sınıfın, kayan olarak temsil edilen genişlik ve yüksekliği temsil eden uzun paket 2 kayan değerinden yararlanma avantajını sağlar. (Ic0191)
  • Konumlandırma bilgilerini temsil eden sınıf sayısını birleştirmek için PxPosition yerine Offset sınıfının kullanımını standartlaştırın. Bu, satır içi sınıfın x ve y ofsetlerini hareketli olarak temsil edilen x ve y ofsetlerini temsil etmesi için uzun paket 2 kayan değerden yararlanma avantajını sağlar. (I3ad98)
  • İki parmak ucunu yakınlaştırma ya da uzaklaştırma işlevi için Değiştirici.yakınlaştırılabilir özelliği eklendi (Id5d63)
  • Geçiş yapılabilir bileşen kullanımdan kaldırıldı. Bunun yerine Değiştirici.toggleable'ı kullanın (I35220, b/157642842)
  • MutuallyÖzelSetItem desteği sonlandırıldı. Bunun yerine Değiştirici.selectable'ı kullanın. (I02b47, b/157642842)
  • TestTag'in desteği sonlandırıldı. Bunun yerine Değiştirici.testTag'i kullanın. (If5110, b/157173105)
  • Metne yanlışlıkla daha önce eklenmemiş olan fontweight parametresini ekler (I56937)
  • Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I19d02)
  • Dikey Kaydırma aracı, artık Dikey Sütunu kullanıma hazır hale getiriyor. HorizontalKaydırıcı artık Row'u kullanıma hazır olarak sunuyor. (Ieca5d, b/157020670)
  • Piksel parametreleri için yalnızca Dp ve temel türlere dayanacak şekilde yapılan büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (Iede0b)
  • Değiştirici.indication, temel paketine eklendi. Özel etkileşimli öğelerinizde (I8425f, b/155287131) bas/sürükle/diğer göstergelerini göstermek için kullanın
  • Dikey Kaydırma ve HorizontalKaydırma özelliği artık ScrollerPosition'ta (I953bd) ayarlı ters kaydırmayı destekliyor
  • Metin düzenine composable ekleme desteği. (I1373c)
  • Birleştirilmiş CanvasScope uygulamaları artık yalnızca DrawScope ve ContentDrawScope yeniden adlandırıldı CanvasScope, DrawScope olarak adlandırıldı. DrawScope, Yoğunluk arayüzünü uygulamak ve ContentDrawScope'ta LayoutDirection (LayoutDirection) Silinen DrawScope alt sınıfını sağlamak için güncellendi DrawScope bunu manuel olarak sağlamadan zaten RTL özelliğini sağladığından artık RTL mülkünü sürdürmeyecek şekilde güncellendi (I1798e)
  • Değiştirici'de, çizim arka plan uzantı API'lerinin sağlanmasına yönelik desteği sonlandırılan DrawBackground API'si kaldırıldı. Kod yollarını azaltmak ve kompozisyonun bir parçası olarak Değiştirici'nin oluşturulması şartını kaldırmak için renk, fırça ve boya ile çizim arka plan uygulamaları yeniden düzenlendi. (I0343a)
  • Bunun yerine CanvasScope'u açığa çıkarmak için bir Tuval'i açığa çıkaran daha üst düzey oluşturma API'leri güncellendi. Bu, tüketicilerin kendi Paint nesnelerini yönetme ihtiyacını ortadan kaldırır. Hâlâ bir Tuval'e erişmesi gereken tüketiciler, temel Canvas'la çizim komutları vermek için geri çağırma sağlayan "drawCanvas" uzantı yöntemini kullanabilir. (I80afd)
  • Horizontal Scroller ve Vertical Scroller, kayıtlı örnek durumunu kullanarak kaydırma konumlarını geri yüklemez. (Ia0fae, b/155075048)
  • FocusManagerAmbient kaldırıldı. Odağı elde etmek için FocusModifier.requestFocus işlevini kullanın. (Ic4826)
  • Tablo düzeni, yeni bir API ile tekrar kullanılabilir hale gelene kadar geçici olarak kaldırıldı. (Id88a7)
  • Durum bilgisiz, bildirim temelli bir çizim API yüzeyi sunmak için Canvas nesnesini sarmalayan CanvasScope API oluşturuldu. Dönüşümler kendi alıcı kapsamlarında yer alır. Boyutlandırma bilgileri de ilgili iç sınırların kapsamına alınır. Bir tüketicinin, çizim işlemlerini yapılandırmak için kendi Boyama durumu nesnesini tutmasını gerektirmez.

    CanvasScopeSample eklendi ve demo uygulaması bildirime dayalı grafik demosu (Ifd86d) içerecek şekilde güncellendi.

  • ColoredRect kaldırıldı. Bunun yerine çizim arka planı değiştiricili kullanıcı kutusu (I983c7, b/152753731)

  • Metin alanına imleç rengini özelleştirme (I6e33f) ekleme

  • Artık onTextInputStarted geri çağırması (I8dc44, b/151860051) tarafından sunulan SoftwareMusicController kullanılarak yazılım klavyesi gizlenebilir/gösterilebilir.

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

  • Text()'e yaygın olarak kullanılan parametreleri ekler. Şu anda Text(style = TextStyle(textAlign = TextAlign.Center)) gibi az sayıda parametre iletmek için yerel metin stili oluşturuyorsanız artık parametreleri doğrudan doğrudan sağlayabilirsiniz: Text(textAlign = TextAlign.Center) (I82768)

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

  • Metin Alanı güncellemesi - yatay boyutta, kendisine verilen mevcut tüm alanı kaplar (Ib08df, b/154638552)

  • Basma ve sürükleme gibi kullanıcı arayüzü durumu değişikliklerine tepki veren bileşenler oluşturmayı kolaylaştıran EngagementState ve engagement eklendi (Icfe25, b/152525426)

  • RectangleShape, androidx.ui.foundation.shape.* konumundan androidx.ui.graphics* konumuna taşındı. (Ia74d5, b/154507984)

  • API'deki tüm null değer içeren Color kullanımları null olmayan değer ile değiştirildi ve null yerine Color.Unset kullanılır (Iabaa7)

  • TextField API güncellemesi: onFocus ve onBlur geri çağırmaları, (I66cd3) parametresiyle tek bir onFocusChange (Boolean) geri çağırması olarak birleştirildi

  • ScaleFit, ContentScale olarak yeniden adlandırıldı ContentScale, ui-graphics'ten ui-core modülüne ve uyumlu hale getirme API'si ile aynı modülde yer alacak şekilde taşındı. FillMaxDimension, Kırpıldı olarak yeniden adlandırıldı. FitMinDimension1, Sığdır olarak yeniden adlandırıldı. ImageView.ScaleType eşdeğerleriyle daha iyi eşleşmesi için Fit, Inside olarak yeniden adlandırıldı. Kırpma ve Hizalama Merkezi kombinasyonunun ImageView.ScaleType.CENTER_CROP ve Fit işleviyle aynı sonucu elde ettiğini gösteren dokümanlar eklendi. Hizalama.Center ile birlikte kullanılan Fit, aynı sonucu verir. ImageView.ScalefIDE5 ise aynı sonucu verir. ImageView.ScalefIDE5 ise aynı. ImageView.ScalefIDE5 olarak kullanılır. Inside.Center View.

  • OfferContentColor'ı kaldırır. Bunun yerine ContentColorAmbient'i doğrudan Providers (Iee942) ile kullanmanız yeterlidir.

  • Metne renk parametresi ekleyerek metin stilinin renginin, temada sağlanan stille manuel olarak birleştirmeye gerek kalmadan geçersiz kılınmasına olanak tanır. (I41a66)

  • DrawModifier API'sini iyileştirin:

    • Paint() ContentDrawScope için alıcı kapsamı oluşturuldu
    • Çizimler() işlevindeki tüm parametreler kaldırıldı
    • DrawScope, eski CanvasScope ile aynı arayüze sahiptir
    • ContentDrawScopedrawContent() yöntemini içerir (Ibaced, b/152919067)
  • ColoredRect desteği sonlandırıldı. Bunun yerine Box(Modifier.preferredSize(width, height).drawBackground(color)) politikasını kullanın. (I499fa, b/152753731)

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

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

  • Sürüklenebilir, değiştiriciye taşındı (Id9b16, b/151959544)

  • Text, androidx.ui.core kaynağından androidx.ui.foundation paketine taşındı. (I87ce5)

  • Onay Kutusu, Değiştir ve Geçiş Yapılabilir özelliğine (I41c16) enabled parametresi ekle

  • Ripple artık bir Değiştirici oldu. Tıklanabilirlik henüz dönüştürülmemiş olsa da önerilen kullanım Clickable( ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763) şeklindedir.

  • Vektör grafikleri için mevcut alt bileşen API'sinin yerini alması amacıyla VectorPainter API eklendi. Alt bestenin sonucu, DrawModifier yerine bir VectorPainter nesnesidir. Önceki DrawVector composable'larının desteği, VectorPainter'ın adına kullanımdan kaldırıldı.

    Image(Painter) API'si PaintBox(Painter) olarak yeniden adlandırıldı ImageAsset yerine VectorAsset yerine Resim composable gibi davranan Vector composable oluşturuldu (I9af9a, b/149030271)

  • Ekrana belirli bir ImageAsset çizimi yapmanın yanı sıra boyutlandırma/düzeni işlemek için composable oluşturuldu. Bu composable, doğal boyutuna göre rastgele bir Painter örneği çizmenin yanı sıra belirli bir sabit veya minimum boyutu (Ibcc8f) desteklemeyi de destekler

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

  • Resim verileri ile düzene katkıda bulunmak ve içerik çizmek için kullanılan yeni Resim composable arasındaki farkı daha iyi ayırt etmek için ImageAsset olarak yeniden adlandırıldı.

    Geleneksel Android uygulaması geliştirmeyi, oluşturma çerçevesiyle birleştirmede yararlı bir ImageAsset örneği oluşturmak için android.graphics.Bitmap (Bitmap.asImageAsset()) üzerinde bir uzantı yöntemi oluşturuldu. (Id5bbd)

  • DrawImage composable kaldırıldı. Mevcut düzen üzerine resim çizmek için ImagePainter'ı veya yer kaplayan Resim tanıtmak için SimpleImage'ı kullanın (I595e1, b/149827027)

  • Yığın bileşeni, sağdan sola yönü destekler (Ic9e00)

  • Simge, iconButton ve iconToggleButton eklendi, AppBarIcon kaldırıldı. Mevcut AppBarIcon kullanımlarını doğrudan iconButton ile değiştirebilirsiniz. Artık bu kullanımlar doğru dokunma hedefine sahip olur. Kullanım bilgileri için örneklere ve bu bileşenlerle doğrudan kullanabileceğiniz, sağlanan Malzeme Simgelerinin Simgelerine bakın. (I96849)

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

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

  • Özel Kaydırıcılar/Listelerin (I5fd37) oluşturulmasına olanak tanıyan kaydırılabilir bileşen eklendi

  • Arka plan, DrawBackground olarak yeniden adlandırıldı ve arka planın varsayılan olarak hafızaya alınması olacak şekilde ayarlandı (Ia0bd3)

  • Box'a dolgu, kenarlık, şekil ve arka plan parametresi ekleme (I05027, b/148147281)

  • Tuval bileşeni eklendi. Bu composable, kullanıcı tarafından sağlanan bir boyut kaplar ve CanvasScope (I0d622) kullanarak çizim yapmanızı sağlar.

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

  • Düzen ve ortak çizim işlevlerini birleştirmek için Kutu bileşeni eklendi. (I6e2a7)

  • Kaydırıcılar artık yerel Android hızlı kaydırma hareketi davranışı sergiliyor. (I922af, b/147493715)

  • DrawBorder yerine Sınır Değiştirici'nin (Id335a) kullanılması

  • Değiştirici.tag, Modifier.testTag ile karışmasını önlemek için Değiştirici.layoutId olarak yeniden adlandırıldı. (I995f0)

  • ConstraintLayout yönergeleri oluşturulurken yüzde parametresi kesir olarak yeniden adlandırıldı. (Ida2db)

  • ConstraintLayout bariyerlerinin kenar boşlukları için destek eklendi. (I47ffe)

  • ConstraintLayout'ta RTL desteği düzeltildi. RTL'den haberdar olmayan API'ler eklendi. (I3b1c7)

  • ConstraintLayout için yeni DSL eklendi. Daha fazla bilgi için lütfen örneklere bakın. (Icaa9a)

  • @ ExperimentalLayout ek açıklaması eklendi. ConstraintLayout, FlowRow ve FlowColumn olarak da API'lerinin değişeceğini belirtmek için artık bu öğelerle etiketleniyor. (I412a8)

  • Modifier.padding(InnerPadding) eklendi (I94985, b/157133803)

  • Kullanımdan kaldırılan Satır ve Sütun sütunlarında Row mı, ColumnHizalama ise kaldırıldı. (If60d4, b/155858731)

  • Kullanımdan kaldırılan LayoutTag() kaldırıldı. Lütfen bunun yerine Değiştirici.tag() işlevini kullanın. Kullanımdan kaldırılan Modifier.matchParent() kaldırıldı. Lütfen bunun yerine Değiştirici.matchParentSize() işlevini kullanın. (If8044)

  • Ofsetleri px cinsinden (dinamik) tanımlamak için kullanılabilecek ofsetPx düzen değiştiricisi eklendi. (I5af57)

  • AdjustLineOffset composable kullanımdan kaldırıldı. Lütfen bunun yerine göreliPaddingFrom() değiştiricisini kullanın. CenterHimentLine composable kaldırıldı. (I60107)

  • Yalnızca gelen karşılık gelen kısıtlamalar belirtilmediğinde sarmalanmış düzene boyut kısıtlamaları ayarlayan defaultMinSizeConstraints düzen değiştiricisi (minimum kısıtlamalar için 0, maksimum kısıtlamalar için sonsuzluk). (I311ea, b/150460257)

  • Kapsayıcı kaldırıldı. Bunun yerine Box'ı kullanın (Ibbc2b, b/151407926)

  • Kullanımdan kaldırılan DüzenGenişliği/Yükseklik/Boyut değiştiricileri kaldırıldı. (Ib0bc1)

  • Ofset değiştirici için varsayılan parametre değerleri eklendi. (I37f06)

  • Simetrik dolgu değiştirici eklendi. (I39840)

  • Desteği sonlandırılan LayoutAspectRatio değiştiricisi kaldırıldı. (I65a74)

  • Kullanımdan kaldırılan Layoutalign değiştiricileri kaldırıldı. (I10877)

  • Sarmalanmış düzenin karşıt eksen kısıtlamaları olmadan ölçülmesine neden olan genişlik ve yükseklik değiştiricilerinde bulunan bir hata düzeltildi. (I210b8, b/154797971)

  • Sırasıyla Satır ve Sütun sütununa verticalGravity ve landscapeGravity parametreleri eklendi. (I7dc5a)

  • WrapContentWidth ve WrapContentHeight, herhangi bir Hizalama yerine dikey veya yatay Hizalama beklenecek şekilde güncellendi. Yer çekimi değiştiricisi, dikey veya yatay Hizalamayı kabul edecek şekilde güncellendi. Satır, Sütun ve Yığın, özel sürekli Hizalamaları destekleyecek şekilde güncellendi. (Ib0728)

  • Hizalama rastgele değerlerle örneklenebilir hale getirildi. 1D Hizalamalar Eklendi. (Ia0c05)

  • EdgeInset'ler InnerPadding olarak yeniden adlandırıldı. Material Buttons'ın innerPadding parametresi, yatay kaydırma olarak yeniden adlandırıldı. (I66165)

  • levelToSiblings artık Yerleştirilebilir yerine Ölçülmüş kabul etmeyi kabul ediyor. (I5788d)

  • İçsel ölçümlere boyutlandırma için değiştiriciler eklendi ve bu amaca hizmet eden bileşenler kullanımdan kaldırıldı. (I8295d)

  • ConstraintLayout (Idb1a5) alt öğelerinin boyutlarını özelleştirmek için destek eklendi

  • Desteği sonlandırılan Sarma ve Center composable'ları kaldırıldı. (I29e23)

  • Düzen değiştiricileri tanımlamak için kullanılan yeni bir API olan LayoutModifier2 eklendi, LayoutModifier (If32ac) kullanımdan kaldırıldı.

  • RowScope ve ColumnScope üyelerine artık Satır ve Sütun dışından erişilebilir. (I3a641)

  • Container'ın desteği sonlandırıldı. Bunun yerine Box'ı kullanın. (I675ce, b/151407926)

  • Ofset ayarlama konumu için LayoutOfset değiştiricisi eklendi (I0b8a3)

  • Compose düzeninde Rtl için ilk destek (Ia5519)

  • Layoutalign özelliği, kullanılabilir alanı artık doldurmayacak şekilde güncellendi (I2b14f)

  • AspectRatio composable yerine değiştirici kaldırıldı. Eski FlexColumn, FlexRow composable'ları ve Aralık değiştiricisi (Iec8a7) silindi

  • Satır ve Sütun için LayoutInflexible değiştiricisi (I0d820) kaldırıldı

  • TextField seçimini değiştirmek için Seçim Tutamaçlarını Sürükleyin. (I27032)

  • Metin Alanı Seçimi için Long PressAndDrag uygular. (I17919)

Hata Düzeltmeleri

  • FocusModifier; Değiştirici.focus, Modifier.focusRequester, Modifier.focusObserver'ın yerini alması için kullanımdan kaldırılmıştır. FocusState ve FocusAyrıntılıState kullanımdan kaldırılarak, FocusState2'nin kullanılması (I46919, b/160822875, b/160922136)
  • runOnIdleCompose, runOnIdle (I83607) olarak yeniden adlandırıldı
  • Bazı test API'leri, daha sezgisel olacak şekilde yeniden adlandırıldı. TümfindXYZ API'leri, onNodeXYZ olarak yeniden adlandırıldı. Tüm doXYZ API'leri, performXYZ olarak yeniden adlandırıldı. (I7f164)
  • Kullanımdan kaldırılmış olan Değiştirici.ripple kaldırılır. Tıklanabilirlik, artık varsayılan gösterge olarak ripple'ı (uygulamanızda ayarlanmış bir MaterialTheme {} öğesi varsa) kullanıyor. Çoğu durumda, sadece tıklanabilir ve ücretsiz olarak dalga gösterimi alabilirsiniz. Dalga için renk / boyut / sınırlı parametreyi özelleştirmeniz gerekirse manuel olarak bir Dalga Göstergesi oluşturabilir ve bunu, gösterge parametresi olarak tıklanabilir hale geçirebilirsiniz. (I663b2, b/155375067)
  • Eski boyut testi API'leri kaldırıldı. (Iba0a0)
  • Made LayoutNode deneysel API'sı (I4f2e9)
  • Kaydırma yönü kilitlemenin 1. sürümü, Compose genelinde uygulandı. (I1ce7a, b/150289741)
  • Pop-up'lar, iletişim kutuları ve menüler artık içeriğe dayalı MaterialTema'yı (Ia3665, b/156527485) devralıyor
  • Layout() işlevinin ölçüm bloğundan düzen yönü parametresi kaldırıldı. Bununla birlikte düzen yönü, ölçüm kapsamı nesnesi (Ic7d9d) ile geri çağırma içinde kullanılabilir
  • MutlakArrangement ekle: Alt satırdaki alt öğelerin, RTL'de (I3a1df) otomatik yansıtma olmadan düzenlenmesine olanak tanır
  • @Untracked ek açıklaması kullanımdan kaldırıldı. @ComposableContract(tracked=false) (Id211e) ile değiştirin
  • Bu değişiklikten önce, oluşturma derleyici eklentisi, @Composable işlevinin içinde bir (I5205a, b/158123804) bulunan kuruculara yapılan çağrılara sıra dışı bir şekilde müdahale ediyordu.
  • Etkinlik veya Parça (I5fdd1) içindeki çalışma şekline benzer şekilde ViewModel oluşturulmasına veya önceden oluşturulmasına olanak tanıyan viewModel() composable'ı ekleyin
  • Yarıçap sınıfı, satır içi sınıf olacak şekilde yeniden düzenlendi. Y eksenindeki yarıçapın zorunlu x ekseni yarıçap parametresiyle aynı olması için varsayılan parametreye sahip işlev oluşturucu yerine tamamlayıcı oluşturma yöntemleri kaldırıldı.

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

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel alan büyük yeniden düzenleme çalışmaları kapsamında, çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi. Px sınıfı tamamen silindi (I3ff33)

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I086f4)

  • Piksel parametreleri için yalnızca Dp ve temel türleri temel almaya yönelik büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (Id3434)

  • Piksel parametreleri için yalnızca Dp ve temel türlere dayanacak şekilde yapılan büyük yeniden düzenleme çabasının bir parçası olarak çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi (I97a5a)

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

  • Kısmi hareketler artık birHareket Token'ın (Id7ae5) aktarılmasını gerektirmiyor

  • Piksel parametreleri (I57bff) için yalnızca Dp ve temel türleri temel alan büyük yeniden düzenleme çalışmaları kapsamında, çeşitli oluşturma sınıflarında Px sınıfı kullanımı değiştirildi

  • Değiştirici.semantik özelliği, üst düzey bileşenlerin kullanımına izin vermek için kullanımdan kaldırıldı. (I4cfdc)

  • AnnotatedString.Builder.addDescriptionString olarak addStringDescription değerini yeniden adlandırın. (I5059e)

  • Hizalama API'si güncellendi ve mutlak hizalama desteği eklendi (Rtl bağlamında otomatik olarak yansıtılmaz) (I38cd3)

  • Layout ve LayoutModifier alt öğeleri, farklı bir düzen yönüyle ölçülebilir. (Ibd731)

  • Temel ImageAsset'in (I0ea9e) bir alt bölümünün çizilmesini desteklemek için ImagePainter'a isteğe bağlı ek rect parametresi ekleyin

  • Öğeler kaldırılırken Bağdaştırıcı Listesi'ndeki bir kilitlenme düzeltildi (Ic64b0, b/153195921)

  • activity.setContent { } bloğuna yerleştirdiğiniz ilk düzeni ölçme şeklimizi değiştirdik. Önceden, etkinlik ekranının tamamını doldurmaya zorlanırken şimdi düzeninizi bir Yığının içine yerleştiriyormuş gibi davranır: Bir ekrandan daha küçük olabilir ve sol üst ekrana yerleştirilir. Eski davranışı istiyorsanız düzeniniz için Modifier.fillMaxSize() uygulayabilirsiniz. (Ie88a7, b/153453714)

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

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

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

  • runOnIdleCompose ve runOnUiThread artık ComposeTestRule'daki yöntemler yerine genel işlevler oldu. (Icbe8f)

  • [Mutable]Eyalet mülk yetki operatörleri, Kotlin 1.4 mülkü yetki optimizasyonlarını desteklemek için uzantılara taşındı. Arayanlar, by state { ... } veya by mutableStateOf(...) uygulamasını kullanmaya devam etmek için içe aktarma eklemelidir. (I5312c)

  • DrawKatmanModifier vedrawlayer() artık varsayılan olarakClipToBounds ve klipToOutline için false (yanlış) değerini alır. (I0eb8b, b/152810850)

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

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

  • LayoutEsnek, LayoutAğırlık olarak yeniden adlandırıldı. Sıkı parametre, doldurulacak şekilde yeniden adlandırıldı. (If4738)

  • DrawVector, normal bir composable işlevinden, vektörü arka plan olarak bir düzene çizecek olan bir ChangeVector() fonksiyonunu döndürecek şekilde değiştirilmiştir. (I7b8e0)

  • ClipToBounds adlı composable fonksiyonunun yerine şu düzenleyiciyi kullanın: DrawClipToBounds, yalnızca katman sınırlarına dikdörtgen bir şekille kırpmanız gerektiğinde kullanabileceğiniz pratik bir değiştiricidir. (If28eb)

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

  • androidx.compose.ViewComposer, androidx.ui.node.UiComposer konumuna taşındı.androidx.compose.Emittable kaldırıldı. ComponentNode ile gereksizdi. androidx.compose.ViewAdapters kaldırıldı. Bunlar artık desteklenen bir kullanım alanı değildir. Compose.composeInto desteği sonlandırıldı. Bunun yerine setContent veya setViewContent kullanın. Compose.disposeComposition kullanımdan kaldırıldı. Bunun yerine setContent tarafından döndürülen Composition öğesinde dispose yöntemini kullanın. androidx.compose.Compose.subcomposeInto, androidx.ui.core.subcomposeInto adresine taşındı. ComponentNode#emitInsertAt, ComponentNode#insertAt ComponentNode#emitRemoveAt olarak yeniden adlandırıldı.

  • Desteği sonlandırılmış Wrap composable. Bunun yerine, LayoutHizala düzenleyici veya Stack composable (Ib237f) değiştiricisiyle değiştirilebilir.

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

  • Yeni oluşturulan Değiştirici, birden çok Değiştirici örneğinde paylaşılabilecek orijinal Painter'a bir referans içerdiğinden Painter.toModifier olarak yeniden adlandırın (I7195b)

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

  • Yoğunluk ve Yoğunluk Kapsamı tek bir arayüzde birleştirildi. ambientDensity() yerine artık DensityAmbient.current kullanabilirsiniz. withDensity(yoğunluk) yerine sadece(yoğunluk) (I11cb1)

  • ValueHolder sınıfı kaldırıldı. Alt sınıfların değer güncellemesini izleyebilmesi için animasyon değeri alanını soyut yapmak amacıyla Animasyon Değerini, Animasyon Kayanlığını Sınıfları yeniden yapılandırıldı.

    • Animasyon Değeri, Animasyonlu Kayan vb. için model sınıfları eklendi.
    • Değerler arasında animasyon oluşturmak için yeni bir basit @Composable API grubu eklendi.
    • (I79530)
  • Ambiyans API'sinde büyük değişiklikler yapılıyor. Ayrıntılar için günlüğe ve Ambient<T> dokümanlarına bakın (I4c7ee, b/143769776)

  • Placeable#get(alignmentLine)'dan döndürülen hizalama satırı Int konumları artık null değildir. Sorgulanan hizalama satırı eksikse HizalamaÇizgisi.Belirtilmemiş döndürülür. (I896c5, b/158134875)

  • Yeniden düzenlemelerde kilitlenmeye neden olan ConstraintLayout hatası düzeltildi. (Ibee5a, b/158164341)

  • WithConstraints takip eden lambda API değiştirildi. Artık iki parametre yerine, sınırlamalara ve layoutDirection'a ek olarak, Dp'de (I91b9a, b/149979702) minWidth, maxWidth, minHeight ve maxHeight özelliklerini sağlayan

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

  • Layout ve LayoutModifier2 üzerindeki içsel ölçüm işlevlerinde, artık örtülü olarak yayılan düzen yönü ile intrinsics sorgu API'si sağlayan bir IntrinsicMeasureScope alıcısı bulunuyor. (Id9945)

  • LayoutDirectionAmbient desteği sonlandırıldı. Yerel ayarın tanımladığı düzen yönünü okumak için ConfigurationAmbient'te (I851b1) localeLayoutDirection'ı kullanın

  • LayoutKoordinatlar içinpositionInParent ve boundsInParent eklendi. (Icacdd, b/152735784)

  • ParentData composable desteği sonlandırıldı. Ya ParentDataModifier arayüzünü uygulayan bir değiştirici olmalı ya da düzen alt öğelerini ölçüm bloğunda tanımak için sadece düzen alt öğelerini etiketlemeniz gerekiyorsa LayoutTag değiştiricisini kullanmalısınız. (I51368, b/150953183)

  • OnPositioned ve OnChildPositioned composable işlevlerinin yerine geçmek için OnPositionedModifier ve OnChildPositionedModifier ekleyin. (I2ec8f)

  • LayoutPadding'te negatif dolguya izin verme. Negatif konum ofsetleri için bunun yerine LayoutOfset kullanılmalıdır. (Ifb5b1)

  • WithConstraints LayoutDirection parametresini (I6d6f7) aldı

  • ComposeFlags.COMPOSER_PARAM işareti true olarak güncellendi. Bu işlem, oluşturma eklentisinin kod oluşturma stratejisini değiştirecek. Genel olarak bu, @Composable işlevlerinin ek bir sentetik parametreyle oluşturulmasına neden olur. Bu parametreler, çalışma zamanının yürütmeyi düzgün şekilde yönetmesi için sonraki @Composable çağrılarına iletilir. Bu, ikili programları bozan önemli bir değişikliktir ancak tüm yaptırım uygulanan oluşturma kullanımlarında kaynak düzeyinde uyumluluğun korunması gerekir. (I7971c)

  • LayoutKoordinatlar, providedalignmentLines'ı Harita yerine bir Set olarak kullanmak ve LayoutKoordinatlar'ın bir değer almak için bunun yerine get() operatörünü uygulamasını sağlamak amacıyla değiştirilmiştir. Bu sayede, her değiştirici için yeni bir koleksiyon oluşturmadan değiştiricilerin, kümenin bir veya daha fazla değerini kolayca değiştirmesi kolaylaşır. (I0245a)

  • Düzen Koordinatları artık konum özelliğine sahip değildir. LayoutModifiers, rotasyon veya ölçeklendirme göz önünde bulundurulduğunda konum özelliği bir anlam ifade etmez. Bunun yerine, geliştiriciler bir LayoutKoordinatör'den diğerine dönüşümü hesaplamak için parentcoordinates ve childToLocal() kullanmalıdır.

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

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

  • TextDirection.Content eklendi (I48f36)

  • Kopyalama, kesme ve yapıştırma işlemlerini düzgün bir şekilde göstermek için Araç Çubuğu Menüsünü ayarlayın. (Id3955)

  • Metin Alanı Seçimi için Kayan Araç Çubuğu ekleyin. (Ie8b07)

  • TextDirectionAlgorithm, TextDirection (I75ce8) olarak yeniden adlandırıldı

  • TextDirection, SolutiondTextDirection (I3ff38) olarak yeniden adlandırıldı

  • Metin Alanı Seçimine HapticFeedback'i ekleyin. (I58050)

  • Metin Alanı Seçimi'ne Kopyala, Kes ve Yapıştır yöntemleri ekleyin. (Idb70b)

  • TestTag ve Semantics silindi. Bunun yerine Modifier.testTag ve Modifier.semantics'i kullanın (I15ff0, b/158841414)

  • Yerel Ayar ve Yerel Liste için androidx.ui.text olan paket adı androidx.ui.intl (I8132c) olarak değiştirildi

  • API değişikliği: AnnotatedString(builder: Builder), annotatedString(builder: Builder) olarak yeniden adlandırıldı. (Ia6377)

  • API değişikliği: AnnotatedString.Item, AnnotatedString.Range olarak yeniden adlandırıldı. (I2d44d)

  • Metinle ilgili işlemler için Araç Çubuğu'nu ekleyin. (I49d53)

  • Yeni LifecycleSahipAmbient özelliği artık kullanılabilir. Compose kullanıcı arayüzüyle kullandığınız bir etkinlik artık androidx.activity.ComponentActivity veya AppCompatActivity öğesini genişletiyor olabilir. android.app.Activity üzerindeki setContent artık kullanımdan kaldırıldı (Idb25a, b/153141084)

  • ui-android-text paket adı (androidx.text), androidx politikasına uygun olmak için androidx.ui.text.platform ile değiştirilir. (I42711)