कंपोज़ फ़ाउंडेशन

बिल्डिंग ब्लॉक इस्तेमाल करने के लिए तैयार Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपने खुद के डिज़ाइन सिस्टम के हिस्से बनाने के लिए आधार बढ़ाएं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
24 जुलाई, 2024 1.6.8 - 1.7.0-बीटा06 -

संरचना

androidx में सात Maven ग्रुप आईडी, एक साथ मिलकर बनाए जाते हैं. हर ग्रुप इसमें सुविधा का एक खास सबसेट शामिल होता है, जिसमें हर सुविधा के लिए रिलीज़ का अपना सेट होता है नोट.

इस टेबल में, रिलीज़ नोट के हर सेट के ग्रुप और लिंक के बारे में बताया गया है.

ग्रुपब्यौरा
compos.animationउपयोगकर्ता अनुभव को बेहतर बनाने के लिए, उनके Jetpack Compose ऐप्लिकेशन में ऐनिमेशन बनाएं.
compos.compiler क्या है@Composable फ़ंक्शन को ट्रांसफ़ॉर्म करें और Kotlin कंपाइलर प्लगिन की मदद से ऑप्टिमाइज़ेशन चालू करें.
compos.foundationबिल्डिंग ब्लॉक इस्तेमाल करने के लिए तैयार Jetpack Compose ऐप्लिकेशन लिखें. साथ ही, अपने खुद के डिज़ाइन सिस्टम के हिस्से बनाने के लिए आधार बढ़ाएं.
compos.materialमटीरियल डिज़ाइन कॉम्पोनेंट इस्तेमाल करने के लिए तैयार Jetpack Compose के यूज़र इंटरफ़ेस (यूआई) बनाएं. यह Compose का उच्च लेवल का एंट्री पॉइंट है. इसे ऐसे कॉम्पोनेंट उपलब्ध कराने के लिए डिज़ाइन किया गया है जो www.material.io पर बताए गए कॉम्पोनेंट से मेल खाते हैं.
compos.material3मटीरियल डिज़ाइन 3 कॉम्पोनेंट के साथ Jetpack Compose का यूज़र इंटरफ़ेस बनाएं. यह मटीरियल डिज़ाइन का अगला वर्शन है. मटीरियल 3 में अपडेट की गई थीम और कॉम्पोनेंट शामिल हैं. साथ ही, इसमें Material You के मनमुताबिक बनाई गई डाइनैमिक कलर जैसी सुविधाएं शामिल हैं. इसे Android 12 के विज़ुअल स्टाइल और सिस्टम के यूज़र इंटरफ़ेस (यूआई) के हिसाब से डिज़ाइन किया गया है.
compos.runtimeCompose के प्रोग्रामिंग मॉडल और स्टेट मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक और टारगेट करने के लिए Compose कंपाइलर प्लगिन के कोर रनटाइम.
compos.uiडिवाइस से इंटरैक्ट करने के लिए कंपोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट की ज़रूरत होती है. इसमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं.

डिपेंडेंसी तय करना

Compose पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.

उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle फ़ाइल में ज़रूरत है आपका ऐप्लिकेशन या मॉड्यूल:

ग्रूवी

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"
    }
}

डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.

नई समस्या जोड़ें

समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.

वर्शन 1.7

वर्शन 1.7.0-beta06

24 जुलाई, 2024

androidx.compose.foundation:foundation-*:1.7.0-beta06 रिलीज़ हो गया है. वर्शन 1.7.0-beta06 में ये प्रतिबद्धताएं शामिल हैं.

वर्शन 1.7.0-beta05

10 जुलाई, 2024

androidx.compose.foundation:foundation-*:1.7.0-beta05 रिलीज़ हो गया है. वर्शन 1.7.0-beta05 में ये प्रतिबद्धताएं शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SnapFlingBehavior और पेजर में नैनो वैल्यू को मैनेज करने के दौरान होने वाली गड़बड़ी, ठीक की गई है.

वर्शन 1.7.0-beta04

26 जून, 2024

androidx.compose.foundation:foundation-*:1.7.0-beta04 रिलीज़ हो गया है. वर्शन 1.7.0-beta04 में ये बातें शामिल की गई हैं.

गड़बड़ियां ठीक की गईं

  • टेक्स्ट की बहुत बड़ी लाइनों (जैसे कि 10 हज़ार वर्ण) (8157ab) को मेज़र करते समय क्रैश से बचें
  • नए BasicTextField (6b7575) में क्रैश की वजह से, बहुत बड़े टेक्स्ट के मेज़रमेंट को ठीक करता है
  • लाइन या कॉलम मेज़रमेंट में व्यवहार में बदलाव को पहले जैसा करता है, जो कुछ खास स्थितियों में टेक्स्ट के इस्तेमाल में रुकावट डालता है (69e8ba)

वर्शन 1.7.0-beta03

12 जून, 2024

androidx.compose.foundation:foundation-*:1.7.0-beta03 रिलीज़ हो गया है. वर्शन 1.7.0-beta03 में ये प्रतिबद्धताएं शामिल हैं.

वर्शन 1.7.0-beta02

29 मई, 2024

androidx.compose.foundation:foundation-*:1.7.0-beta02 रिलीज़ हो गया है. वर्शन 1.7.0-beta02 में ये प्रतिबद्धताएं शामिल हैं.

एपीआई में बदलाव

  • यह नीति LazyLists के लिए, प्रयोग के मौजूदा एपीआई की तरह ही, LazyGrids के प्रीफ़ेच व्यवहार को कॉन्फ़िगर करने के लिए प्रयोग के तौर पर एक एपीआई जोड़ती है. इसमें नेस्ट किए गए LazyGrids में आइटम प्रीफ़ेच करने की सुविधा शामिल है. LazyListPrefetchStrategy की तरह, डिफ़ॉल्ट तौर पर लागू करने की प्रोसेस में हर ग्रिड के नेस्ट किए गए पहले दो आइटम प्रीफ़ेच किए जाते हैं. हालांकि, इसे नए LazyGridPrefetchStrategy(nestedPrefetchItemCount) और LazyListPrefetchStrategy#onNestedPrefetch एपीआई की मदद से कॉन्फ़िगर किया जा सकता है. (I591c4)
  • SemanticsProperties.Editable का नाम बदलकर IsEditable किया गया. साथ ही, SemanticsPropertyReceiver.editable को वैल्यू isEditable में बदल दिया गया है. प्रॉपर्टी अब बूलियन प्रॉपर्टी में बदल गई है और इसे हमेशा टेक्स्ट फ़ील्ड में बताया जाता है. (I8acd8)
  • basicMarquee डिफ़ॉल्ट वैल्यू को MarqueeDefaults ऑब्जेक्ट में ले जाया गया. (I12ff6)
  • basicMarquee के delayMillis पैरामीटर का नाम बदलकर repeatDelayMillis किया गया. (I12ff6)
  • लिंक को स्टाइल देने के लिए, एपीआई को अपडेट करें: TextLinkStyles को TextStyle में ले जाया और TextDefaults को कॉन्टेंट से हटाया (I5477b)

गड़बड़ियां ठीक की गईं

  • इसके मकसद को बेहतर तरीके से दिखाने के लिए, LayoutCoordinates.introducesFrameOfReference का नाम बदलकर LayoutCoordinates.introducesMotionFrameOfReference किया गया. उस फ़्लैग के आधार पर निर्देशांकों की गणना करने के लिए संबंधित फ़ंक्शन का नाम बदला गया. (I3a330)
  • 'डिफ़ॉल्ट' हटाई गई MarqueeDefaults प्रॉपर्टी से. (I1d8a0)
  • 'मार्की' को हटाया गया MarqueeDefaults प्रॉपर्टी से. (Iad4f4)
  • TextLinkStyles को TextStyle क्लास से हटाया गया. इसके बजाय, TextLinkStyles, LinkAnntation कंस्ट्रक्टर और AnnotatedString.fromHtml मेथड (I90b2b) का हिस्सा है
  • गड़बड़ी को ठीक किया गया है, जहां पेजर किसी बाउंड की ओर उड़ान भरते समय स्नैप करता था, जबकि पहले ही सीमा पर सेट हो जाता था. (I9f373, b/339171222)
  • BTF2 में अब माउस चुनने के सही जेस्चर उपलब्ध हैं. (Ibe8c6)

बाहरी योगदान

  • 'कॉन्टेंट टाइप को बेहतर बनाने के लिए प्रीफ़ेच के आधार पर, लिखने या मेज़र करने के समय का हिसाब लगाने की सुविधा' फिर से सबमिट करें (Iea622)
  • डेटा को सटीक बनाने के लिए प्रीफ़ेच के आधार पर, लिखने या मेज़र करने के समय का हिसाब लगाने के कॉन्टेंट का टाइप बनाएं (Ibccb1)
  • सामान्य सोर्स सेट (I070b2) से WindowInsetsPadding मॉडिफ़ायर उपलब्ध कराएं

वर्शन 1.7.0-beta01

14 मई, 2024

androidx.compose.foundation:foundation-*:1.7.0-beta01 रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये बातें शामिल हैं.

एपीआई में बदलाव

  • बाइनरी के साथ काम करने की वजह से, KeyboardOptions.shouldShowKeyboardOnFocus प्रॉपर्टी को 'अब काम नहीं करता' के तौर पर 'छिपाया गया' के तौर पर जोड़ा गया. (I15cfe)
  • Modifier.anchoredDraggable अब आरटीएल लेआउट में इस्तेमाल किए जाने पर, हॉरिज़ॉन्टल ओरिएंटेशन वाले कॉम्पोनेंट के लिए डिफ़ॉल्ट रूप से ड्रैग डेल्टा को उलट देता है. (I3c6d9)
  • AnnotatedString.hasEqualsAnnotations अब hasEqualAnnotations है. (I685c0)
  • टेक्स्ट में मटीरियल थीम वाले लिंक पाने के लिए, एपीआई को अपडेट किया गया. खास तौर पर, LinkAnnotations थीम को बनाने के लिए TextDefaults से तरीके हटाए गए हैं और थीम वाले लिंक के साथ एचटीएमएल को पार्स करने का तरीका बताया गया है. इसके बजाय, एक TextLinkStyles क्लास जोड़ी गई है, जो टेक्स्ट कंपोज़ेबल में पैरामीटर के तौर पर लिंक को स्टाइल करने की अनुमति देती है. (I31b93)
  • onDragStarted और onDragStopped को नॉन-सस्पेंड कॉलबैक से बदला गया. (I59de8)

गड़बड़ियां ठीक की गईं

  • गड़बड़ी को ठीक किया गया है, जहां contentPadding के आने वाले कंस्ट्रेंट से ज़्यादा बड़े होने पर पेजर क्रैश हो जाता था. पेजर अब PageSize से 0 पर लौटाए गए नेगेटिव वैल्यू को कॉपी करता है. (Iba5d8, b/314008560)

वर्शन 1.7.0-alpha08

1 मई, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha08 रिलीज़ हो गया है. वर्शन 1.7.0-alpha08 में ये कमिट मौजूद हैं.

नई सुविधाएं

  • BasicTextField और SelectionContainer के लिए, राइट-क्लिक करके संदर्भ मेन्यू जोड़ा गया. इसमें काटने, कॉपी करने, चिपकाने, और चुनने की सभी कार्रवाइयों के लिए आइटम जोड़े गए. (If8c93, Ia2b49, I6f268)

एपीआई में बदलाव

  • LazyLayout प्रीफ़ेच अनुरोध को अब 'ज़रूरी' के तौर पर मार्क किया जा सकता है. इसका मतलब है कि हमें अगले फ़्रेम में इस आइटम की ज़रूरत होगी. साथ ही, हम फ़्रेम बजट को अनदेखा करना चाहते हैं, ताकि आप पहले से ज़्यादा काम (Id513f) कर सकें
  • isPositionedByParentWithDirectManipulation का नाम बदलकर introducesFrameOfReference किया. ध्यान दें कि अब इसका उलटा असर होता है. इसका मतलब है कि डिफ़ॉल्ट रूप से, ज़्यादातर LayoutCoordinates में रेफ़रंस फ़्रेम होता है. साथ ही, प्रॉपर्टी में सीधे तौर पर छेड़छाड़ किए जाने पर ही, उसका नतीजा गलत माना जाता है. सिर्फ़ उन वीडियो के लिए रैंक के बारे में क्वेरी करने के लिए जो रेफ़रंस फ़्रेम पेश करते हैं, positionInLocalFrameOfReference(...) का इस्तेमाल करें. या LookaheadScope से positionInLocalLookaheadFrameOfReference. (Ifc5f7)
  • LinkInteractionListener (Iaa35c) में onClicked का नाम बदलकर onClick किया गया
  • एपीआई काउंसिल से मिले सुझाव के मुताबिक, getScrollViewportLength के लिए Action lambda को बदलें. (Ibc74a)
  • स्टाइलस हैंडराइटिंग डेलिगेशन एपीआई का नाम बदला गया. (Ica45f, b/327271923)
  • TextInclusionStrategy.isInside का नाम बदलकर isIncluded करें. Paragraph/MultiParagraph#getRangeForRect() के रिटर्न टाइप को अमान्य न करें. (I51f26)

गड़बड़ियां ठीक की गईं

  • "सभी चुनें" जोड़ा गया SelectionContainer में सभी टेक्स्ट प्रासंगिक मेन्यू पर लागू करें. (Ib750e, b/240143283)
  • reverseScrolling=true वाले स्क्रोलिंग कंटेनर के लिए, लंबे स्क्रीनशॉट कैप्चर करने की समस्या ठीक की गई. (I7c59c)
  • उस समस्या को ठीक किया गया है जिसकी वजह से AnchoredDraggableState के currentValue, राज्य की सीमाओं के अंदर आने पर बदल जाते थे. (Iea30b, b/333846848)

बाहरी योगदान

  • PrefetchExecutor का नाम बदला गया -> PrefetchScheduler अपनी ज़िम्मेदारियों को बेहतर तरीक़े से दिखाने के लिए किया जा सकता है. (Ib9154)
  • नेस्ट किए गए LazyLists में आइटम प्रीफ़ेच करने के लिए सहायता जोड़ी गई (उदाहरण के लिए एक LazyColumn जो नेस्ट किए गए LazyRows को रेंडर करता है). इस बदलाव से, इन LazyLists के लिए स्क्रोल करने के दौरान फ़्रेम में आने वाली गिरावट को कम हो सकता है. डिफ़ॉल्ट तौर पर लागू होने वाला विकल्प, नेस्ट किए गए पहले दो आइटम को प्रीफ़ेच करने के लिए होता है. हालांकि, इस व्यवहार को नए LazyLayoutPrefetchStrategy(nestedPrefetchItemCount) और LazyListPrefetchStrategy#onNestedPrefetch एपीआई से कंट्रोल किया जा सकता है. (I51952)

वर्शन 1.7.0-alpha07

17 अप्रैल, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha07 रिलीज़ हो गया है. वर्शन 1.7.0-alpha07 में ये कमिट मौजूद हैं.

नई सुविधाएं

  • एक TextDefaults ऑब्जेक्ट जोड़ा गया, जिसमें LinkAnnotation बनाने और लिंक पर MaterialTheme लागू करने वाली एचटीएमएल टैग की गई स्ट्रिंग को पार्स करने के तरीके हैं. (I98532, b/139312671)
  • LazyVerticalGrid और LazyHorizontalGrid में, आइटम के दिखने और उसके गायब होने से जुड़े ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (फिर से क्रम में लगाने) वाले ऐनिमेशन के साथ काम करने के लिए Modifier.animateItemPlacement() मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है. साथ ही, Modifier.animateItem() नाम का एक नया गैर-प्रयोग वाला मॉडिफ़ायर लॉन्च किया है. इसकी मदद से, सभी तीन तरह के ऐनिमेशन इस्तेमाल किए जा सकते हैं: अपीयरेंस (फ़ेड इन), गायब (फ़ेड आउट) और फिर से क्रम में लगाना. (Ib7d12, b/330510929)
  • LazyVerticalStaggeredGrid और LazyHorizontalStaggeredGrid में, आइटम के दिखने और उसके गायब होने से जुड़े ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (फिर से क्रम में लगाने) वाले ऐनिमेशन के साथ काम करने के लिए Modifier.animateItemPlacement() मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है. साथ ही, Modifier.animateItem() नाम का एक नया गैर-प्रयोग वाला मॉडिफ़ायर लॉन्च किया है. इसकी मदद से, सभी तीन तरह के ऐनिमेशन इस्तेमाल किए जा सकते हैं: अपीयरेंस (फ़ेड इन), गायब (फ़ेड आउट) और फिर से क्रम में लगाना. (I69bc9, b/330511290)

एपीआई में बदलाव

  • ContextMenuColors और उससे जुड़े LocalContextMenuTheme ProvidableCompositionLocal को जोड़ता है. टेक्स्ट फ़ील्ड और चुने जा सकने वाले टेक्स्ट पर मौजूद संदर्भ मेन्यू के रंगों में बदलाव किया जा सकता है. इसके लिए, कंपोज़िशन की स्थानीय जानकारी का इस्तेमाल करना होगा. (Ifa154)
  • टेक्स्ट लिंक को सामान्य स्टाइलिंग के अलावा, दबाया जा सकने वाला स्टाइल चुनने का विकल्प भी मिलता है. इस स्टाइलिंग के दौरान कर्सर को घुमाने पर फ़ोकस किया जाता है और फ़ोकस किया जाता है. (I5f864, b/139312671)
  • हस्तलेखन जेस्चर के लिए ViewConfiguration.HandwritingGestureLineMargin का परिचय दें. BasicTextField के लिए हैंडराइटिंग जेस्चर की सुविधा उपलब्ध है. (Ie6e13, b/325660505)
  • DelegatableNode.scrollIntoView को 1.7 रिलीज़ के लिए हटा दिया गया, क्योंकि हमारे पास एपीआई से जुड़े बाकी प्लैटफ़ॉर्म को स्थिर करने का समय नहीं था. यह फ़ंक्शन 1.8 (I6cf61, b/333421581, b/332900232) में फिर से शुरू किया जाएगा
  • लेआउट कोऑर्डिनेट के बारे में क्वेरी करते समय, अब excludeDirectManipulationOffset आर्ग्युमेंट का इस्तेमाल किया जा सकता है. ऐसा उन पैरंट लेआउट को हटाने के लिए किया जा सकता है जिन्होंने उनके बच्चों को Placeable.PlacementScope.withDirectManipulationPlacement का इस्तेमाल करके सेट किया है. इसी तरह, ऐसा लेआउट जो अपने बच्चों की जगह बार-बार बदलता है, अब उन्हें withDirectManipulationPlacement का इस्तेमाल करके रखा जा सकता है (जैसे कि स्क्रोल, जो डिफ़ॉल्ट रूप से लागू होता है). इससे approachLayout पर आधारित ऐनिमेशन को ज़्यादा आसानी से समझने में मदद मिलती है. साथ ही, अब हमें यह फ़र्क़ करने का मौका मिलता है कि कौनसा ऑफ़सेट ऐनिमेट करना है और ऐनिमेशन का इस्तेमाल करते समय सीधे तौर पर क्या लागू करना है. (I60ec7)
  • LazyStaggeredGrid के लिए requestScrollToItem के बारे में जानकारी दें. हर मेज़र-पास के लिए, क्लाइंट अब requestScrollToItem को कॉल करके कुंजी के आधार पर इंडेक्स बनाए रखने की सुविधा से ऑप्ट-आउट कर सकता है. इससे मौजूदा व्यवहार में तब तक कोई बदलाव नहीं होता, जब तक requestScrollToItem को कॉल नहीं किया जाता. (I63983)
  • पेजर में requestScrollToPage के बारे में बताएं. हर मेज़र-पास के लिए, क्लाइंट अब requestScrollToPage को कॉल करके कुंजी के आधार पर इंडेक्स बनाए रखने की सुविधा से ऑप्ट-आउट कर सकता है. इससे मौजूदा व्यवहार में तब तक कोई बदलाव नहीं होता, जब तक requestScrollToPage को कॉल नहीं किया जाता. (Ic4213)
  • LazyGrids के लिए requestScrollToItem को लॉन्च किया गया. हर मेज़र-पास के लिए, क्लाइंट अब requestScrollToItem को कॉल करके कुंजी के आधार पर इंडेक्स बनाए रखने की सुविधा से ऑप्ट-आउट कर सकता है. इससे मौजूदा व्यवहार में तब तक कोई बदलाव नहीं होता, जब तक requestScrollToItem को कॉल नहीं किया जाता. (I0a7a0)
  • ClickableText को 'अब काम नहीं करता' के तौर पर मार्क किया गया है. टेक्स्ट में लिंक जोड़ने के लिए, अपने लिंक से जुड़े LinkAnnotation के साथ AnnotatedString बनाएं और इस AnnotatedString को Text कंपोज़ेबल (I34d4b, b/323346994) में पास करें
  • UrlAnnotation के इस्तेमाल पर रोक लगा दी गई है, इसके बजाय LinkAnnotation.Url का इस्तेमाल करें. अगर मटीरियल थीमिंग का इस्तेमाल किया जा रहा है, तो TextDefaults ऑब्जेक्ट का इस्तेमाल करके, एनोटेशन को बनाने के लिए मटीरियल थीम वाली थीम का इस्तेमाल करें (I8d180, b/323346545)
  • String.parseAsHtml का नाम बदलकर AnnotatedString.Companion.fromHtml किया गया (I43dcd)
  • parseAsHtml तरीके का इस्तेमाल करने के लिए, स्टाइलिंग आर्ग्युमेंट (linkStyle, focusedLinkStyle, hoveredLinkStyle) और लिंक इंटरैक्शन लिसनर जोड़ा गया. यह तरीका, <a> टैग के साथ एचटीएमएल-टैग की गई स्ट्रिंग को पार्स करते समय, ऐसे हर टैग के लिए एक LinkAnnotation.Url बनाएगा. साथ ही, स्टाइलिंग ऑब्जेक्ट और हर एनोटेशन के साथ इंटरैक्शन लिसनर लिंक करेगा. (I7c977)
  • LinkAnnotation अब स्थिति के हिसाब से स्टाइलिंग आर्ग्युमेंट और LinkInteractionListener लेता है. हाइपरलिंक पाने के लिए, इस जानकारी को AnnotatedString में जोड़ें. focusedState और/या hoveredState को पास करके, लिंक के लिए विज़ुअल कॉन्फ़िगरेशन तय किया जा सकता है. ऐसा तब किया जा सकता है, जब लिंक पर फ़ोकस किया गया हो और/या उन पर कर्सर घुमाया गया हो. (I81ce4, b/139312671)
  • लंबे स्क्रीनशॉट से जुड़ा फ़ीचर फ़्लैग हटा दिया गया है. (I28648, b/329128246)
  • LazyColumn अब बड़े स्क्रीनशॉट में स्टिकी हेडर को सही तरीके से रेंडर करेगा. (I8d239, b/329296635)
  • नए BasicTextField के साथ पेश किए गए बाकी एक्सपेरिमेंटल एपीआई में से ज़्यादातर एपीआई को स्थिर कर दिया गया है. (I714e2)
  • BasicSecureTextField में textObfuscationCharacter पैरामीटर जोड़ा गया. इससे यह कंट्रोल किया जाता है कि कॉन्टेंट को अस्पष्ट बनाते समय, किस वर्ण का इस्तेमाल किया जाए. (I0588b)
  • इन सोर्स की बढ़ी हुई परिभाषा के लिए NestedScroll सोर्स ड्रैग और फ़्लिंग को UserInput और SideEffect से बदला जा रहा है. इन सोर्स में अब ऐनिमेशन (साइड इफ़ेक्ट) और माउस व्हील और कीबोर्ड (UserInput) शामिल हैं. (I40579)
  • LocalBringIntoViewSpec के बारे में जानकारी. यह प्लैटफ़ॉर्म डिपेंडेंट फ़ोकस स्क्रोलिंग व्यवहार है, जो स्क्रोल किए जा सकने वाले मॉडिफ़ायर की लेयर पर लागू होता है. (I27aa5, b/317453911)
  • TextFieldCharSequence को हटा दिया गया है. TextFieldBuffer.originalValues को TextFieldBuffer.originalText और TextFieldBuffer.originalSelection से बदल दिया गया है. (I2c7d6)
  • ImeOptions.hintLocales अब शून्य नहीं हो सकता. अगर आपको एक खाली स्थान-भाषा की सूची पास करनी है, तो कृपया LocaleList.Empty का इस्तेमाल करें. (Ic5bc4)
  • getOffsetFractionForPage का नाम बदलकर getOffsetDistanceInPages किया. (Ia05e2)

गड़बड़ियां ठीक की गईं

  • जब InputTransformations को next से जोड़ा जाता है, तो उसके KeyboardOptions को अब KeyboardOptions.merge के नए तरीके का इस्तेमाल करके, अलग-अलग विकल्पों के हिसाब से सही तरीके से मर्ज कर दिया जाता है. (Ie5304, b/295951492)
  • AnchoredDraggableState का targetValue, अब पोज़िशनल थ्रेशोल्ड को नहीं मानता. अब इसमें 50% का इंप्लिसिट थ्रेशोल्ड है. इसका मतलब है कि दो ऐंकर के बीच के बीच में targetValue बदल जाता है. (I82c2c)

बाहरी योगदान

  • दो स्क्रोल एपीआई का नाम बदला गया (I56a75)

वर्शन 1.7.0-alpha06

3 अप्रैल, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha06 रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये कमिट मौजूद हैं.

नई सुविधाएं

  • LazyColumn और LazyRow में, आइटम के दिखने और उसके गायब होने से जुड़े ऐनिमेशन की सुविधा जोड़ी गई. पहले, प्लेसमेंट (फिर से क्रम में लगाने) वाले ऐनिमेशन के साथ काम करने के लिए Modifier.animateItemPlacement() मॉडिफ़ायर जोड़ा जा सकता था. हमने इस मॉडिफ़ायर को बंद कर दिया है. साथ ही, Modifier.animateItem() नाम का एक नया गैर-प्रयोग वाला मॉडिफ़ायर लॉन्च किया है. इसकी मदद से, सभी तीन तरह के ऐनिमेशन इस्तेमाल किए जा सकते हैं: अपीयरेंस (फ़ेड इन), गायब (फ़ेड आउट) और फिर से क्रम में लगाना. (I2d7f7, b/150812265)
  • LazyColumn/LazyRow के क्लाइंट, अब किसी बिना निलंबित किए गए LazyListState.requestToScroll को कॉल करके, आने वाले मेज़र-पास की कुंजी के आधार पर, इंडेक्स बनाए रखने से ऑप्ट-आउट कर सकते हैं. (I98036, b/209652366)
  • स्टाइल वाली स्ट्रिंग के लिए parseAsHtml तरीका जोड़ा गया: इससे एचटीएमएल टैग वाली स्ट्रिंग को AnnotatedString में बदला जा सकता है. ध्यान दें कि सभी टैग काम नहीं करते, उदाहरण के लिए आप अभी बुलेट सूचियां नहीं दिखा पाएंगे. (I84d3d)
  • आधिकारिक Android API (ScrollCaptureCallback) का इस्तेमाल करके, 'लिखें' स्क्रोल कंटेनर में लंबे स्क्रीनशॉट के लिए एक्सपेरिमेंट के तौर पर सहायता जोड़ी गई. यह सुविधा, एक्सपेरिमेंट के तौर पर उपलब्ध है. इसलिए, ऐसा हो सकता है कि फ़िलहाल यह सभी मामलों को सही तरीके से हैंडल न कर पाए. इस वजह से, यह सुविधा फ़िलहाल डिफ़ॉल्ट रूप से बंद रहती है. ऑप्ट-इन करने के लिए, ComposeFeatureFlag_LongScreenshotsEnabled फ़्लैग को 'सही' पर सेट करें. यह फ़्लैग 1.7 बीटा वर्शन से पहले हटा दिया जाएगा. (I2b055, b/329296471)
  • नए GraphicsLayer एपीआई के बारे में जानकारी दें, ताकि GraphicsLayer इंस्टेंस की प्लेसमेंट और रेंडरिंग में ज़्यादा आसानी हो. साथ ही, रेंडरिंग की अंदरूनी सुविधाओं के साथ काम करने में भी मदद मिले. इसके लिए, GraphicsLayer मॉडिफ़ायर इंस्टेंस तय करने के लिए, कंपोज़ेबल इंप्लिमेंटेशन के साथ तालमेल बनाने की ज़रूरत नहीं है.

एपीआई में बदलाव

  • अब सभी KeyboardOptions पैरामीटर में, डिफ़ॉल्ट रूप से एक अनजान वैल्यू होती है. KeyboardOptions.merge तरीका जोड़ा गया.
  • KeyboardOptions.autoCorrect का नाम बदलकर autoCorrectEnabled किया गया और इसे शून्य किया जा सकता है. यहां शून्य का मतलब है कि कोई वैल्यू नहीं बताई गई थी. (Ia8ba0, b/295951492)
  • outOfBoundsPageCount का नाम बदलकर beyondViewportPageCount किया. (I129c6)
  • fun ClipEntry.getMetadata() को val ClipEntry.clipMetadata में बदल दिया गया है. (I50155)
  • TextFieldState.valueAsFlow() को हटा दिया गया है. snapshotFlow { state.text } या snapshotFlow { TextFieldCharSequence(state.text, state.selection) } (I7d629) का इस्तेमाल करना है
  • InputTransformation.transformInput पैरामीटर फिर से व्यवस्थित किए गए. originalValue: TextFieldCharSequence को हटाया गया. इसके बजाय, TextFieldBuffer अब इसी नाम से इस वैल्यू का इस्तेमाल करता है. साथ ही, valueWithChanges: TextFieldBuffer पैरामीटर को हटाया गया. TextFieldBuffer अब फ़ंक्शन पर रिसीवर का स्कोप है. (I919सीसी)
  • सॉफ़्टवेयर कीबोर्ड से की गई कार्रवाइयों को प्रोसेस करने के लिए, BasicTextField(state) वैरिएंट और BasicSecureTextField अब KeyboardActions के बजाय KeyboardActionHandler का इस्तेमाल करते हैं. (I58dda)
  • "नकली" टेक्स्ट पर स्टाइलस हैंडराइटिंग की सुविधा देने के लिए, स्टाइलस हैंडराइटिंग डेलिगेशन एपीआई टेक्स्ट इनपुट फ़ील्ड. (I9c09c, b/327271923)
  • KeyboardOptions.shouldShowKeyboardOnFocus का नाम बदलकर showKeyboardOnFocus किया. (Ib4b7a, b/295951492)
  • hintMediaTypes पैरामीटर को Modifier.contentReceiver से हटाया गया. डेवलपर को पहले ही, TransferableContent के लिए मिले मीडिया टाइप की जांच करने के लिए कहा गया था. ऐसा इसलिए, क्योंकि हो सकता है कि यह, कॉन्फ़िगर किए गए hintMediaTypes के साथ काम न करे. (I82f99)
  • BasicSecureTextField के पैरामीटर फिर से क्रम में लगाए गए. keyboardType और imeAction पैरामीटर को बदलकर, पूरी KeyboardOptions क्लास के लिए सुझाव दिया गया. साथ ही, BasicSecureTextField के लिए डिफ़ॉल्ट सेटिंग को पहले जैसा ही रखा गया. साथ ही, scrollState पैरामीटर को हटाया गया. (Ibbfa9)
  • TextFieldState.text का टाइप, TextFieldCharSequence से बदलकर सिर्फ़ CharSequence कर दिया गया है. इसलिए, चुनी गई मौजूदा वैल्यू और कंपोज़िशन वैल्यू को सीधे स्टेट ऑब्जेक्ट से पढ़ने के लिए, TextFieldState.selection: TextRange और TextFieldState.composition: TextRange? को जोड़ा गया.
  • TextFieldState.forEachTextValue को हटा दिया गया है. (Idb2a2)
  • ClipboardManager.getClipMetadata और ClipboardManager.hasClip फ़ंक्शन हटाए गए. क्लिप की मौजूदा एंट्री का मेटाडेटा पढ़ने के लिए, कृपया clipEntry.getMetadata() का इस्तेमाल करें. साथ ही, ClipboardManager.getClip का नतीजा देखें, अगर यह खाली है या जिससे यह पता नहीं चलता है कि क्लिपबोर्ड पर कोई मौजूदा क्लिप है या नहीं. (I50498)
  • ClipboardManager.setClip अब क्लिपबोर्ड से कॉन्टेंट हटाने के लिए, शून्य स्वीकार करता है. (I7d2e9)
  • ReceiveContentListener को फ़ंक्शन इंटरफ़ेस में बदला गया. साथ ही, लैम्डा को लेने वाला Modifier.receiveContent ओवरलोड हटा दिया जाता है, क्योंकि ReceiveContentListener अब एक फ़ंक्शन इंटरफ़ेस है.
  • Modifier.receiveContent का नाम बदलकर Modifier.contentReceiver कर दिया गया है. (I1e6af)
  • TransferableContent.consumeEach का नाम बदलकर TransferableContent.consume किया. (I1e462)
  • rememberTextFieldState, अब स्टेबल एपीआई पर अपग्रेड हो गया है. (I37999)

गड़बड़ियां ठीक की गईं

  • सीजेके(कंपोज़िशन पर आधारित) कीबोर्ड के साथ BasicTextField(state) वैरिएंट काम नहीं करने वाली गड़बड़ी को ठीक किया गया. (I54425)
  • वह गड़बड़ी ठीक की गई है जहां Modifier.dragAndDropTarget(), कुछ मामलों में Modifier.Node के फिर से इस्तेमाल करके पुराने डेटा का रेफ़रंस दे सकता है. (I05bb1)
  • हाल ही में किए गए कॉन्ट्रैक्ट में हुए बदलाव को पहले जैसा किया गया है. इसमें anchoredDrag की कार्रवाई के खत्म होने पर, AnchoredDraggableState#anchoredDrag कॉल स्नैप किए जाएंगे. (I95715)

वर्शन 1.7.0-alpha05

20 मार्च, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha05 रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये कमिट मौजूद हैं.

एपीआई में बदलाव

  • हाइपरलिंक को शैली में ढालने के लिए, प्रयोग के तौर पर LocalTextLinkStyle कंपोज़िशन लोकल को हटाया गया. (Iebfa7)
  • onLinkClicked तर्क से प्रयोग के तौर पर किए गए BasicText बदलाव को हटाया गया. आने वाले समय में, हाइपरलिंक की सुविधा के लिए एपीआई की जगह एक नया एपीआई लॉन्च किया जाएगा. (I107d5)
  • TextFieldState और TextFieldBuffer में, कोडपॉइंट से जुड़े तरीके और प्रॉपर्टी हटाई गईं. साथ ही, बाकी चुने गए और कंपोज़िशन से जुड़े एपीआई से inChars सफ़िक्स हटा दिए गए हैं. (Ief7ce)
  • किसी ऐंकर पॉइंट से गुज़रते समय, AnchoredDraggable का currentValue अब अपडेट हो जाएगा. पिछले currentValue सिमैंटिक पाने के लिए, settledValue का इस्तेमाल करें. इसे सिर्फ़ ऐंकर के हिसाब से सेट करते समय अपडेट किया जा सकता है. प्रोग्रेस को अब प्रॉपर्टी के बजाय फ़ंक्शन के तौर पर दिखाया जाता है. इसके लिए, शुरुआती और आखिरी पॉइंट की ज़रूरत होती है. (Ibe6e8, b/318707189, b/298271489, b/294991954)
  • BasicTextField(state), TextFieldState, InputTransformation, OutputTransformation, TextFieldLineLimits, TextFieldDecorator, अब पहले से ज़्यादा स्टेबल हैं. (I9582b)
  • InterceptPlatformTextInput की शुरुआत, लो-लेवल IME से जुड़े टेस्ट और कम लेवल के IME के इस्तेमाल के अन्य उदाहरणों को लिखने में मदद करने के लिए की गई. PlatformTextInputTestOverride के इस्तेमाल पर रोक लगा दी गई है. (I862ed, b/322680547)
  • restrictedConstraints() को दो तरीकों में बांटें: fitPrioritizingWidth() और fitPrioritizingHeight() (I6d7fd)

बाहरी योगदान

  • स्क्रोल करने की दिशा की जांच करने के लिए, 2 नए एपीआई isLastScrollForward/isLastScrollBackward को जोड़ा गया. स्क्रोल करके नई कार्रवाई के बारे में जाना जा सकता है. अगर अभी तक स्क्रोल करने पर कोई कार्रवाई नहीं हुई है, तो 'गलत' वैल्यू मिलेगी. (I63a0e)

वर्शन 1.7.0-alpha04

6 मार्च, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha04 रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये कमिट मौजूद हैं.

एपीआई में बदलाव

  • Android U के बाद वाले डिवाइसों पर, स्टाइलस हैंडराइटिंग की सुविधा काम करती है. (I002e4)
  • hintLocales को KeyboardOptions में जोड़ा गया, ताकि TextFields को किसी पसंदीदा भाषा को प्रीसेट करने के लिए, खास स्थान-भाषा वाले IME के बारे में बताया जा सके. (Id18c2)
  • एक्सपेरिमेंटल BasicTextField2 और BasicSecureTextField ओवरलोड हटा दिए गए, जिनमें value: String और onValueChange: () -> String पैरामीटर लगे. (I568b4)
  • जिस BasicTextField2 पर इसे लागू किया गया है उसके सिमेंटिक्स को प्रभावित करने के लिए, InputTransformation में एक वैकल्पिक applySemantics फ़ंक्शन जोड़ें. (I74a2f, b/170648072)
  • इस CL में हम GetScrollViewportLength सिमैंटिक कार्रवाई जोड़ रहे हैं, ताकि हम a11y सिस्टम में स्क्रोल किए जा रहे कॉम्पोनेंट के बारे में जानकारी को पाइप-अप कर सकें. यह सीएल, फ़ाउंडेशन स्क्रोल की जा सकने वाली सूचियों में उस प्रॉपर्टी के इस्तेमाल को भी लागू करता है. (Ic5fa2)
  • BasicTextField2 का नाम बदलकर BasicTextField कर दिया गया है. (Ie5713)
  • FocusRequester.createRefs अब ठीक से काम कर रहा है (I4d92c, b/261436820)
  • DelegatableNode.scrollIntoView() लॉन्च किया गया, ताकि मॉडिफ़ायर नोड सीधे scrollIntoView अनुरोध कर सकें. (I2b3b7, b/299939840)
  • DelegatableNode.requireView() लॉन्च किया गया, ताकि मॉडिफ़ायर नोड मौजूदा Android View को पा सकें और स्थानीय कंपोज़िशन को न पढ़ें. (I40768)
  • यह है कॉन्टेक्स्ट के हिसाब से फ़्लो लाइन के स्कोप और कॉन्टेक्स्चुअल फ़्लो कॉलम के स्कोप में लेआउट की जानकारी. इसमें, तय पोज़िशन में रहने के लिए, लाइन इंडेक्स, पोज़िशन, और ज़्यादा से ज़्यादा चौड़ाई और ऊंचाई के कंस्ट्रेंट को शामिल किया गया है. ज़्यादा से ज़्यादा चौड़ाई/ऊंचाई से ज़्यादा वाले आइटम अगली लाइन में जा सकते हैं या उन्हें ओवरफ़्लो सेटिंग के आधार पर हटाया जा सकता है. (Id13f8, b/292114798)

गड़बड़ियां ठीक की गईं

  • गड़बड़ी को ठीक किया गया है, जहां कुछ स्थितियों में TextField के enabled या readOnly एट्रिब्यूट को टॉगल करने से क्रैश हो सकता था. (Iae17b)

वर्शन 1.7.0-alpha03

21 फ़रवरी, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha03 रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये कमियां हैं.

एपीआई में बदलाव

  • DelegatableNode.requireLayoutCoordinates() को, Modifier.Node का मौजूदा LayoutCoordinates पाने के तरीके के तौर पर पेश किया गया. इसके लिए, onPlaced को ओवरराइड करने और निर्देशांकों को खुद किसी प्रॉपर्टी में सेव करने की ज़रूरत नहीं है. (Ia8657)
  • DelegatableNode.currentLayoutCoordinates को, Modifier.Node का मौजूदा LayoutCoordinates पाने के तरीके के तौर पर पेश किया गया. इसके लिए, onPlaced को ओवरराइड करने और निर्देशांकों को खुद किसी प्रॉपर्टी में सेव करने की ज़रूरत नहीं है. (Iaebaa)
  • DraggableAnchors में परफ़ॉर्मेंस ऑप्टिमाइज़ेशन का इस्तेमाल, AnchoredDraggable ने किया. (I89cff)
  • androidx.compose.foundation.text2 पैकेज में, BasicTextField2 और उससे जुड़े एपीआई को androidx.compose.foundation.text में ले जाया गया. (I9f635)
  • BasicTextField2 अब CodepointTransformation पैरामीटर को स्वीकार नहीं करता. BasicSecureTextField या OutputTransformation का इस्तेमाल करें. (आईडी34ff)
  • सिर्फ़ दो AnnotatedStrings के एनोटेशन की तुलना करने के लिए तरीका जोड़ा गया. (I32659)
  • पेश है ContextualFlowRow और MaxLines और Overflow के साथ बेहतर FlowRow/Column. हमें यह बताते हुए खुशी हो रही है कि एक्सपेरिमेंट के तौर पर उपलब्ध FlowRow और FlowColumn में नई सुविधाएं जोड़ी गई हैं. ContextualFlowRow और ContextualFlowColumn के लॉन्च के साथ-साथ, maxLines और ओवरफ़्लो सपोर्ट की सुविधा भी उपलब्ध है. यह अपडेट परफ़ॉर्मेंस को बेहतर बनाने वाले कॉम्पोनेंट देने के लिए डिज़ाइन किया गया है. यहां ContextualFlow*, छोटे maxLines कॉन्फ़िगरेशन और डाइनैमिक +N के ज़्यादा बटन का इस्तेमाल करके कई आइटम के लिए बिलकुल सही है. वहीं, FlowRow और FlowColumn, 100 से कम आइटम वाले कुछ आइटम के लिए बिलकुल सही हैं. अहम जानकारी: FlowRow या FlowColumn में मौजूदा व्यवहार बनाए रखने के लिए, जहां सभी आइटम क्रॉस ऐक्सिस पर फ़िट होते हैं या नहीं, उन्हें बनाए रखने के लिए, शुरू करने के दौरान overflow को FlowRowOverflow.Visible या FlowColumnOverflow.Visible पर सेट करें. इन नई सुविधाओं के इस्तेमाल के उदाहरण देखने के लिए, ContextualFlowRowSample और FlowRowSample को एक्सप्लोर करें. (Ib9135, b/293577082)

गड़बड़ियां ठीक की गईं

  • कर्सर ऐनिमेशन, अब चालू और बंद स्थितियों के बीच फ़्रेम का अनुरोध नहीं करता. (Ia2253)
  • KeyboardOptions' काम न करने वाले कॉपी कंस्ट्रक्टर, अब सभी प्रॉपर्टी को सही तरीके से कॉपी करेंगे. (If12de)

वर्शन 1.7.0-alpha02

7 फ़रवरी, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha02 रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • HorizontalPager, VerticalPager, और PagerState को सामान्य पर सेट कर दिया गया है. (I67660, b/316966909)
  • LocalTextLinkStyle कंपोज़िशन लोकल जोड़ा गया, जिससे पूरे ऐप्लिकेशन में टेक्स्ट में दिए गए लिंक की स्टाइल बदली जा सकती है. अगर आप ऐप्लिकेशन में अपनी खुद की थीम का इस्तेमाल कर रहे हैं, तो आपको इस कंपोज़िशन को अपनी थीम के मुताबिक स्थानीय थीम पर सेट करना चाहिए. मटीरियल थीम का इस्तेमाल करते समय, लिंक का रंग डिफ़ॉल्ट रूप से मटीरियल के मुख्य रंग पर सेट होगा. (I7eb10)
  • receiveContent मॉडिफ़ायर लॉन्च किया गया, जो डेवलपर को Jetpack Compose में रिच कॉन्टेंट पाने का तरीका मुहैया कराता है.
  • सॉफ़्टवेयर कीबोर्ड या क्लिपबोर्ड पर चिपकाने की कार्रवाई के ज़रिए उपलब्ध कराए गए रिच कॉन्टेंट को स्वीकार करने के लिए, receiveContent, BasicTextField2 के साथ इंटिग्रेट होता है. (I81b72)
  • इस बदलाव के तहत, हम पेजर में SnapFlingBehavior को TargetedFlingBehavior से बदल रहे हैं, ताकि इस्तेमाल के अन्य उदाहरण अनलॉक किए जा सकें और उन्हें ज़्यादा आसानी से इस्तेमाल किया जा सके. (I762ea)
  • इस बदलाव में, हम Snapping API को स्थायी बना रहे हैं. हम कुछ टेस्टिंग कोड भी हटा रहे हैं और Snapping में ज़्यादा सैंपल जोड़ रहे हैं. (Id8da9)
  • TargetedFlingBehavior के बारे में जानकारी दें. यह एक FlingBehavior है, जो चल रहे ऐनिमेशन की स्थिति और इसके टारगेट स्क्रोल ऑफ़सेट के बारे में जानकारी का प्रचार करने की अनुमति देता है. (I6a207)

गड़बड़ियां ठीक की गईं

  • जब स्क्रोल करते समय कर्सर को व्यू से बाहर कर दिया जाता है या इनपुट की वजह से वह व्यू से बाहर चला जाता है, तब BasicTextField2 अब कर्सर को व्यू में रखता है. (Ieb856, b/237190748)

बाहरी योगदान

  • LazyLists के प्रीफ़ेच व्यवहार को कॉन्फ़िगर करने के लिए, प्रयोग के तौर पर एक एपीआई जोड़ता है. (I022a4)

वर्शन 1.7.0-alpha01

24 जनवरी, 2024

androidx.compose.foundation:foundation-*:1.7.0-alpha01 रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये कमियां हैं.

नई सुविधाएं

  • एक नया Indication API, IndicationNodeFactory जोड़ा गया. इस वजह से, पिछले (अब काम नहीं करता) rememberUpdatedInstance एपीआई की तुलना में, Indication बेहतर तरीके से लागू किया जा सकता है. डेटा को दूसरी जगह भेजने से जुड़ी जानकारी के लिए, developer.android.com पर जाएं.
  • clickable / combinedClickable / selectable / toggleable अब शून्य लागू किए जा सकने वाले MutableInteractionSource पैरामीटर को स्वीकार करता है. अगर यह वैल्यू शून्य है और दिया गया Indication, IndicationNodeFactory है, तो Indication को ज़रूरत पड़ने पर ही लेज़ी तरीके से बनाया जा सकता है. इससे परफ़ॉर्मेंस बेहतर होती है. अगर MutableInteractionSource का इस्तेमाल करके लिफ़्ट नहीं की जा रही है, तो हमारा सुझाव है कि इसे शून्य कर दें.

एपीआई में बदलाव

  • AnchoredDraggable में DecayAnimation के बारे में जानकारी देने पर, यह बदलाव AnchoredDraggable में decayAnimationSpec पैरामीटर जोड़ता है. यह किसी एक ऐंकर में सेट होते समय, नुकसान पहुंचाने वाले ऐनिमेशन का इस्तेमाल करने की अनुमति देता है. इस बदलाव में, मौजूदा animationSpec का नाम बदलकर snapAnimationSpec करना भी शामिल है. इससे हर स्पेसिफ़िकेशन के इस्तेमाल के उदाहरण को समझने में मदद मिलेगी.
  • BasicTextField2 को एक्सपेरिमेंट के तौर पर इस्तेमाल किया जा सकता है. यह ज़रूरी है कि आईडी, BasicTextField जैसी सभी सुविधाओं के बराबर हो. साथ ही, उपयोगकर्ताओं के काम करने का तरीका, प्रोडक्शन के लिए तैयार हो. हालांकि, फ़िलहाल एपीआई पर प्रयोग जारी है. स्टेबलाइज़ करने से पहले, इसका नाम बदलकर BasicTextField कर दिया जाएगा और उसी पैकेज में ले जाया जाएगा.
  • BasicTextField2 के लिए OutputTransformation एपीआई का पहला ड्राफ़्ट लॉन्च किया गया. यह एपीआई, पुराने BasicTextField में VisualTransformation के इस्तेमाल के ज़्यादातर उदाहरणों की जगह ले लेता है. हालांकि, यह अभी तक पूरी नहीं हुई है और कुछ चीज़ें ठीक से काम नहीं करेंगी. हालांकि, आपके इस्तेमाल के उदाहरणों के लिए, एपीआई के इस्तेमाल से जुड़े आपके सुझाव या राय का इंतज़ार रहेगा. (aosp/2708848)
  • LinkAnnotation की शुरुआत की गई. इसकी मदद से टेक्स्ट में लिंक और क्लिक किए जा सकने वाले आइटम जोड़े जा सकते हैं. लिंक जोड़ने की सुविधा अभी पूरी नहीं हुई है. एपीआई में और बदलाव किए जा रहे हैं.
  • receiveContent मॉडिफ़ायर लॉन्च किया गया, जो डेवलपर को Jetpack Compose में रिच कॉन्टेंट पाने का तरीका मुहैया कराता है.
  • सॉफ़्टवेयर कीबोर्ड से या क्लिपबोर्ड से चिपकाने के बाद, बेहतर कॉन्टेंट स्वीकार करने के लिए receiveContent, BasicTextField2 के साथ इंटिग्रेट होता है.
  • KeyboardOptions.shouldShowKeyboardOnFocus आपको फ़ोकस पर सॉफ़्टवेयर कीबोर्ड का अनुरोध करने के BasicTextField के डिफ़ॉल्ट व्यवहार को बंद करने देता है.
  • TextInputService और LocalTextInputService अब काम नहीं करते. इसके बजाय, प्लैटफ़ॉर्म IME API के साथ सीधे तौर पर इंटिग्रेट करने के लिए, PlatformTextInputModifierNode का इस्तेमाल करें. (aosp/2862698)
  • Indication#rememberUpdatedInstance के इस्तेमाल पर रोक लगा दी गई है. इस वजह से, परफ़ॉर्मेंस से जुड़ी ऐसी कार्रवाई होती है जिसे रोका नहीं जा सकता. साथ ही, यह अन्य ऑप्टिमाइज़ेशन को रोकता है. इसके बजाय, आपको नए IndicationNodeFactory एपीआई का इस्तेमाल करना चाहिए.

गड़बड़ियां ठीक की गईं

  • VisualTransformation के पास हो जाने पर, BasicTextField अब ऑफ़सेट मैपिंग के कुछ चुने गए विकल्पों की पहले से पुष्टि करेगा. इससे, कोडिंग में होने वाली आम गड़बड़ियों का पता लगाने में मदद मिलती है. इन गड़बड़ियों की वजह से, बाद में पास ड्रॉ करने या मेज़र करने में समस्या आती है. कंपोज़िशन के दौरान अपलोड करने से, इस बात की संभावना बढ़ जाती है कि डेवलपर को डेवलपमेंट के दौरान ये गड़बड़ियां दिख सकती हैं. इससे, प्रोडक्शन क्रैश से बचने में मदद मिलती है. (I0fd42)
  • किसी अमान्य इंडेक्स (b/316401857 ) के लिए, अमान्य इंडेक्स देने पर, VisualTransformation का डेटा फ़ेच नहीं किया जाएगा

वर्शन 1.6

वर्शन 1.6.8

12 जून, 2024

androidx.compose.foundation:foundation-*:1.6.8 रिलीज़ हो गया है. वर्शन 1.6.8 में ये बातें शामिल हैं.

वर्शन 1.6.7

1 मई, 2024

androidx.compose.foundation:foundation-*:1.6.7 रिलीज़ हो गया है. वर्शन 1.6.7 में ये बातें शामिल हैं.

वर्शन 1.6.6

17 अप्रैल, 2024

androidx.compose.foundation:foundation-*:1.6.6 रिलीज़ हो गया है. वर्शन 1.6.6 में ये बातें शामिल हैं.

गड़बड़ियां ठीक की गईं

  • गड़बड़ी को ठीक किया गया है, जहां कुछ स्थितियों में TextField के enabled या readOnly एट्रिब्यूट को टॉगल करने से क्रैश हो सकता था. (Iae17b)

वर्शन 1.6.5

3 अप्रैल, 2024

androidx.compose.foundation:foundation-*:1.6.5 रिलीज़ हो गया है. वर्शन 1.6.5 में ये बातें शामिल हैं.

गड़बड़ियां ठीक की गईं

  • पंक्ति/कॉलम में आसानी से न बनने वाली गड़बड़ियों में डीबगिंग लॉग जोड़ता है: (b/300280216 और b/297974033)

वर्शन 1.6.4

20 मार्च, 2024

androidx.compose.foundation:foundation-*:1.6.4 रिलीज़ हो गया है. वर्शन 1.6.4 में ये बातें शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टेक्स्ट को दबाकर रखने के बाद खींचकर छोड़ने वाला जेस्चर, पहले फ़्रेम में टेक्स्ट के लेआउट से बाहर चला जाता है. अब वह क्रैश नहीं होता. (Icdf90, b/325307463)

वर्शन 1.6.3

6 मार्च, 2024

androidx.compose.foundation:foundation-*:1.6.3 रिलीज़ हो गया है. वर्शन 1.6.3 में ये शर्तें शामिल हैं.

वर्शन 1.6.2

21 फ़रवरी, 2024

androidx.compose.foundation:foundation-*:1.6.2 रिलीज़ हो गया है. वर्शन 1.6.2 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ठीक से रीसेट न हो रहे AnimateContentSize को ठीक करें. (I07051)
  • उस समस्या को ठीक करें जहां कुछ मामलों में intrinsicHeight टेक्स्ट ज़्यादा कैश मेमोरी में सेव हो सकता है. (3cd398, b/217910352)

वर्शन 1.6.1

7 फ़रवरी, 2024

androidx.compose.foundation:foundation-*:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • तय सीमा से ज़्यादा स्क्रोल करने पर, स्टैग किए गए ग्रिड के माप की समस्या ठीक करें. (bffc39)
  • बड़े डाइमेंशन वाले लेआउट के लिए जांच की सुविधा जोड़ें. (e74af5)
  • स्टैग किए गए ग्रिड की शुरुआत में, 0 साइज़ के आइटम लगाने की जगह तय करें. (785f94)
  • onRelease कॉलबैक को onForgotten के तौर पर उसी क्रम में कॉल करें. (31ce3b)

वर्शन 1.6.0

24 जनवरी, 2024

androidx.compose.foundation:foundation-*:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये कमियां शामिल हैं.

1.5.0 के बाद के अहम बदलाव

  • नया मॉडिफ़ायर Modifier.anchoredDraggable, जो पहले से तय ऐंकर के बीच कॉन्टेंट को खींचने और ऐनिमेट करने की सुविधा देता है. यह मॉडिफ़ायर Modifier.swipeable की जगह इस्तेमाल करने के लिए बनाया गया है. डेटा को दूसरी जगह भेजने से जुड़ी गाइड में, इसे इस्तेमाल करने और Modifier.swipeable से माइग्रेट करने का तरीका जानें.
  • ऐप्लिकेशन और कॉम्पोनेंट के बीच 'खींचें और छोड़ें' सुविधा जोड़ी गई है. शुरू करने के लिए, DragAndDropTarget, Modifier.dragAndDropSource, और अन्य एपीआई देखें
  • Modifier.draggable2D नया मॉडिफ़ायर है, जो दो-दो चरणों में कॉम्पोनेंट को खींचने और छोड़ने की सुविधा देता है. सैंपल देखें.
  • AndroidExternalSurface और AndroidEmbeddedExternalSurface को जोड़ा गया है, ताकि लिखने के दौरान प्लैटफ़ॉर्म पर चलने वाले कॉम्पोनेंट को आसानी से जोड़ा जा सके
  • Pager और snapFlingBehaviour में एपीआई में कई बदलाव और सुधार किए गए
  • कई फ़ोकस, टेक्स्ट, और इनसेट एपीआई को स्टेबल एपीआई पर प्रमोट किया गया है

वर्शन 1.6.0-rc01

10 जनवरी, 2024

androidx.compose.foundation:foundation-*:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये कमिट हैं.

एपीआई में बदलाव

  • DragAndDropTarget() एक्सटेंशन कंस्ट्रक्टर हटाया गया है. object: DragAndDropTarget {} का इस्तेमाल करके नया इंस्टेंस बनाएं. (I32318)

वर्शन 1.6.0-beta03

13 दिसंबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-beta03 रिलीज़ हो गया है. वर्शन 1.6.0-beta03 में ये कमिट हैं.

गड़बड़ियां ठीक की गईं

  • अनंत कंस्ट्रेंट की मदद से मेज़र किए गए बहुत बड़े टेक्स्ट पर असर डालने वाले क्रैश की समस्या को ठीक किया गया है. (I1a7df, b/312294386)
  • PlatformImeOptions अब इंटरफ़ेस के बजाय एक कंक्रीट क्लास है. (If40a4)

वर्शन 1.6.0-beta02

29 नवंबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-beta02 रिलीज़ हो गया है. वर्शन 1.6.0-beta02 में ये तय किए गए अपडेट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • सिर्फ़ रिलेआउट-ओनली स्क्रोल करने के बाद, canScroll का अपडेट नहीं होने की समस्या को ठीक किया गया. (I60a86)
  • छोटे स्क्रोल के बाद Modifier.animateItemPlacement() और LookaheadScope के लिए ठीक करें. (I3a2b7)

वर्शन 1.6.0-beta01

15 नवंबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये कमिट हैं.

एपीआई में बदलाव

  • अब DragAndDropTarget मॉडिफ़ायर, पाने वाले DragAndDropTarget को साफ़ तौर पर ले लेता है. साथ ही, इसमें 'खींचें और छोड़ें' सेशन में ऑप्ट इन करने के लिए लैम्डा मौजूद है. DragAndDropModifierNode के लिए अब दो फ़ैक्ट्री फ़ंक्शन उपलब्ध हैं. एक ट्रांसफ़र पाने के लिए और दूसरा डेटा ट्रांसफ़र करने के लिए (I69481)
  • फ़्लोट के तौर पर दिखाने के लिए, maximumFlingVelocity को अपडेट किया गया. maximumFlingVelocity की एकता के बारे में ज़्यादा साफ़ तौर पर बताने के लिए, दस्तावेज़ों को अपडेट किया गया. (I8adc7)
  • DragAndDropModifierNode में onDragAndDropStart फ़ैक्ट्री का नाम बदलकर acceptDragAndDropTransfer कर दिया गया है.

    खींचें और छोड़ें सेशन से स्वीकार करने के लिए, acceptsDragAndDropTransfer को dragAndDropTarget Modifier में जोड़ दिया गया है. यह Lambda फ़ंक्शन, बिक्री के लिए अच्छे नतीजे देता है अगर 'खींचें और छोड़ें' सेशन में दिलचस्पी है, तो DragAndDropTarget. ड्रैग इवेंट प्रोसेस करने के लिए, अन्य Lambdas को इससे बदल दिया गया है.

    खींचें और छोड़ें सेशन से पाने के लिए, DragAndDropTarget फ़ैक्ट्री फ़ंक्शन जोड़ा गया है (Iebf3a)

  • AnchoredDraggable में startDragImmediately को दिखाने से, जेस्चर का इस्तेमाल करते समय उसे खींचने वाले जेस्चर का पता लगाने का कंट्रोल मिलता है. जब विजेट किसी टारगेट ऐंकर के लिए ऐनिमेट हो रहा हो, तब इसे सेट करना फ़ायदेमंद होता है. सैंपल देखें. (Ie6d13, b/285139987)

  • फ़ाउंडेशन टूलटिप एपीआई का नाम अब @ExperimentalFoundationApi है (I30b0b)

  • DragAndDropInfo को DragAndDropModifierNode.drag टाइप के तौर पर हटाया गया. हालांकि, अब transferData, सजावट के साइज़, और ड्रैग डेकोरेशन DrawScope लैम्डा के लिए पैरामीटर के हिसाब से, इसे हटाया जा सकता है

    DragAndDropTarget में किसी खास तरीके के बजाय, खींचें और छोड़ें इवेंट के खास तरीके हैं

    DragAndDropModifierNode के लिए फ़ैक्ट्री फ़ंक्शन में मौजूद onDragAndDropEvent का नाम बदलकर onDragAndDropStart कर दिया गया है, ताकि बेहतर तरीके से यह बताया जा सके कि दिया गया DragAndDropTarget, खींचें और छोड़ें सेशन के लिए ही मान्य है

    DragAndDropEventType को हटा दिया गया है (I645b1)

  • PlatformTextInputModifierNode.runTextInputSession का नाम बदलकर establishTextInputSession किया. (I03cd0)

  • OriginalText को TextSubstitution से बदलें. (Ifa5a8)

  • PlatformTextInputModifierNode.textInputSession का नाम बदलकर runTextInputSession किया. (Ie9c6b)

  • SubcomposeLayout के बच्चों (और इस पर आधारित LazyColumn जैसे लेआउट) का, जिन्हें आने वाले समय में फिर से इस्तेमाल करने के लिए सेव रखा जाता है उन्हें बंद माना जाएगा. ऐसे नोड को टेस्ट करने के लिए, नया assertIsDeactivated() टेस्ट एपीआई लॉन्च किया गया था. जांच के बाकी एपीआई, बंद किए गए नोड को डिफ़ॉल्ट रूप से फ़िल्टर कर देंगे. (I2ef84, b/187188981)

  • Modifier.magnifier के clippingEnabled पैरामीटर का नाम बदलकर, clip कर दिया गया है.

  • Modifier.magnifier के magnifierCenter पैरामीटर को शून्य करने लायक बनाया गया है. साथ ही, डिफ़ॉल्ट ऐक्शन को पहले जैसा ही रखा गया है. (I6aa66)

  • मटीरियल SwipeToReveal एपीआई (कार्ड और चिप के लिए) में स्लॉट बनाने के लिए, अब डेटा क्लास पर आधारित इंस्टेंस के बजाय, स्लॉट आधारित एपीआई (जैसा कि Compose ने सुझाव दिया है) का इस्तेमाल किया जाता है. यह एक नुकसान पहुंचा सकता है. एपीआई के नए वर्शन का इस्तेमाल करने के तरीके जानने के लिए, कृपया डेमो और सैंपल कोड देखें. (Ia8943)

गड़बड़ियां ठीक की गईं

  • PageSize.Fixed के लिए बराबर और हैशकोड लागू करें. (Ie3ede, b/300134276)
  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से minWidth के बदलने पर, BasicText लेआउट कम नहीं होता. साथ ही, maxWidth (Idb19c) से minWidth कम होने पर, इस गड़बड़ी को ठीक किया गया
  • ArcLine में स्वीप ग्रेडिएंट के लिए रेंडरर सहायता जोड़ें. (I4d5bb)
  • विंडो इनसेट में बदलाव (Iee695) के साथ बाइनरी कंपैटबिलिटी से जुड़ी समस्या ठीक करना
  • Material3 चिप/बटन के लिए मटीरियल कोर लेयर हटाएं, क्योंकि माइक्रोबेंचमार्क इसके बिना बेहतर परफ़ॉर्मेंस दिखाते हैं. (I55555)

वर्शन 1.6.0-alpha08

18 अक्टूबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha08 रिलीज़ हो गया है. वर्शन 1.6.0-alpha08 में ये कमिट हैं.

नई सुविधाएं

  • Modifier.draggable2D नया मॉडिफ़ायर है, जो दो-दो चरणों में कॉम्पोनेंट को खींचने और छोड़ने की सुविधा देता है. सैंपल (Id95f5, b/214412658) देखें

एपीआई में बदलाव

  • Modifier.dragAndDrawSource ने onDrawDragShadow लैम्डा का नाम बदलकर drawDragDecoration कर दिया है. साथ ही, DragAndDropInfo का साइज़ पैरामीटर का नाम बदलकर dragDecorationSize कर दिया है. (Id0e30, b/303904810)
  • BasicTextField2 के decorationBox पैरामीटर का नाम बदलकर, decorator किया गया. इसका टाइप बदलकर, मज़ेदार इंटरफ़ेस TextFieldDecorator कर दिया गया है. (I23c1c)

गड़बड़ियां ठीक की गईं

  • onValueChange की ज़रूरी शर्तों के बारे में BasicTextField के बारे में बेहतर दस्तावेज़. (I90fc9, b/160257648)

वर्शन 1.6.0-alpha07

4 अक्टूबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha07 रिलीज़ हो गया है. वर्शन 1.6.0-alpha07 में ये कमिट हैं.

एपीआई में बदलाव

  • कस्टम टेक्स्ट एडिटर के लिए, लिखने से जुड़े टेस्ट के लिए PlatformTextInputMethodTestOverride की सुविधा शुरू की गई. (आईडी159b)
  • GraphicsSurface का नाम बदलकर AndroidExternalSurface किया गया (I11680)
  • नॉन-लीनियर फ़ॉन्ट स्केलिंग को बंद करने के लिए, DisableNonLinearFontScalingInCompose अस्थायी फ़्लैग जोड़ा गया. अगर आपको इन्हें खाली करने के लिए समय चाहिए, तो अपने टेस्ट में DisableNonLinearFontScalingInCompose = true सेट करें. यह फ़्लैग Compose 1.6.0-beta01 में हटा दिया जाएगा. (Ic9486)
  • ColorList और ColorSet कलेक्शन जोड़े गए, जिनमें किसी डेटा को असाइन करने की ज़रूरत नहीं होती. (I744bd)
  • यह बदलाव shortSnapVelocityThreshold को हटा देता है, जिसे SnapLayoutInfoProvider को लागू करने से जुड़ी जानकारी में बदल दिया गया है. (I65f6d)
  • खींचें और छोड़ें सेशन को शुरू करने के लिए dragAndDropSource मॉडिफ़ायर जोड़ें और खींचें और छोड़ें सेशन के लिए dragAndDropTarget मॉडिफ़ायर जोड़ें (Ib7828, b/286038936)
  • SnapPositionInLayout के दस्तावेज़ और रैंक के तरीके को अपडेट करें. SnapPositionInLayout में पेज की पोज़िशन सेट करने के तरीके के हिसाब से, कॉन्टेंट पैडिंग के बारे में जानकारी दें. (Id7938, b/300116110)
  • UndoState को TextFieldState में जोड़ा गया. इसकी मदद से, उपयोगकर्ता के किए गए बदलावों को पहले जैसा किया जा सकता है/फिर से किया जा सकता है. (Icc024)

गड़बड़ियां ठीक की गईं

  • वेलोसिटी बदलने के बाद, basicMarquee के ऐनिमेशन को ठीक नहीं किया गया. (Id2e77, b/297974036)

वर्शन 1.6.0-alpha06

20 सितंबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha06 रिलीज़ हो गया है. वर्शन 1.6.0-alpha06 में ये कमिट हैं.

नई सुविधाएं

  • SurfaceView, TextureView: GraphicsSurface(), और EmbeddedGraphicsSurface() के लिए नए कंपोज़ेबल रैपर. यह एक प्रयोग के तौर पर शुरू किया गया एपीआई है और इसमें बदलाव किए जा सकते हैं. (I9ddb2)
  • Modifier.magnifier() अब एक स्टेबल एपीआई है. इसमें, कार्रवाई बदलने वाली कुंजी में इनलाइन पैरामीटर के लिए MagnifierStyle को हटाना शामिल है. (I83bec, b/298381260, b/262367109, b/261438887)

एपीआई में बदलाव

  • ScrollScope में updateCurrentPage और updateTargetPage को लॉन्च किया गया. ये PagerState.scroll के ज़रिए ऐनिमेशन वाले स्क्रोल को अपनी पसंद के मुताबिक बनाने की अनुमति देने के लिए, आखिर के कुछ वीडियो हैं. (I9cad5, b/267744105, b/243786897)
  • SnapFlingBehavior से सघनता हटाएं. SnapLayoutInfoProvider के सभी लागू करने के तरीके में पहले से ही सघनता को ऐक्सेस किया जा सकता है, पाने वाले के दायरे को हटाया जा सकता है. इस वजह से SnapFlingBehavior और SnapLayoutInfoProviders, दोनों को लागू करना ज़्यादा मुश्किल होगा. (I153c3)
  • अन्य मॉडिफ़ायर को स्थिर के तौर पर मार्क किया गया है. (I56af1, b/298046462)
  • SnapStepSize को SnapLayoutInfoProvider से हटाया गया. कैलकुलेशन लेआउट की जानकारी का इस्तेमाल करके किया जाना चाहिए. साथ ही, इसे अप्रोच या स्नैपिंग ऑफ़सेट के ज़रिए दिया जाना चाहिए. (If320c)

व्यवहार में बदलाव

  • Compose में टेक्स्ट को आसानी से पढ़ने लायक बनाने और सुलभता के लिए, अब नॉन-लीनियर फ़ॉन्ट स्केलिंग का इस्तेमाल किया जाता है. जब फ़ॉन्ट स्केल > सिस्टम सेटिंग में 100%, छोटे टेक्स्ट का साइज़ सामान्य रूप से बढ़ जाएगा, लेकिन पहले से बड़ा टेक्स्ट थोड़ा ही बड़ा होगा. साथ ही, SP में तय की गई लाइन की ऊंचाई, 100% स्केल के मुताबिक तय की गई ऊंचाई के अनुपात में अपने-आप अडजस्ट हो जाएगी. ज़्यादा जानकारी के लिए, फ़ॉन्ट स्केलिंग के सबसे सही तरीके देखें. (I11518)

गड़बड़ियां ठीक की गईं

  • टूलटिप के लिए, rememberSaveable का इस्तेमाल हटाएं. (Icc131, b/299500338)

वर्शन 1.6.0-alpha05

6 सितंबर, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha05 रिलीज़ हो गया है. वर्शन 1.6.0-alpha05 में ये कमियां हैं.

एपीआई में बदलाव

  • BasicSecureTextField के लिए ओवरलोड जोड़ें जो मौजूदा BasicTextField एपीआई की तरह ही, इस वैल्यू को बदलने के लिए ऐसी वैल्यू और कॉलबैक को स्वीकार करते हैं जिन्हें बदला नहीं जा सकता. (Ia4882)
  • एपीआई 33 और इसके बाद के वर्शन पर, फ़्लोटिंग विंडो से बचने के लिए, Modifier.preferKeepClear() को कंपोज़ेबल के तौर पर मार्क करें. (Ib51d5, b/297260115)
  • ScrollView और RecyclerView जैसे व्यू कॉम्पोनेंट में फ़्लिंग की रफ़्तार ViewConfiguration.ScaledMaximumFlingVelocity तक सीमित है. अब लिखें maximumFlingVelocity में इसका अपना वर्शन शामिल है जो अब Draggable पर लागू होता है. (Ibf974)
  • अब काम नहीं करने वाले Pager और PagerState ओवरलोड हटाए गए. (Iea07e)
  • BasicTooltipBox को compose.foundation में जोड़ा गया. साथ ही, PlainTooltipBox और RichTooltipBox को अपडेट किया गया, ताकि TooltipBox नए PlainTooltip और RichTooltip कंपोज़ेबल के साथ इस्तेमाल किया जा सके. (I79e1d)

वर्शन 1.6.0-alpha04

23 अगस्त, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha04 रिलीज़ हो गया है. वर्शन 1.6.0-alpha04 में ये कमियां हैं.

एपीआई में बदलाव

  • सबकंपोज़िशन के लाइफ़साइकल और फिर से इस्तेमाल करने के तरीके को मैनेज करने के लिए, ReusableComposition इंटरफ़ेस जोड़ें. (I812d1, b/252846775)
  • Modifier.focusGroup को स्थिर एपीआई में अपग्रेड किया गया है. (I7ffa3)
  • BasicTextField2 के लिए ओवरलोड जोड़ें जो मौजूदा BasicTextField एपीआई की तरह ही, इस वैल्यू को बदलने के लिए ऐसी वैल्यू और कॉलबैक को स्वीकार करते हैं जिन्हें बदला नहीं जा सकता. (I3f2b8)
  • GridItemSpan::currentLineSpan अब एक स्टेबल एपीआई है. (Icc29c)
  • contentDescription को स्वीकार करने वाला कैनवस अब ठीक से काम करने वाला एपीआई है. (Ib3d29)
  • viewportSize को ScrollState में पेश किया गया. यह कॉम्पोनेंट का viewPort साइज़ जानने का एक तरीका है जो मेज़रमेंट होने के बाद, ScrollState का इस्तेमाल करता है. (I8b85a, b/283102682)
  • उस समस्या को ठीक किया गया है जिसकी वजह से पेजर में प्रीफ़ेच किए गए डेटा और व्यू के तरीके में कोई अंतर नहीं था. (I93352, b/289088847)
  • Modifier.consumeWindowInsets(PaddingValues) में कोई बदलाव नहीं हुआ है.
    • Deprecated Modifier.consumedWindowInsets एपीआई को अब हटा दिया गया है. इसके बजाय, Modifier.consumeWindowInsets का इस्तेमाल करें. (आईडी72बीबी)

वर्शन 1.6.0-alpha03

9 अगस्त, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha03 रिलीज़ हो गया है. वर्शन 1.6.0-alpha03 में ये कमियां हैं.

एपीआई में बदलाव

  • LazyLayout का ओवरलोड होने पर, इसमें LazyLayoutItemProvider का लैम्डा स्वीकार किया जाता है. कोई प्लेन ऑब्जेक्ट नहीं है, जैसा कि पहले था. पिछले ओवरलोड पर रोक लगा दी गई है. (I42a5a)
  • privateImeOptions को कॉन्फ़िगर करने के लिए अतिरिक्त सहायता (Idb772)

गड़बड़ियां ठीक की गईं

  • कीबोर्ड को दिखाने वाले और readOnly के सही होने पर बदलाव किए जा सकने वाले टेक्स्ट फ़ील्ड को ठीक किया गया. साथ ही, यह नीति ठीक की गई है कि फ़ोकस करने के दौरान, readOnly को 'सही' से 'गलत' में बदलने पर, कीबोर्ड न दिखे. (I34a19, b/246909589)

वर्शन 1.6.0-alpha02

26 जुलाई, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha02 रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • Pager में माप पास के बाद इकट्ठा की गई जानकारी के साथ PagerLayoutInfo की शुरुआत की गई. PageInfo भी प्रस्तुत किया गया, जो Pager में मापे गए एक ही पेज के बारे में जानकारी है. (Iad003, b/283098900)
  • कंपोज़ेबल में अनुमति वाले इनपुट के बारे में बताने के लिए अतिरिक्त एनोटेशन (I51109)
  • जांचों में फ़ोकस का अनुरोध करने के लिए, SemanticsNodeInteraction.requestFocus को ज़्यादा आसान और खोजे जाने वाले तरीके के तौर पर जोड़ा गया. (Ie8722)
  • पूरी तरह से दोबारा डिज़ाइन किया गया PlatformTextInput* एपीआई. (I6c93a, b/274661182, b/267235947, b/277380808)
  • SoftwareKeyboardController और LocalSoftwareKeyboardController अब प्रयोग के तौर पर नहीं हैं. LocalSoftwareKeyboardController भी अब एक सही CompositionLocal है. (I4c364)
  • Modifier.transformable, अब canPan पैरामीटर में पैन डेल्टा की सुविधा देता है. इससे पैन को अनुमति देने या न देने के लिए पैन की दिशा तय करने में मदद मिलती है. (I692aa, b/266829800)
  • सुपर क्लास AbstractComposeView (Iacd74, b/269479941) को बढ़ाने के लिए, कार्रवाई बदलने वाली consumeWindowInsets वैल्यू को अपडेट करता है

वर्शन 1.6.0-alpha01

21 जून, 2023

androidx.compose.foundation:foundation-*:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये कमियां हैं.

नई सुविधाएं

  • फ़ाउंडेशन में नया AnchoredDraggable एपीआई लॉन्च किया गया. इसका इस्तेमाल कॉम्पोनेंट बनाने के लिए किया जा सकता है, जिन्हें अलग-अलग स्थितियों के बीच खींचा जा सकता है. जैसे, मॉडल बॉटम शीट. यह एपीआई, Material के Swipeable एपीआई की जगह लेता है. (I4a2ed)

एपीआई में बदलाव

  • सहायता करें InputConnection#requestCursorUpdates (I0c69b)
  • कस्टम ऐनिमेशन खास जानकारी को अनुमति देने के लिए, scrollAnimationSpec लॉन्च किया गया. BringIntoViewCalculator को BringIntoViewScroller में अपडेट किया गया. (आईडीb741)
  • लोड न हो पाने वाले ऐसेट पाथ की जानकारी के साथ बिटमैप ऐसेट को लोड करते समय, थ्रॉएबल थ्रेशोल्ड को रैप करने के लिए ResourceResolutionException टाइप जोड़ें. (I19f44, b/230166331, b/278424788)
  • टेक्स्ट का अनुवाद करने में मदद करने के लिए, सिमेंटिक्स प्रॉपर्टी और कार्रवाइयां जोड़ी गईं. (I4a6bc)
  • BringIntoViewCalculator एपीआई उपलब्ध कराया गया. इसका इस्तेमाल करके, यह तय किया जा सकता है कि Scrollable जैसे कॉम्पोनेंट, bringIntoView के अनुरोधों का जवाब कैसे दें. BringIntoViewCalculator के इंस्टेंस को स्वीकार करने के लिए, स्क्रोल किए जा सकने वाले ओवरलोड को बदला गया. (Iaf5af)

गड़बड़ियां ठीक की गईं

  • अगर आपको याद रखे बिना कंपोज़िशन में MutableInteractionSource बनाया जा रहा है, तो यह चेतावनी देने के लिए लिंट चेक जोड़ा गया. यह बदलाव, म्यूटेबल स्टेट / Animatable बनाने के लिए लिंट की जांच की तरह ही होता है. (I5daae)
  • माउस से चुनने के लिए जोड़ी गई सुविधा. टच पर आधारित चुने गए हिस्से का दायरा, शब्द के हिसाब से बड़ा होगा और वर्ण के हिसाब से इसका साइज़ छोटा होगा. (Ic0c6c, b/180639271)
  • FocusTargetModifierNode इंटरफ़ेस जोड़ा गया, जिसका इस्तेमाल पसंद के मुताबिक FocusTarget बनाने के लिए किया जा सकता है. (I9790e)

संस्‍करण 1.5

वर्शन 1.5.4

18 अक्टूबर, 2023

androidx.compose.foundation:foundation-*:1.5.4 रिलीज़ हो गया है. वर्शन 1.5.4 में ये कमिट हैं.

वर्शन 1.5.3

4 अक्टूबर, 2023

androidx.compose.foundation:foundation-*:1.5.3 रिलीज़ हो गया है. इस वर्शन में कोई बदलाव नहीं है.

संस्‍करण 1.5.2

27 सितंबर, 2023

androidx.compose.foundation:foundation-*:1.5.2 रिलीज़ हो गया है. वर्शन 1.5.2 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • टेक्स्ट में मौजूद वह गड़बड़ी ठीक की गई है जिसकी वजह से सिमैंटिक अमान्य होने पर, कुछ मामलों में क्रैश हो जाता था.

संस्‍करण 1.5.1

6 सितंबर, 2023

androidx.compose.foundation:foundation-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कीबोर्ड को दिखाने वाले और readOnly के सही होने पर बदलाव किए जा सकने वाले टेक्स्ट फ़ील्ड को ठीक किया गया. साथ ही, यह नीति ठीक की गई है कि फ़ोकस करने के दौरान, readOnly को 'सही' से 'गलत' में बदलने पर, कीबोर्ड न दिखे. (I34a19, b/246909589)

वर्शन 1.5.0

9 अगस्त, 2023

androidx.compose.foundation:foundation-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये कमियां शामिल हैं.

1.4.0 के बाद से हुए अहम बदलाव

  • Modifier.clickable,Modifier.draggable, Modifier.scrollable, लेआउट मॉडिफ़ायर वगैरह जैसे कई बुनियादी मॉडिफ़ायर को Modifier.Node एपीआई पर माइग्रेट कर दिया गया है. इससे शुरुआती कंपोज़िशन पर ओवरहेड कम हो गया है.
  • पेजर की स्थिरता में सुधार. कई गड़बड़ियों को ठीक कर दिया गया है.
  • pageCount पैरामीटर अब पेजर के बजाय PagerState में मौजूद हैं

वर्शन 1.5.0-rc01

26 जुलाई, 2023

androidx.compose.foundation:foundation-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • mutableStateOf() कॉल को प्रिमिटिव से जुड़े खास टाइप पर माइग्रेट करने का सुझाव देने के लिए, एक वैकल्पिक जांच उपलब्ध है. इसका लिंट आईडी AutoboxingStateCreation है. पहले, यह जांच सभी प्रोजेक्ट के लिए डिफ़ॉल्ट रूप से चालू रहती थी. Android Studio के एडिटर और अपने प्रोजेक्ट के लिंट आउटपुट में इस चेतावनी को देखने के लिए, इसकी गंभीरता को जानकारी से बदलकर चेतावनी (या ज़्यादा) करें. इसके लिए, अपने मॉड्यूल के build.gradle या build.gradle.kts कॉन्फ़िगरेशन में warning "AutoboxingStateCreation" का एलान करें, जैसा कि यहां दिखाया गया है (I34f7e):

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

वर्शन 1.5.0-beta03

28 जून, 2023

androidx.compose.foundation:foundation-*:1.5.0-beta03 रिलीज़ हो गया है. वर्शन 1.5.0-beta03 में ये कमिट हैं.

वर्शन 1.5.0-beta02

7 जून, 2023

androidx.compose.foundation:foundation-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये कमिट हैं.

वर्शन 1.5.0-beta01

24 मई, 2023

androidx.compose.foundation:foundation-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये कमिट हैं.

एपीआई में बदलाव

  • धड़कन की दर और हर दिन चले गए कदमों की जानकारी देने के लिए, PlatformDataProvider लागू करें. SensorGateway इंटरफ़ेस को सार्वजनिक एपीआई से हटाया गया. (I55b84)

गड़बड़ियां ठीक की गईं

  • लेज़ी लिस्ट/ग्रिड/वगैरह के दौरान, खर्च को कम करें. मेज़रमेंट (Iaf9e2)
  • स्नैपशॉट लागू करते समय, डेटा का बंटवारा कम किया गया (I65c09)
  • स्प्रिंग ऐनिमेशन से ऐलोकेशन को हटाया गया (Ie9431)
  • TextLayout (I0fd11) से आवंटन हटाया गया
  • पॉइंटर वेलोसिटी ट्रैकिंग में एक से ज़्यादा ऐलोकेशन हटाई गईं (I26bae)

वर्शन 1.5.0-alpha04

10 मई, 2023

androidx.compose.foundation:foundation:1.5.0-alpha04 और androidx.compose.foundation:foundation-layout:1.5.0-alpha04 रिलीज़ हुई हैं. वर्शन 1.5.0-alpha04 में ये कमियां हैं.

एपीआई में बदलाव

  • पूरे पैरामीटर सूची के साथ ऑप्टिमाइज़ की गई TextStyle.merge(...) को जोड़ा गया. (Iad234, b/246961787)
  • SnapLayoutInfoProvider के बारे में जानकारी दें, जिसे LazyGridState के साथ इस्तेमाल किया जा सकता है. (I92134, b/269237141, b/260914964)
  • लेज़ी स्टेज किए गए ग्रिड आइटम के स्कोप के लिए, एक्सपेरिमेंट के तौर पर Modifier.animateItemPlacement() को जोड़ा गया. ऐनिमेशन की जगह बदलने/फिर से क्रम में लगाने के लिए, आइटम पर इसे लागू किया जा सकता है. (I4b62d, b/257034719)
  • GridCells.FixedSize को स्थिर बनाएं. FixedSize, LazyGrid के बारे में बताता है. इसमें हर सेल को क्रॉस ऐक्सिस पर सटीक साइज़ मिलता है और बाकी स्पेस को क्रॉस-ऐक्सिस के हिसाब से बांटा जाता है. (I8542f)
  • पेजर के लिए रिसीवर स्कोप PagerScope और दिए गए पेज ऑफ़सेट की गणना के लिए यूटिलिटी फ़ंक्शन की शुरुआत की गई. (If2577)
  • स्नैप फ़्लिंग करते समय snapPositionalThreshold के बारे में बताएं. इस पैरामीटर का इस्तेमाल करके, पेजर में शॉर्ट स्नैप करने की पोज़िशन के लिए थ्रेशोल्ड तय करें. (If8f7f)
  • SnapLayoutInfoProvider.calculateSnappingOffsetBounds को calculateSnappingOffset से बदला गया. इस नए तरीके में हम स्नैप करने के लिए बस अगले ऑफ़सेट का अनुरोध करते हैं. सीमाओं की गणना, लागू करने के स्तर पर की जानी चाहिए, क्योंकि किसी एक को स्नैप करने की ज़रूरत के आधार पर यह अलग-अलग हो सकता है. (I923a4)
  • LazyStaggeredGrid एपीआई को बेहतर बनाया गया है. (I633a5)
  • Horizontal/VerticalPager से pageCount हटाएं. यह जानकारी, राज्य बनाते समय दी जानी चाहिए. pageCount को स्वीकार करने के लिए, PagerState और rememberPagerState को अपडेट किया गया. (Ieb52d, b/266965072)
  • Horizontal/VerticalPager से pageCount हटाएं. यह जानकारी, राज्य बनाते समय दी जानी चाहिए. pageCount को स्वीकार करने के लिए, PagerState और rememberPagerState को अपडेट किया गया. (Ifa3cb, b/266965072)
  • पेजर की SnapFlingBehavior में shortSnapVelocityThreshold के बारे में बताएं. (I7379e, b/275579012)
  • FlowRowScope और FlowColumnScope को जोड़ता है. (I54fe2)

गड़बड़ियां ठीक की गईं

  • जब minWidth और minHeight क्रैश नहीं होते हैं, तब टेक्स्ट पर सिमैंटिक पाने के लिए कॉल. (Ibd072)
  • ऐसे डायलॉग बॉक्स में टेक्स्ट फ़ील्ड के लिए कीबोर्ड नहीं दिखाया जा रहा था जिन्हें Dialog कंपोज़ेबल ने नहीं बनाया है. इस रिग्रेशन की समस्या को ठीक कर दिया जाता है. (I82551, b/262140644)

वर्शन 1.5.0-alpha03

19 अप्रैल, 2023

androidx.compose.foundation:foundation:1.5.0-alpha03 और androidx.compose.foundation:foundation-layout:1.5.0-alpha03 रिलीज़ हुई हैं. वर्शन 1.5.0-alpha03 में ये कमियां हैं.

इस रिलीज़ से, Compose के लिए टेक्स्ट रेंडरिंग का नया स्टैक चालू होता है. नए स्टैक को परफ़ॉर्मेंस के लिए ऑप्टिमाइज़ किया गया है. इसलिए, आपको कोई बदलाव नहीं दिखेगा.

अगर आपको रेंडर किए गए टेक्स्ट में बदलाव दिखते हैं, तो अलग-अलग व्यवहार की पुष्टि करने के लिए NewTextRendering1_5 = false को सेट करके डीबग किया जा सकता है. इसे सेट करने पर, शॉर्ट वीडियो को फिर से बनाने की प्रोसेस लागू होगी. अगर व्यवहार में कोई अंतर हो, तो कृपया गड़बड़ी के तौर पर शिकायत करें.

1.5 beta01 रिलीज़ से पहले, डीबग फ़्लैग को हटा दिया जाएगा.(Iada23, b/246960758)

एपीआई में बदलाव

  • FlowColumn/FlowRow को इनलाइन बनाएं. (Idab37)

वर्शन 1.5.0-alpha02

5 अप्रैल, 2023

androidx.compose.foundation:foundation:1.5.0-alpha02 और androidx.compose.foundation:foundation-layout:1.5.0-alpha02 रिलीज़ हुई हैं. वर्शन 1.5.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • LazyGrid में तय साइज़ वाली सेल के लिए सहायता जोड़ी गई और उन्हें क्रॉस ऐक्सिस पर व्यवस्थित करने की सुविधा जोड़ी गई. (I83ed9, b/235121277, b/267942510)
  • LazyStaggeredGrid में तय साइज़ की लेन के लिए सहायता जोड़ी गई है. साथ ही, उन्हें क्रॉस ऐक्सिस पर व्यवस्थित करने की सुविधा जोड़ी गई है. (I7d519)
  • AnnotatedString में मौजूद UrlAnnotation को अब TalkBack जैसी सुलभता सेवाओं के ज़रिए खोला जा सकता है. (If4d82, b/253292081)
  • टेक्स्ट फ़ील्ड के लिए InsertTextAtCursor सिमेंटिक्स कार्रवाई जोड़ी गई. (I11ed5)
  • टेक्स्ट से जुड़ी जांच कार्रवाइयों (जैसे कि performTextInput) में अब फ़ील्ड पर क्लिक करने के बजाय, सीधे तौर पर फ़ोकस करने के लिए, सिमेंटिक्स कार्रवाई का इस्तेमाल किया जाएगा. (I6ed05)
  • FlowRow में verticalArrangement और FlowColumn में horizontalArrangement का इस्तेमाल करके, क्रॉस-ऐक्सिस पर स्पेस देने/व्यवस्थित करने की सुविधा काम करती है. हम FlowRow/FlowColumn में, टॉप-लेवल verticalAlignment और horizontalAlignment को भी हटा देते हैं. इसके बजाय, डेवलपर Modifier.align का इस्तेमाल कर सकते हैं. यह verticalAlignment और verticalArrangement के नाम रखने के तरीके के बीच के भ्रम को कम करता है. (I87b60, b/268365538)

वर्शन 1.5.0-alpha01

22 मार्च, 2023

androidx.compose.foundation:foundation:1.5.0-alpha01 और androidx.compose.foundation:foundation-layout:1.5.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.5.0-alpha01 में ये कमियां हैं.

एपीआई में बदलाव

  • नए मॉडिफ़ायर सिस्टम का इस्तेमाल करने के लिए, टेक्स्ट और BasicText को फिर से इस्तेमाल किया जाता है. इससे कई मामलों में परफ़ॉर्मेंस में काफ़ी सुधार हुआ है. कोई परिवर्तन दिखाई नहीं देना चाहिए. (If1d17, b/246961435)
  • टेक्स्ट एडिटर नोड पर IME कार्रवाई शुरू करने के लिए, PerformImeAction सिमेंटिक्स कार्रवाई जोड़ी गई. (Ic606f, b/269633506)

गड़बड़ियां ठीक की गईं

  • Modifier.hoverable की अंदरूनी जानकारी अपडेट की गई. जांच करने वाले टूल में hoverable मॉडिफ़ायर सिर्फ़ तब दिखाया जाएगा, जब यह चालू हो. (I82103)

वर्शन 1.4

वर्शन 1.4.3

3 मई, 2023

androidx.compose.foundation:foundation:1.4.3 और androidx.compose.foundation:foundation-layout:1.4.3 को बिना किसी बदलाव के रिलीज़ किया गया है. इसमें सिर्फ़ एक वर्शन बंप किया गया है.

वर्शन 1.4.2

19 अप्रैल, 2023

androidx.compose.foundation:foundation:1.4.2 और androidx.compose.foundation:foundation-layout:1.4.2 रिलीज़ हुई हैं. वर्शन 1.4.2 में ये कमियां शामिल हैं.

वर्शन 1.4.1

5 अप्रैल, 2023

androidx.compose.foundation:foundation:1.4.1 और androidx.compose.foundation:foundation-layout:1.4.1 रिलीज़ हुई हैं. वर्शन 1.4.1 में ये कमियां शामिल हैं.

वर्शन 1.4.0

22 मार्च, 2023

androidx.compose.foundation:foundation:1.4.0 और androidx.compose.foundation:foundation-layout:1.4.0 रिलीज़ हुई हैं. वर्शन 1.4.0 में ये कमियां शामिल हैं.

1.3.0 के बाद से हुए अहम बदलाव

  • Text और TextField में इमोजी की शिकायत करने की सुविधा जोड़ी गई. साथ ही, इसके निचले लेवल का पैराग्राफ़ भी जोड़ा गया. जब इमोजी को कॉन्फ़िगर किया जा रहा हो, तब यह सुविधा डिफ़ॉल्ट रूप से चालू रहती है.
  • PlatformParagraphStyle का इस्तेमाल करके, EmojiCompat को किसी खास टेक्स्ट के लिए कॉन्फ़िगर किया जा सकता है.
  • LazyStaggeredGrid(I28252) में पूरी लाइन स्पैन का इस्तेमाल करने की सुविधा जोड़ी गई
  • प्रयोग के तौर पर onHover को ClickableText (I6938f) में जोड़ा जा रहा है
  • runComposeUiTest फ़ंक्शन और CoroutineContext पैरामीटर स्वीकार करने वाले create*ComposeRule फ़ंक्शन के लिए, नए एक्सपेरिमेंटल ओवरलोड दिखाए गए. संदर्भ का इस्तेमाल, टेस्ट कंपोज़िशन और उसमें मौजूद सभी LaunchedEffect और rememberCoroutineScope() कॉल के लिए किया जाएगा. (I10614, b/265177763)
  • FlowRow और FlowColumn अब @ExperimentalFoundationApi के तौर पर उपलब्ध हैं. इनकी मदद से कॉम्पोनेंट को पंक्ति और कॉलम पर आधारित लेआउट के ज़्यादा विकल्प मिलते हैं. मुख्य ऐक्सिस पर जगह न होने पर, यह नई लाइन में बदल जाती है. (I3a7b2)
  • स्क्रोलिंग मार्की इफ़ेक्ट की मदद से कॉन्टेंट दिखाने के लिए, Modifier.basicMarquee() को एक्सपेरिमेंट के तौर पर उपलब्ध कराया गया है. (I2df44, b/139321650)

वर्शन 1.4.0-rc01

8 मार्च, 2023

androidx.compose.foundation:foundation:1.4.0-rc01 और androidx.compose.foundation:foundation-layout:1.4.0-rc01 रिलीज़ हुई हैं. वर्शन 1.4.0-rc01 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • प्लैटफ़ॉर्म एपीआई से सीधे तौर पर बात करने वाले कस्टम टेक्स्ट इनपुट को लागू करने के लिए, निचले लेवल के नए PlatformTextInputAdapter एपीआई की शुरुआत की गई. (I58df4)
  • LazyStaggeredGrid में रिवर्स लेआउट के लिए सहायता जोड़ें. (I3ef4a)

गड़बड़ियां ठीक की गईं

  • BasicTextField की SetText सिमैंटिक ऐक्शन, अब टेक्स्ट बफ़र को अपडेट करेगा. इसके लिए, IME अपडेट और टेस्टिंग फ़ंक्शन (जैसे, performTextReplacement) के कोड पाथ का ही इस्तेमाल किया जाएगा.
  • टेक्स्ट टेस्टिंग फ़ंक्शन performTextClearance, performTextReplacement, और performTextSelection अब SemanticsActions का इस्तेमाल करते हैं. (I0807d, b/269633168, b/269624358)

वर्शन 1.4.0-beta02

22 फ़रवरी, 2023

androidx.compose.foundation:foundation:1.4.0-beta02 और androidx.compose.foundation:foundation-layout:1.4.0-beta02 रिलीज़ हुई हैं. वर्शन 1.4.0-beta02 में ये कमिट हैं.

एपीआई में बदलाव

  • एक नया Modifier.Node.onReset() कॉलबैक जोड़ा गया है. इससे, Layout को फिर से इस्तेमाल किए जाने पर (उदाहरण के लिए, LazyColumn के आइटम के तौर पर) मामले को सही तरीके से मैनेज करने के लिए, कुछ लोकल स्टेट को रीसेट किया जा सकता है. फ़ोकस की गई स्थिति को ठीक से रीसेट करने के लिए, FocusTargetModifierNode को ठीक किया गया. (I65495, b/265201972)
  • कैनवस पर टेक्स्ट बनाते समय, ब्लेंड करने के अलग-अलग एल्गोरिदम के साथ काम करने के लिए, DrawScope.drawText, Paragraph.paint, और MultiParagraph.paint के तरीकों में BlendMode पैरामीटर जोड़ा गया. (I57508)
  • modifierElementOf() एपीआई हटाया गया. इसके बजाय, कृपया सीधे ModifierNodeElement से विस्तार करें. (Ie6d21)

गड़बड़ियां ठीक की गईं

  • चुनने के हैंडल में बदलाव करने से, अब किसी आंशिक वर्ण को नहीं चुना जा सकता. (आईडीेड1)
  • खाली TextField (I0427f, b/244185537) पर ctrl+backspace का इस्तेमाल करने पर होने वाले क्रैश की समस्या ठीक की गई

वर्शन 1.4.0-beta01

8 फ़रवरी, 2023

androidx.compose.foundation:foundation:1.4.0-beta01 और androidx.compose.foundation:foundation-layout:1.4.0-beta01 रिलीज़ हुई हैं. वर्शन 1.4.0-beta01 में ये कमिट हैं.

नई सुविधाएं

  • 1.3 से, Text और TextField में इमोजी कंपैट इंटिग्रेशन के साथ-साथ निचले लेवल का पैराग्राफ़ भी जोड़ा गया. जब इमोजी को कॉन्फ़िगर किया जा रहा हो, तब यह सुविधा डिफ़ॉल्ट रूप से चालू रहती है.
  • PlatformParagraphStyle का इस्तेमाल करके, EmojiCompat को किसी खास टेक्स्ट के लिए कॉन्फ़िगर किया जा सकता है.

एपीआई में बदलाव

  • सभी LazyLayouts में इस्तेमाल किए जाने वाले PinnableContainer एपीआई को सामान्य तरीके से लागू करने की प्रोसेस जोड़ी गई. इससे उन आइटम को बनाए रखा जा सकेगा जो कंपोज़िशन से बाहर निकलने के बाद भी ऐक्टिव रहेंगे. (If45a4)
  • PinnableContainer.PinnedHandle.unpin() का नाम बदलकर release() (I4667a) कर दिया गया

बाहरी योगदान

  • LazyListLayoutInfo, LazyGridLayoutInfo, और LazyStaggeredGridItemInfo (I52fad) में mainAxisItemSpacing प्रॉपर्टी जोड़ी गई

वर्शन 1.4.0-alpha05

25 जनवरी, 2023

androidx.compose.foundation:foundation:1.4.0-alpha05 और androidx.compose.foundation:foundation-layout:1.4.0-alpha05 रिलीज़ हुई हैं. वर्शन 1.4.0-alpha05 में ये कमियां हैं.

नई सुविधाएं

  • LazyStaggeredGrid (I28252) के लिए पूरी लाइन में स्पैन का इस्तेमाल करने की सुविधा जोड़ी गई
  • प्रयोग के तौर पर onHover को ClickableText (I6938f) में जोड़ा जा रहा है
  • runComposeUiTest फ़ंक्शन और CoroutineContext पैरामीटर स्वीकार करने वाले create*ComposeRule फ़ंक्शन के लिए, नए एक्सपेरिमेंटल ओवरलोड दिखाए गए. संदर्भ का इस्तेमाल, टेस्ट कंपोज़िशन और उसमें मौजूद सभी LaunchedEffect और rememberCoroutineScope() कॉल के लिए किया जाएगा. (I10614, b/265177763)

एपीआई में बदलाव

  • यह OverscrollEffect के प्री/पोस्ट एपीआई को कंबाइंड 'डेकरेटर' में मर्ज करता है applyToScroll और applyToFling फ़ंक्शन. एपीआई के नए आकार के साथ ओवरस्क्रोल इफ़ेक्ट को लागू करने के तरीके से जुड़े उदाहरण देखने के लिए, दस्तावेज़ में अपडेट किए गए सैंपल देखें. (I8a9c4, b/255554340)
  • इन-लाइन/छिपाए गए फ़ंक्शन के ज़्यादा टाइप/शून्य वैल्यू (I24f91)
  • TextStyle में LineBreak और Hyphens एपीआई को स्थिर कर दिया गया है. (Ic1e1d)

गड़बड़ियां ठीक की गईं

  • अब टेक्स्ट फ़ील्ड में कर्सर ब्लिंक करता रहेगा. ऐनिमेशन बंद होने पर भी ऐसा होता रहेगा. (I95e70, b/265177763)
  • अब सिस्टम की सेटिंग में ऐनिमेशन बंद होने पर भी Modifier.basicMarquee ऐनिमेट होता है. (I23389, b/262298306, b/265177763)

बाहरी योगदान

  • TextInputSession और TextInputService में notifyFocusedRect तरीकों को फिर से बंद नहीं किया गया. (I23a04, b/262648050)

वर्शन 1.4.0-alpha04

11 जनवरी, 2023

androidx.compose.foundation:foundation:1.4.0-alpha04 और androidx.compose.foundation:foundation-layout:1.4.0-alpha04 रिलीज़ हुई हैं. वर्शन 1.4.0-alpha04 में ये कमियां हैं.

नई सुविधाएं

  • FlowRow और FlowColumn अब @ExperimentalFoundationApi के तौर पर उपलब्ध हैं. इनकी मदद से कॉम्पोनेंट को पंक्ति और कॉलम पर आधारित लेआउट के ज़्यादा विकल्प मिलते हैं. मुख्य ऐक्सिस पर जगह न होने पर, यह नई लाइन में बदल जाती है. (I3a7b2)
  • Modifier.basicMarquee()यह सुविधा, स्क्रोलिंग मार्की इफ़ेक्ट की मदद से कॉन्टेंट दिखाने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध है. (I2df44, b/139321650)

एपीआई में बदलाव

  • FocusRequesterModifierFocusRequesterNode
  • variationSettings वाला AndroidFont कंस्ट्रक्टर, अब ठीक से काम करने वाला एपीआई है. इसका इस्तेमाल, नए तरह के फ़ॉन्ट डिस्क्रिप्टर बनाने के लिए किया जा सकता है. (I5adcc, b/261565807)
  • PinnableContainer एपीआई का इस्तेमाल, लेज़ी लिस्ट के ज़रिए एक कंपोज़िशन लोकल के ज़रिए किया जाता है. इससे मौजूदा आइटम को पिन किया जा सकता है. इसका मतलब है कि जब इस आइटम को व्यू से दूर स्क्रोल किया जाएगा, तो उसे नष्ट नहीं किया जाएगा. उदाहरण के लिए, Modifier.focusable() इस तरीके से, फ़ोकस किए गए मौजूदा आइटम को पिन करेगा. (Ib8881, b/259274257, b/195049010)
  • bringIntoViewRequesters और फ़ोकस करने लायक, स्क्रोल किए जा सकने वाले कोड के जवाब को फिर से लिखें, ताकि उन ऑपरेशन की जटिलता को बेहतर बनाया जा सके और ज़्यादा किनारे वाले केस हैंडल किए जा सकें. (I2e5fe, b/241591211, b/192043120, b/237190748, b/230756508, b/239451114)
  • काम न करने वाले छिपे हुए फ़ंक्शन की ज़्यादा रिटर्न टाइप शून्यता (Ibf7b0)
  • टेक्स्ट को Static(default) या ऐनिमेटेड में तय करने के लिए, प्रयोग के तौर पर TextMotion को TextStyle में जोड़ा गया. अगर टेक्स्ट का साइज़ बढ़ाया जा रहा है, उसका अनुवाद किया जा रहा है या उसे ऐनिमेशन के ज़रिए घुमाया जा रहा है, तो TextMotion.Animated का इस्तेमाल करें. (I24dd7)
  • Android प्लैटफ़ॉर्म (I00303) पर फ़ोकस नेविगेशन व्यवहार को ठीक करने के लिए, TextFieldFocusModifier जोड़ें
  • drawText में maxSize: IntSize आर्ग्युमेंट को size: Size से बदला गया, ताकि DrawScope के अन्य फ़ंक्शन के साथ इनलाइन किया जा सके. size को डिफ़ॉल्ट रूप से Size.Unspecified पर सेट किया गया है. इसलिए, इससे पिछली डिफ़ॉल्ट सेटिंग में कोई बदलाव नहीं होना चाहिए. (Icd27d)

गड़बड़ियां ठीक की गईं

  • नैचुरल अनुभव पाने के लिए, SnapFlingBehaviour में स्नैप फ़िज़िक्स में बदलाव किए गए.

आम समस्या

  • androidx.compose.foundation:1.4.0-alpha03 से androidx.compose.foundation:1.4.0-alpha04 में अपडेट करने पर, आपको java.lang.NoSuchFieldError गड़बड़ी दिख सकती है. यहां वह जगह है जहां पर समस्या की मूल रूप से रिपोर्ट की गई थी. समस्या का हल सबमिट कर दिया गया है और यह विकल्प Compose के अगले अपडेट में उपलब्ध होगा. काम करने के लिए, अपनी androidx.compose.material और androidx.compose.material3 लाइब्रेरी को सबसे नए वर्शन(1.1.0-alpha04) में अपडेट करें या अपने androidx.compose.foundation को 1.4.0-alpha03 पर डाउनग्रेड करें.

वर्शन 1.4.0-alpha03

7 दिसंबर, 2022

androidx.compose.foundation:foundation:1.4.0-alpha03 और androidx.compose.foundation:foundation-layout:1.4.0-alpha03 रिलीज़ हुई हैं. वर्शन 1.4.0-alpha03 में ये कमियां हैं.

एपीआई में बदलाव

  • 'लिखें' नियम का इस्तेमाल करके किए गए यूज़र इंटरफ़ेस (यूआई) की जांच में, withFrameNanos कॉलबैक के दौरान फिर से शुरू किए गए क्रम को तब तक नहीं भेजा जाएगा, जब तक कि सभी फ़्रेम कॉलबैक नहीं चल जाते. यह सामान्य रूप से चलने पर कंपोज़ के व्यवहार से मेल खाता है. हालांकि, ऐसे टेस्ट में फ़ेल हो सकता है जो पुराने तरीके का इस्तेमाल करते हैं. इसका असर सिर्फ़ उस कोड पर होना चाहिए जो सीधे withFrameNanos या withFrameMillis को कॉल करता है. साथ ही, इसमें कॉलबैक के बाहर मौजूद उन फ़ंक्शन को पास किया गया लॉजिक होता है जिन्हें कॉलबैक के अंदर ले जाना पड़ सकता है. उदाहरणों के लिए इस CL में ऐनिमेशन टेस्ट में हुए बदलाव देखें.
  • withFrameNanos कॉलबैक के बाद, कॉलर को फिर से शुरू करने से पहले, कोड को चलाने के लिए, TestMonotonicFrameClock कंस्ट्रक्टर और फ़ैक्ट्री फ़ंक्शन में वैकल्पिक onPerformTraversals: (Long) -> Unit पैरामीटर जोड़ा गया कोरूटीन. (Idb413, b/254115946, b/222093277, b/255802670)
  • पेज की सुलभता सुविधाओं के बारे में जानकारी: PageUp, PageDown, PageLeft, PageRight. ध्यान दें कि ये सुविधाएं सिर्फ़ एपीआई 29 पर उपलब्ध हैं. (Ida4ab)
  • HorizontalPager और VerticalPager के बारे में बताएं. यह पेजर तरीके से कंपोज़ेबल दिखाने का तरीका है. पेजर को कंट्रोल करने के लिए PagerState लॉन्च किया गया. साथ ही, पेजर की मौजूदा स्थिति के बारे में क्वेरी की जानकारी भी लॉन्च की गई. PageSize की शुरुआत की गई. यह किसी पेजर के पेज का साइज़ कंट्रोल करने का एक तरीका है. इसका इस्तेमाल, पेजर जैसा कैरसेल बनाने के लिए किया जा सकता है. PagerSnapDistance की शुरुआत की गई. यह पेज़र के फ़्लिंग व्यवहार में स्नैप करने के काम को कंट्रोल करने का तरीका है. (I01120)
  • यह समझने के लिए कि फ़्लिंग कहां होगा, SnapFlingBehavior.performFling में ओवरलोड का पता लगाया. (I569f6)
  • OverscrollEffect#isEnabled को हटा दिया गया है. इस फ़्लैग को याद रखने और सेट करने की ज़रूरत के बजाय, ऐसे मामलों में इवेंट को ओवरस्क्रोल इफ़ेक्ट में न भेजें, जब आपको ओवरस्क्रोल नहीं दिखाना हो (उदाहरण के लिए, अगर ScrollableState#canScrollForward/backward दोनों 'गलत' दिखाते हैं). (I1a4b0, b/255554340, b/255557085)
  • यह क्वेरी करने के लिए ScrollableState#canScrollForward और ScrollableState#canScrollBackward को जोड़ा गया है कि क्या ScrollableState में किसी भी दिशा में स्क्रोल करने की जगह है (चाहे वह अपनी रेंज के कम से कम / ज़्यादा से ज़्यादा हो). यह डिफ़ॉल्ट रूप से, ScrollableState के मौजूदा सिस्टम के साथ पुराने सिस्टम के साथ काम करने की सुविधा के लिए सही पर सेट होती है. उपभोक्ता इसका इस्तेमाल, उपयोगकर्ता को यह बताने के लिए कर सकते हैं कि स्क्रोल करने के लिए अब भी जगह बची है. साथ ही, इसका इस्तेमाल उन ScrollableStates को डेल्टा भेजने से बचने के लिए भी किया जा सकता है जिनमें एक दी गई दिशा में स्क्रोल करने के लिए जगह न हो. इससे गैर-ज़रूरी काम में कमी आएगी. (Idf1a0, b/255557085)
  • क्वेरी ऐन्सेस्टर की स्क्रोल जानकारी में मॉडिफ़ायर एपीआई जोड़ा गया. (I2ba9d, b/203141462)
  • Clickable में इस्तेमाल किया जाता है, ताकि प्रेस इंटरैक्शन में देरी हो सके. ऐसा तब होता है, जब जेस्चर, स्क्रोल इवेंट बन सकते हैं.
  • Scrollable ViewGroup में इस्तेमाल किए जाने पर, Clickables को ठीक किया गया है, जिससे रिपल में देरी नहीं हो रही है.
  • अगर जेस्चर, स्क्रोल इवेंट बन सकते हैं, तो ड्रॉर और शीट को अपडेट किया गया है, ताकि दबाए जाने पर सही तरीके से कार्रवाई को रोका जा सके.
  • snapStepSize का नाम अपडेट करें, ताकि वह SnapLayoutInfoProvider में मौजूद अन्य तरीकों से मेल खाए. (Ife67c)
  • EmojiCompat को Compose (Ibf6f9, b/139326806) में जोड़ा गया
  • consumedWindowInsets() का नाम बदलकर consumeWindowInsets() और withConsumedWindowInsets() का नाम बदलकर onConsumedWindowInsetsChanged() किया. साथ ही, मॉडिफ़ायर को सार्वजनिक किया. (Ie44e1)

गड़बड़ियां ठीक की गईं

  • Modifier.animateItemPlacement() और लेज़ी ग्रिड के साथ होने वाले क्रैश को ठीक कर दिया गया है. कुछ स्थितियों में ऐसा हो रहा था जब नए आइटम की संख्या पिछले आइटम के मुकाबले कम थी. (I0bcac, b/253195989)

वर्शन 1.4.0-alpha02

9 नवंबर, 2022

androidx.compose.foundation:foundation:1.4.0-alpha02 और androidx.compose.foundation:foundation-layout:1.4.0-alpha02 रिलीज़ हुई हैं. वर्शन 1.4.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • awaitFirstDown और waitForUpOrCancellation अब PointerEventPass को स्वीकार करते हैं, ताकि ज़्यादा आसानी से पेमेंट किया जा सके. (I7579a, b/212091796)
  • लेज़ी* एपीआई (I12197) से beyondBoundCount एपीआई को पहले जैसा करें
  • व्यूपोर्ट आइटम लिखने और उन्हें सही जगह पर दिखाने के लिए, Laज़ी एपीआई में पैरामीटर पेश किया गया (I69e89, b/172029355)
  • BasicText और BasicTextField में minLines पैरामीटर जोड़ा गया. इससे कंपोज़ेबल की कम से कम ऊंचाई सेट की जा सकती है लाइनों की संख्या (I24294, b/122476634)

वर्शन 1.4.0-alpha01

24 अक्टूबर, 2022

androidx.compose.foundation:foundation:1.4.0-alpha01 और androidx.compose.foundation:foundation-layout:1.4.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.4.0-alpha01 में ये कमियां हैं.

एपीआई में बदलाव

  • जेस्चर डिटेक्टर के लिए एक नई विधि awaitEachGesture() को जोड़ा गया. यह forEachGesture() की तरह काम करता है. हालांकि, जेस्चर (हाव-भाव) पर लूप पूरी तरह से AwaitPointerEventScope के अंदर काम करता है. इसलिए, बार-बार होने वाले इवेंट से कोई फ़र्क़ नहीं पड़ता.
  • forEachGesture() की जगह अब awaitEachGesture() का इस्तेमाल किया जा रहा है, क्योंकि यह जेस्चर के बीच इवेंट को छोड़कर जाने की अनुमति देता है. (Iffc3f, b/251260206)
  • ऐनिमेशन की प्रोग्रेस तय करने और यह जानने के लिए कि ऐनिमेशन पूरा होने के बाद IME कहां होगा, WindowInsets.imeAnimationSource और WindowInsets.imeAnimationTarget जोड़े गए. (I356f1, b/217770337)

वर्शन 1.3

वर्शन 1.3.1

9 नवंबर, 2022

androidx.compose.foundation:foundation:1.3.1 और androidx.compose.foundation:foundation-layout:1.3.1 रिलीज़ हुई हैं. वर्शन 1.3.1 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • BeyondBoundsLayout (aosp/2255266) में परफ़ॉर्मेंस से जुड़ी समस्या ठीक करें
  • ContentInViewModifier तब तक लेआउट निर्देशांक नहीं पढ़ेगा, जब तक अटैच नहीं किया जाता (aosp/2241316)

वर्शन 1.3.0

24 अक्टूबर, 2022

androidx.compose.foundation:foundation:1.3.0 और androidx.compose.foundation:foundation-layout:1.3.0 रिलीज़ हुई हैं. वर्शन 1.3.0 में ये कमियां शामिल हैं.

01.2.0 के बाद के अहम बदलाव

  • LazyVerticalStaggeredGrid और LazyHorizontalStaggeredGrid के एक्सपेरिमेंटल वर्शन लॉन्च किए गए.
  • SnapFlingBehavior, rememberSnapFlingBehavior, और इससे जुड़े अन्य एपीआई को एक्सपेरिमेंट के तौर पर जोड़ा गया.
  • अगर Modifier.clickable, Modifier.toggleable, और Modifier.selectable को रिमोट कंट्रोल से कीबोर्ड या डी-पैड से क्लिक किया जाता है, तो अब वे रिपल दिखाती हैं.

वर्शन 1.3.0-rc01

5 अक्टूबर, 2022

androidx.compose.foundation:foundation:1.3.0-rc01 और androidx.compose.foundation:foundation-layout:1.3.0-rc01 रिलीज़ हुई हैं. वर्शन 1.3.0-rc01 में ये कमिट हैं.

एपीआई में बदलाव

  • lowVelocityAnimationSpec का इस्तेमाल अप्रोच स्टेप में किया गया था, जब क्षय करने के लिए काफ़ी फ़्लिंग वेलोसिटी नहीं थी. (Iaeb27)
  • टेक्स्ट में अपने-आप हाइफ़न लगा पाने की सुविधा के लिए, एक्सपेरिमेंट के तौर पर नए एपीआई हाइफ़न जोड़े गए (Iaa869)

वर्शन 1.3.0-beta03

21 सितंबर, 2022

androidx.compose.foundation:foundation:1.3.0-beta03 और androidx.compose.foundation:foundation-layout:1.3.0-beta03 रिलीज़ हुई हैं. वर्शन 1.3.0-beta03 में ये कमिट हैं.

एपीआई में बदलाव

  • टेक्स्ट में लाइन ब्रेकिंग को पसंद के मुताबिक बनाने के लिए विकल्प जोड़ें. (I86907)
  • BringIntoViewResponder अब किसी अनुरोध को प्रोसेस करते समय, उससे जुड़ी अप-टू-डेट सीमाएं पा सकेंगे. (If86a5, b/241591211)
  • एक्सपेरिमेंट के तौर पर शुरू की गई Staggered Grid (I10b82) और आइटम के बीच की स्पेसिंग की सुविधा उपलब्ध कराएं
  • एक्सपेरिमेंटल Staggered Grid (I342ea) में कॉन्टेंट पैडिंग के बारे में जानकारी दें
  • कम से कम चौड़ाई की सीमा के हिसाब से काम करने के लिए, TextMeasurer.measure तरीके में constraints: Constraints वाले size:IntSize आर्ग्युमेंट को बदला गया. (I37530, b/242707525)
  • windowInsetsPadding के बाहर इस्तेमाल करने के लिए, इस्तेमाल किए जा चुके WindowInsets को पाने के लिए, Modifier.withConsumedWindowInsets() को जोड़ा गया.
  • WindowInsets को बिना बदले आसानी से बदलने के लिए, MutableWindowInsets को जोड़ा गया. (I7fd28, b/237019262, b/243119659)

वर्शन 1.3.0-beta02

7 सितंबर, 2022

androidx.compose.foundation:foundation:1.3.0-beta02 और androidx.compose.foundation:foundation-layout:1.3.0-beta02 रिलीज़ हुई हैं. वर्शन 1.3.0-beta02 में ये कमिट हैं.

एपीआई में बदलाव

  • एक्सपेरिमेंटल StaggeredGrid (Ia48be) का शुरुआती वर्शन
  • FocusDirection.In और FocusDirection.Out का नाम बदलकर FocusDirection.Enter और FocusDirection.Exit किया (Ia4262, b/183746982)
  • rememberSnapFlingBehavior ओवरलोड दिखाई दिया, जो LazyLists में स्नैपिंग चालू करने का तेज़ तरीका बताता है. (Ifb48a)
  • snapFlingBehavior की फ़ैक्ट्री को, कंक्रीट SnapFlingBehavior क्लास से बदला गया. डेंसिटी के लिए SnapLayoutInfoProvider तरीके दिए गए, ताकि एपीआई इस्तेमाल करने वालों के लिए, Dp<->Px कन्वर्ज़न को आसान बनाया जा सके. (I54a11)
  • प्लेसेबल (जगहों) की लिस्ट देने के लिए, LazyLayoutMeasureScope.measure को अपडेट करें. इससे, दिखाई गई वैल्यू के लिए, तय नहीं किए जा सकने वाले बदलाव को हाइलाइट किया जाएगा. (I48b7c)
  • SnapLayoutInfoProvider को पेश किया गया, जो SnapLayoutInfoProvider का इंस्टेंस बनाने के लिए LazyListState की ज़रूरत होती है. इसका इस्तेमाल LazyLists के लिए, FlingBehavior स्नैप को चालू करने के लिए किया जा सकता है. (I2dd10)

गड़बड़ियां ठीक की गईं

  • अन्य इंतज़ार फ़ंक्शन (I646e6) से मिलान करने के लिए, AwaitPointerEventScope#awaitLongPressOrCancellation को रीफ़ैक्टर करता है

वर्शन 1.3.0-beta01

24 अगस्त, 2022

androidx.compose.foundation:foundation:1.3.0-beta01 और androidx.compose.foundation:foundation-layout:1.3.0-beta01 रिलीज़ हुई हैं. वर्शन 1.3.0-beta01 में ये कमिट हैं.

एपीआई में बदलाव

  • pointerPosition को OverscrollEffect से हटाया गया - पॉइंटर की मौजूदा जगह से जुड़े इफ़ेक्ट, effectModifier में Modifier.pointerInput { } का इस्तेमाल कर सकते हैं. ऐसा करके, पॉइंटर की मौजूदा जगह को हासिल किया जा सकता है. (I9f606, b/241239306)
  • ज़्यादा मुश्किल जेस्चर की पहचान करने के लिए, AwaitPointerEventScope#awaitLongPressOrCancellation को अतिरिक्त बिल्डिंग ब्लॉक के तौर पर दिखाया गया है (I04374, b/181577176)
  • लेज़ी लिस्ट में स्नैप करने की सुविधा को चालू करने के लिए, lazyListSnapLayoutInfoProvider लॉन्च किया गया. (I3ecdf)
  • SnapFlingBehavior की शुरुआत की गई. यह एक फ़्लिंग बिहेवियर है जो सूची स्नैप करने की सुविधा को चालू करता है. अपने स्नैपिंग लेआउट के बारे में जानकारी के साथ, SnapLayoutInfoProvider का इंस्टेंस दें. (Ie754c)

वर्शन 1.3.0-alpha03

10 अगस्त, 2022

androidx.compose.foundation:foundation:1.3.0-alpha03 और androidx.compose.foundation:foundation-layout:1.3.0-alpha03 रिलीज़ हुई हैं. वर्शन 1.3.0-alpha03 में ये कमियां हैं.

एपीआई में बदलाव

  • रिसोर्स फ़ॉन्ट अब सेटिंग फ़ॉन्ट वैरिएशन सेटिंग (एपीआई 26+) का समर्थन करते हैं. (I900dd, b/143703328)
  • DeviceFontFamilyNameFont (Ic1279, b/143703328) में वैरिएबल फ़ॉन्ट सपोर्ट
  • एक्सपेरिमेंट के तौर पर शुरू की गई एनोटेशन को PlatformTextStyle और LineHeightStyle से हटाया गया. (I64bef)
  • जब VisualTransformation से दिया गया OffsetMapping अमान्य इंडेक्स दिखाता है, तो टेक्स्ट फ़ील्ड में अपवाद के तौर पर ज़्यादा जानकारी मिलेगी. (Ie73f9, b/229378536)
  • लेज़ी लेआउट के बीच, आइटम देने वाला लॉजिक शेयर करने के लिए, एक्सपेरिमेंटल एपीआई पेश करें. (Ic891c)
  • ScrollableDefaults.reverseDirection() अब प्रयोग के तौर पर उपलब्ध नहीं है. (Iba646)
  • SemanticsModifier.id को हटा दिया गया और सिमैंटिक आईडी को LayoutInfo.semanticsId पर ले जाया गया. (Iac808, b/203559524)
  • checkScrollableContainerConstraints() अब प्रयोग के तौर पर उपलब्ध नहीं है. (I2c290)
  • Modifier.clipScrollableContainer() अब प्रयोग के तौर पर उपलब्ध नहीं है. (Ia2b44)
  • TextInputService.show|hideSoftwareKeyboard का बहिष्कार करें. कृपया ऐप्लिकेशन कोड में SoftwareKeyboardController और IME-मैनेजमेंट कोड में TextInputSession का इस्तेमाल करें. (I14e4c, b/183448615)

वर्शन 1.3.0-alpha02

27 जुलाई, 2022

androidx.compose.foundation:foundation:1.3.0-alpha02 और androidx.compose.foundation:foundation-layout:1.3.0-alpha02 रिलीज़ हुई हैं. वर्शन 1.3.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • DrawScope पर drawText एक्सटेंशन फ़ंक्शन जोड़ा गया, ताकि Canvas और drawBehind जैसे DrawScope पर ऑपरेट होने वाले कंपोज़ेबल और मॉडिफ़ायर पर कई स्टाइल वाले टेक्स्ट ड्रॉ किए जा सकें. (I16a62, b/190787898)

गड़बड़ियां ठीक की गईं

  • फ़ोकस किए जाने के दौरान टेक्स्ट फ़ील्ड के बंद होने पर, सॉफ़्ट कीबोर्ड नहीं दिखेगा. (I6e3e4, b/237308379)
  • वेलोसिटी ट्रैकर में InputEventChange इवेंट जोड़ते समय, हम अब पोज़िशन के बजाय डेल्टा का इस्तेमाल करेंगे. इससे यह गारंटी मिलेगी कि टारगेट एलिमेंट के मूव होने पर भी (Icea9d, b/216582726, b/223440806, b/227709803)
  • जब स्क्रोल किए जा सकने वाले किसी बच्चे पर फ़ोकस किया गया होता है, तब वह सही तरीके से स्क्रोल करेगा, ताकि फ़ोकस किए गए बच्चे को उसका साइज़ कम होने पर भी दिख सके. भले ही, साइज़ ऐनिमेशन वाला हो. (I80867, b/230756508, b/220119990)
  • उस क्रैश को ठीक किया गया है जहां चुनने के दौरान, TextField को मिटाकर उसे फिर से भरा जाता है. (I1235b, b/208655565, b/214253689)

वर्शन 1.3.0-alpha01

29 जून, 2022

androidx.compose.foundation:foundation:1.3.0-alpha01 और androidx.compose.foundation:foundation-layout:1.3.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.3.0-alpha01 में ये कमियां हैं.

एपीआई में बदलाव

  • AnnotatedString में TalkBack लिंक काम करने की सुविधा देने के लिए, UrlAnnotation एनोटेशन टाइप और उससे जुड़े तरीकों की जानकारी दी गई. (I1c754, b/231495122)

गड़बड़ियां ठीक की गईं

  • कर्सर टाइमर को रीस्टार्ट किए बिना, BasicTextField cursorBrush को ऐनिमेट किया जा सकता है. (I812e6, b/236383522)

वर्शन 1.2

वर्शन 1.2.1

10 अगस्त, 2022

androidx.compose.foundation:foundation:1.2.1 और androidx.compose.foundation:foundation-layout:1.2.1 रिलीज़ हुई हैं. वर्शन 1.2.1 में ये कमियां शामिल हैं.

वर्शन 1.2.0

27 जुलाई, 2022

androidx.compose.foundation:foundation:1.2.0 और androidx.compose.foundation:foundation-layout:1.2.0 रिलीज़ हुई हैं. वर्शन 1.2.0 में ये कमियां शामिल हैं.

1.1.0 के बाद के अहम बदलाव

  • LazyVerticalGrid और LazyHorizontalGrid की स्थिति में कोई बदलाव नहीं हुआ है.
  • अब लेज़ी लिस्ट और ग्रिड में मौजूद आइटम के लिए, कॉन्टेंट का टाइप तय किया जा सकता है. इससे कॉम्पोनेंट, एलिमेंट को ज़्यादा असरदार तरीके से फिर से इस्तेमाल कर पाते हैं.
  • लेज़ी लिस्ट और ग्रिड में अब userScrollEnabled पैरामीटर है. इसकी मदद से, उपयोगकर्ता के जेस्चर से स्क्रोल करने की सुविधा बंद की जा सकती है.
  • एक्सपेरिमेंट के तौर पर शुरू किया गया एक नया एपीआई जोड़ा गया है, जिसका नाम LazyLayout है. यह एक ऐसा एपीआई है जिसका इस्तेमाल हम लेज़ी लिस्ट और ग्रिड को चलाने के लिए, अंदरूनी तौर पर करते हैं.
  • OverscrollEffect एपीआई को एक्सपेरिमेंट के तौर पर शुरू किया गया है. कस्टम ओवरस्क्रोल इफ़ेक्ट तय किए जा सकते हैं. साथ ही, स्क्रोल करने लायक कस्टम कंटेनर में एक स्टैंडर्ड प्लैटफ़ॉर्म जोड़ा जा सकता है.
  • नेस्ट किए गए स्क्रोलिंग इंटरऑपरेबिलिटी एपीआई की शुरुआत की गई है. इसका मकसद, व्यू और कंपोज़ किए गए स्क्रोलिंग कलाकारों के बीच इंटरऑपरेबिलिटी (दूसरे सिस्टम के साथ काम करना) की सुविधा देना है.
  • माउस और ट्रैकपैड स्क्रोलिंग को सभी स्क्रोलिंग कंटेनर में जोड़ दिया गया है.

वर्शन 1.2.0-rc03

29 जून, 2022

androidx.compose.foundation:foundation:1.2.0-rc03 और androidx.compose.foundation:foundation-layout:1.2.0-rc03 रिलीज़ हुई हैं. वर्शन 1.2.0-rc03 में ये कमिट हैं.

  • 1.2.0-rc02 के बाद से कोई बदलाव नहीं किया गया है.

वर्शन 1.2.0-rc02

22 जून, 2022

androidx.compose.foundation:foundation:1.2.0-rc02 और androidx.compose.foundation:foundation-layout:1.2.0-rc02 रिलीज़ हुई हैं. वर्शन 1.2.0-rc02 में ये कमिट हैं.

वर्शन 1.2.0-rc01

15 जून, 2022

androidx.compose.foundation:foundation:1.2.0-rc01 और androidx.compose.foundation:foundation-layout:1.2.0-rc01 रिलीज़ हुई हैं. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • कस्टम ओवरस्क्रोल इफ़ेक्ट का इस्तेमाल करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध OverscrollEffect की सुविधा जोड़ी गई है. साथ ही, इसे स्वीकार करने वाले Modifier.scrollable ओवरलोड भी जोड़े गए हैं.
  • प्रयोगात्मक LocalOverScrollConfiguration को foundation.gesture से फ़ाउंडेशन पैकेज में ले जाया गया है और इसका नाम बदलकर LocalOverscrollConfiguration (If19fb, b/204650733) कर दिया गया है
  • लिखने की सुविधा वाली लाइब्रेरी में इंटरफ़ेस अब jdk8 डिफ़ॉल्ट इंटरफ़ेस तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं
  • एक्सपेरिमेंट के तौर पर उपलब्ध एक एपीआई checkScrollableContainerConstraints() लॉन्च किया गया. इसकी मदद से, यह पता लगाया जा सकता है कि हम स्क्रोल किए जा सकने वाले कंटेनर को नेस्ट नहीं करते हैं. LazyLayout की मदद से, स्क्रोल करने वाले लेज़ी लेआउट बनाने के लिए, इसका इस्तेमाल किया जा सकता है. (Id6fab, b/233352497)
  • androidx.compose.foundation.lazy पैकेज से, LazyVerticalGrid अब काम नहीं करता. नया स्थायी एपीआई androidx.compose.foundation.lazy.grid (I73c76, b/225192009) में मौजूद है

वर्शन 1.2.0-beta03

1 जून, 2022

androidx.compose.foundation:foundation:1.2.0-beta03 और androidx.compose.foundation:foundation-layout:1.2.0-beta03 रिलीज़ हुई हैं. वर्शन 1.2.0-beta03 में ये कमिट हैं.

एपीआई में बदलाव

  • प्रयोग के तौर पर नया IntervalList और MutableIntervalList जोड़ा गया. इसकी मदद से, कई इंटरवल के ज़रिए वैल्यू की कुछ लिस्ट दिखाई जा सकती है. यह तब काम का होगा, जब आपको LazyColumn में इस्तेमाल किए गए डीएसएल से मिलते-जुलते डीएसएल तय करने हों. यहां सूची में मौजूद आइटम के बारे में, एक से ज़्यादा आइटम/आइटम कॉल के ज़रिए बताया जा सकता है. (I2d05e, b/228580728)

गड़बड़ियां ठीक की गईं

  • WindowInsets.ime के दस्तावेज़ में साफ़ तौर पर बताया गया कि ime इनसेट को एपीआई 23 के पुराने वर्शन के तौर पर रिपोर्ट किया गया है. हालांकि, ये 30 से ज़्यादा वर्शन पर ही ऐनिमेशन किए गए हैं. (Ia7fc0, b/230756508)
  • जब कर्सर टेक्स्ट फ़ील्ड के आखिर में हो, तो फ़ॉरवर्ड करने के बटन को दबाने से, अब कोई क्रैश नहीं होगा.
  • DeleteSurroundingTextCommand और DeleteSurroundingTextInCodePointsCommand के लिए अब उनके कंस्ट्रक्टर आर्ग्युमेंट, गैर-ऋणात्मक होने चाहिए. (Ica8e6, b/199919707)

वर्शन 1.2.0-beta02

18 मई, 2022

androidx.compose.foundation:foundation:1.2.0-beta02 और androidx.compose.foundation:foundation-layout:1.2.0-beta02 रिलीज़ हुई हैं. वर्शन 1.2.0-beta02 में ये तय किए गए हिस्से शामिल हैं.

  • डाउनलोड किए जा सकने वाले फ़ॉन्ट का रिज़ॉल्यूशन, जिसके लेआउट के साइज़ में बदलाव नहीं होता या TextField पहले फिर से नहीं किया जा सका. इस वजह से, फ़ॉन्ट डिसप्ले खराब हो रहा है. यह बग समाधान यह पक्का करता है कि टेक्स्ट लेआउट हमेशा फिर से ड्रॉ (b/229727404) ट्रिगर करता हो. (I1d49e, b/229727404)

वर्शन 1.2.0-beta01

11 मई, 2022

androidx.compose.foundation:foundation:1.2.0-beta01 और androidx.compose.foundation:foundation-layout:1.2.0-beta01 रिलीज़ हुई हैं. वर्शन 1.2.0-beta01 में ये तय किए गए हिस्से शामिल हैं.

नई सुविधाएं

  • यह 1.2 की पहली बीटा रिलीज़ है!

एपीआई में बदलाव

  • इस्तेमाल के लिए, प्रयोग के तौर पर BeyondBoundsInterval को जोड़ा गया कस्टम तौर पर LazyList को लागू करना. ऐसा तब किया जाता है, जब वे आइटम को दिखने वाली सीमाओं से ज़्यादा लेआउट करते हैं (Ifabfb, b/184670295)
  • LineHeightBehavior का नाम बदलकर LineHeightStyle कर दिया गया है
  • LineVerticalAlignment का नाम बदलकर LineHeightStyle.Alignment कर दिया गया है
  • LineHeightTrim का नाम बदलकर LineHeightStyle.Trim किया गया
  • LineHeightStyle की डिफ़ॉल्ट कंस्ट्रक्टर वैल्यू हटा दी गई हैं (I582bf, b/181155707)
  • LazyLayoutItemProvider इंटरफ़ेस के वैकल्पिक सदस्यों के लिए डिफ़ॉल्ट वैल्यू जोड़ी गईं. (Iba8a0)
  • LazyLayoutItemProvider एपीआई में, इंडेक्स से कंपोज़ेबल लैम्डा दिखाने वाली फ़ैक्ट्री के बजाय, अब हमारे पास इंडेक्स को स्वीकार करने वाला एक आसान कंपोज़ेबल फ़ंक्शन आइटम है. (आईडी2196)
  • LazyLayoutitemProvider का नाम बदलकर, LazyLayoutItemProvider (I0638c) कर दिया गया
  • LazyLayoutItemsProvider.itemsCount का नाम बदलकर itemCount (Id409c) कर दिया गया है
  • ग्रेडिएंट कलरिंग का इस्तेमाल करके टेक्स्ट बनाने का तरीका देने के लिए, TextStyle और SpanStyle में ब्रश जोड़ा गया. (I53869, b/187839528)
  • trimFirstLineTop, trimLastLineBottom एट्रिब्यूट LineHeightBehavior को एक enum में बदला गया: LineHeightTrim. LineHeightTrim में दो बूलियन के ज़रिए तय की गई 4 स्थितियों के मान हैं: FirstLineTop, LastLineBottom, दोनों और कोई नहीं (Ifc6a5, b/181155707)
  • LineHeightBehavior को TextStyle में जोड़ा गया है और ParagraphStyle. LineHeightBehavior यह नियंत्रित करता है कि क्या लाइन की ऊंचाई पहली लाइन के ऊपरी और आखिरी लाइन के निचले हिस्से पर लागू होती है. यह TextStyle(lineHeight) के दिए गए स्पेस में लाइन की अलाइनमेंट के बारे में भी बताता है.

    उदाहरण के लिए, हो सकता है कि सीएसएस के जैसा व्यवहार LineHeightBehavior(alignment = LineVerticalAlignment.Center, trimFirstLineTop=false, trimLastLineBottom = false) से परिभाषित करता है.

  • trimFirstLineTop, trimLastLineBottom कॉन्फ़िगरेशन सही तरीके से काम करता है सिर्फ़ तब, जब includeFontPadding गलत हो. (I97332, b/181155707)

  • प्रयोग के तौर पर imeNestedScroll() मॉडिफ़ायर जोड़ा गया, ताकि डेवलपर स्क्रोल करके IME को कंट्रोल कर सकें. (I60759)

गड़बड़ियां ठीक की गईं

  • फ़िक्स्ड रिग्रेशन जहां फ़ोकस किए जाने के दौरान कंपोज़िशन से हटाए जाने पर टेक्स्ट फ़ील्ड कीबोर्ड नहीं छिपाते. (I7a410, b/230536793, b/225541817)
  • ऊंचाई सीमित होने और सभी टेक्स्ट लाइनों में फ़िट न होने पर, एलिप्सिस का इस्तेमाल किया जा सकता है (Ie528c, b/168720622)
  • BringIntoViewRequester.bringIntoView हमेशा तब तक निलंबित रहेगा, जब तक अनुरोध पूरा नहीं हो जाता या उस पर किसी नए और ओवरलैप न होने वाले अनुरोध की वजह से रुकावट नहीं आती. ओवरलैप होने वाले अनुरोधों को सूची में जोड़ दिया जाएगा. (I43e7f, b/216790855)
  • पूरी तरह ओवरलैप होने वाले आयतों के लिए समवर्ती BringIntoViewRequester.bringIntoView कॉल अब केवल एक बड़े रेक्टैंगल के अनुरोध को स्वीकार करना. (I34be7, b/216790855, b/184760918)
  • includeFontPadding डिफ़ॉल्ट सेटिंग चालू की गई है. TextStyle.platformTextStyle एट्रिब्यूट का इस्तेमाल करके, includeFontPadding को बंद किया जा सकता है. आने वाले समय में हम डिफ़ॉल्ट व्यवहार को बदल देंगे. हालांकि, इससे हमें लाइन की ऊंचाई में सुधार (aosp/2058653) को बेहतर तरीके से इंटिग्रेट करने और क्लिप बनाने से जुड़ी TextField समस्याओं को हल करने में मदद मिलेगी. (I01423, b/171394808)
  • Modifier.bringIntoViewRequester अब onGloballyPositioned का इस्तेमाल नहीं करता है. (I630f5)

बाहरी योगदान

  • अगर हम वर्टिकल तरीके से स्क्रोल करते हैं, तो MouseInjectionScope.scroll(delta = someDelta) अब Android पर उलटा हो जाता है (अगर कुछ Delta पॉज़िटिव है, तो वह नीचे की ओर स्क्रोल होगा) (Ifb697, b/224992993)

वर्शन 1.2.0-alpha08

20 अप्रैल, 2022

androidx.compose.foundation:foundation:1.2.0-alpha08 और androidx.compose.foundation:foundation-layout:1.2.0-alpha08 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha08 में ये कमियां हैं.

एपीआई में बदलाव

  • FontFamily.SansSerif का इस्तेमाल करते समय, Android पर सिस्टम फ़ॉन्ट के लिए उपलब्ध सभी वज़न दिखाएं. यह API 21-28 पर आंतरिक रूप से San-Serif-medium जैसे फ़ॉलबैक फ़ॉन्ट नामों का इस्तेमाल करेगा. यह व्यवहार में बदलाव है, क्योंकि पहले सिर्फ़ एपीआई 21-28 पर वेट 400 और 700 काम करते थे. (I380fe, b/156048036, b/226441992)
  • पैराग्राफ़ और मल्टीपैराग्राफ़ अब Constraints पैरामीटर को स्वीकार कर रहे हैं. फ़िलहाल, Constraints.maxHeight पास करने में कोई समस्या नहीं है, लेकिन भविष्य में कुछ कैलकुलेशन करें, जैसे कि ऊंचाई के आधार पर एलिप्सेस करना. (I6afee, b/168720622)
  • SubcomposeSlotReusePolicy.getSlotsToRetain() अब कस्टम म्यूटेबलसेट-जैसी क्लास स्वीकार करता है जो इसमें नए आइटम जोड़ने की अनुमति नहीं देती है. (Icd314)
  • PointerInputChange में कुछ हद तक इस्तेमाल (डाउन या पोज़िशन) पर रोक लगा दी गई है. इस बदलाव का पूरा इस्तेमाल करने के लिए, consume() का इस्तेमाल किया जा सकता है. isConsumed का इस्तेमाल करके, यह पता लगाया जा सकता है कि पहले किसी दूसरे व्यक्ति ने इस बदलाव का इस्तेमाल किया है या नहीं.
  • PointerInputChange::copy() अब हमेशा कम जानकारी वाली कॉपी बनाता है. इसका मतलब है कि अगर किसी वीडियो की कॉपी मिटा दी जाती है, तो उस वीडियो की PointerInputChange कॉपी मिटा दी जाएंगी. अगर आपको अनबाउंड PointerInputChange बनाना है, तो इसके बजाय कंस्ट्रक्टर का इस्तेमाल करें. (Ie6be4, b/225669674)
  • एक्सपेरिमेंट के तौर पर उपलब्ध नया LazyLayout एपीआई लॉन्च किया गया. इससे आपको अपने कॉम्पोनेंट बनाने की सुविधा मिलती है, जैसे कि LazyVerticalGrid के LazyColumn. ध्यान दें कि यह एपीआई शुरुआती दौर में है और आने वाले समय में इसे अपडेट किया जा सकता है. (Iba2bc, b/166591700)
  • AndroidFont, अब typefaceLoader को कंस्ट्रक्टर पैरामीटर के तौर पर इस्तेमाल करता है. (I2c971)
  • WindowInsets कंपैनियन मोड, अब स्क्रीन पर दिख रहा है (चाहे वह स्क्रीन पर हो या न हो, भले ही वह विंडो में दिख रहा हो) और डिवाइस पर उपलब्ध होने पर उसका साइज़ दिखाता है. हालांकि, यह फ़िलहाल चालू नहीं है. (I65182, b/217770337)

वर्शन 1.2.0-alpha07

6 अप्रैल, 2022

androidx.compose.foundation:foundation:1.2.0-alpha07 और androidx.compose.foundation:foundation-layout:1.2.0-alpha07 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha07 में ये कमिट हैं.

एपीआई में बदलाव

  • एक PinnableParent एपीआई जोड़ा गया, जो लेज़ी लेआउट के बच्चों को, हाल ही में बनाए गए आइटम को नष्ट होने से रोकने की अनुमति देता है (Ibbdd0, b/184670295)
  • LazyListLayoutInfo और LazyGridLayoutInfo में अब beforeContentPadding और afterContentPadding फ़ील्ड हैं (I3b628, b/200920410)
  • खास तौर पर, IME में दशमलव सेपरेटर को शामिल करने के लिए, KeyboardType.Decimal को Keyboard.Number के विकल्प के तौर पर जोड़ा गया. (Iec4c8, b/209835363)
  • नया फ़ॉन्ट डिस्क्रिप्टर फ़ॉन्ट(DeviceFontFamilyName) जोड़ें फ़ॉन्ट फ़ॉलबैक चेन के दौरान, वैकल्पिक तौर पर सिस्टम में इंस्टॉल किए गए फ़ॉन्ट खोजे जा सकते हैं. (I30468, b/219754572)
  • PointerEventType.Scroll और PointerEvent.scrollDelta अब स्टेबल एपीआई हैं (I574c5, b/225669674)
  • TextStyle/ParagraphStyle. includeFontPadding में, includeFontPadding के साथ काम करने से जुड़ा, कुछ समय के लिए बनाया गया कॉन्फ़िगरेशन TextStyle(platformStyle = PlatformTextStyle(includeFontPadding = true/false)) के ज़रिए बदला जा सकता है. यह, माइग्रेशन की सुविधा को चालू करने के लिए कुछ समय के लिए उपलब्ध कॉन्फ़िगरेशन का विकल्प है. इसे हटा दिया जाएगा. (If47be, b/171394808)
  • पूरे सिस्टम पर बोल्ड टेक्स्ट की सुलभता सेटिंग (I6c1e7) को इंटिग्रेट करने के लिए, FontFamily.Resolver को अपडेट किया गया
  • ComposeView की consumeWindowInsets एक्सटेंशन प्रॉपर्टी की मदद से डेवलपर, Android WindowInsets के इस्तेमाल की सुविधा बंद कर सकते हैं. इससे हर एक WindowInsets को लागू करने के लिए, क्रम में अलग-अलग ComposeViews का इस्तेमाल किया जा सकता है. इसके लिए एक-दूसरे की ज़रूरत नहीं पड़ती. (I0ef08, b/220943142)

वर्शन 1.2.0-alpha06

23 मार्च, 2022

androidx.compose.foundation:foundation:1.2.0-alpha06 और androidx.compose.foundation:foundation-layout:1.2.0-alpha06 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha06 में ये कमियां हैं.

एपीआई में बदलाव

  • फ़ोकस करने लायक टारगेट पर फ़ोकस करने के अनुरोध के लिए, RequestFocus सिमेंटिक्स कार्रवाई जोड़ी गई. (I17b71)
  • FocusOrder को अब FocusProperties में मर्ज कर दिया गया है और focusProperties() के पास अब focusOrder() से जुड़ी सभी सुविधाएं हैं. FocusOrder और focusOrder() के इस्तेमाल पर रोक लगा दी गई है. focusRequester को स्वीकार करने वाले focusOrder() को focusProperties() के साथ, focusRequester() मॉडिफ़ायर से बदला जाना चाहिए. इससे मॉडिफ़ायर को बेहतर बनाने में मदद मिलती है. (I601b7)
  • WindowInsets.asPaddingValues(Density) को जोड़ा गया, ताकि डेवलपर बिना कंपोज़िशन में शामिल हुए कन्वर्ज़न कर सकें. (I94c35)
  • अगर मौजूदा लेआउट हो, तो VectorPainter का कॉन्टेंट फ़्लिप करने के लिए, वेक्टर ड्रॉ करने लायक एलिमेंट की पार्सिंग अपडेट की गई दिशा RTL है. (I79cd9, b/185760237)

गड़बड़ियां ठीक की गईं

  • अगर स्क्रोल किए जाने वाले हिस्से का साइज़ बदला जाता है और फ़ोकस किए गए कंपोज़ेबल पहले दिखते हैं, तो स्क्रोल मॉडिफ़ायर (Modifier.verticalScroll(),Modifier.horizontalScroll(), और Modifier.scrollable()) अब स्क्रोल करके, फ़ोकस किए गए कंपोज़ेबल दिखते रहेंगे.
  • टेक्स्ट फ़ील्ड को तब कीबोर्ड के ऊपर रखा जाएगा, जब उन पर फ़ोकस किया गया हो और कीबोर्ड दिखाया गया हो. ऐसा तब होगा, जब लेज़ी स्क्रोल नहीं किया जा सकेगा और सॉफ़्ट इनपुट मोड ADJUST_RESIZE हो. (I4a485, b/190539358, b/192043120, b/216842427)

वर्शन 1.2.0-alpha05

9 मार्च, 2022

androidx.compose.foundation:foundation:1.2.0-alpha05 और androidx.compose.foundation:foundation-layout:1.2.0-alpha05 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha05 में ये कमियां हैं.

एपीआई में बदलाव

  • LazyVerticalGrid और LazyHorizontalGrid की स्थिति में अब कोई बदलाव नहीं हुआ है. (I307c0)
  • LazyGridItemInfo.Unknown को अलग LazyGridItemInfo.UnknownRow और LazyGridItemInfo.UnknownColumn (I56d51) से बदल दिया गया था
  • LazyVerticalGrid/LazyHorizontalGrid और इससे जुड़े सभी एपीआई, .grid सबपैकेज में ले जाए गए. कृपया अपने इंपोर्ट को androidx.compose.foundation.lazy से androidx.compose.foundation.lazy.grid में अपडेट करें. (I2d446, b/219942574)
  • टेक्स्ट: includeFontPadding अब डिफ़ॉल्ट रूप से बंद है. कॉन्टेंट बनाने includeFontPadding=false की वजह से क्लिप बनाने से जुड़ी समस्याएं ठीक की गईं साथ ही, लंबी स्क्रिप्ट के लिए कोई क्लिपिंग नहीं होनी चाहिए. (I31c84, b/171394808)
  • मेज़र किया गया इंटरफ़ेस अब parentData प्रॉपर्टी (I3313f) को दिखाता है
  • अनुमति देने के लिए, प्रयोग के तौर पर Modifier.onFocusedBoundsChanged का इस्तेमाल शुरू किया गया बच्चों का ध्यान खींचने वाली चीज़ों को ध्यान में रखकर वीडियो बनाए जाते हैं. (I14283, b/220030968, b/190539358, b/192043120, b/216842427)
  • लेज़ी हॉरिज़ॉन्टलGrid जोड़ा गया. (I61ae7, b/191238807)
  • क्रॉस-ऐक्सिस के साइज़ तय करने के लिए, नया LazyVerticalGrid एपीआई जोड़ा गया (I17723)
  • फ़ोकस ग्रुप मॉडिफ़ायर जोड़ा गया (I64bc0, b/213508274, b/184670295)

गड़बड़ियां ठीक की गईं

  • WindowInsets.toString() अब सही वैल्यू दिखाएगा. (I1585d)

बाहरी योगदान

  • Kotlinx कोरूटीन 1.6.0 (I3366d) का इस्तेमाल करने के लिए अपडेट किया गया

वर्शन 1.2.0-alpha04

23 फ़रवरी, 2022

androidx.compose.foundation:foundation:1.2.0-alpha04 और androidx.compose.foundation:foundation-layout:1.2.0-alpha04 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha04 में ये कमियां हैं.

एपीआई में बदलाव

  • अब मैन्युअल तरीके से BringIntoViewResponders की ज़रूरत नहीं है इसके लिए यह ज़रूरी है कि आप माता-पिता के तौर पर जवाब देने वाले लोगों को अनुरोध भेजें. वह आयत तुरंत लौटा दे जो वे अपने माता-पिता से लाना चाहते हैं में जोड़ा जा सकता है. (I8e66a)
  • टेक्स्ट में एक साथ काम नहीं करने वाले फ़ॉन्ट लोड करने की सुविधा (I77057, b/214587005)
  • LazyVerticalGrid अब उन आइटम से पहले line breaking का इस्तेमाल करता है जिनका स्पैन, मौजूदा लाइन में फ़िट नहीं हो रहा है. (I05c40, b/207462103)
  • excludeFromSystemGestures का नाम बदलकर systemGesturesExclusion किया गया (I19526)
  • अब LazyVerticalGrid में रिवर्स लेआउट का इस्तेमाल किया जा सकता है. (I6d7d7, b/215572963, b/211753558)
  • डेवलपर को अनुमति देने के लिए, WindowInsets.only() तरीका जोड़ें का इस्तेमाल करें. (I14c94, b/217768486)
  • ComposableTarget, ComposableTargetMarker, और लोगों को जोड़ा गया ComposableOpenTarget जो कब के समय की रिपोर्टिंग को इकट्ठा करने की अनुमति देता है कंपोज़ेबल फ़ंक्शन को किसी ऐसे एप्लीयर को टारगेट करना कहते हैं जो पहले नहीं था जिन्हें इस्तेमाल करने के लिए डिज़ाइन किया गया है.

    ज़्यादातर मामलों में एनोटेशन का अनुमान लगाने के लिए, कंपाइलर प्लगिन इसलिए यह ज़रूरी है कि इन एनोटेशन का सीधे इस्तेमाल करने पर दुर्लभ . जिन मामलों का अनुमान नहीं लगाया जा सकता उनमें बनाना और एक कस्टम उपकरणर, ऐब्स्ट्रैक्ट कंपोज़ेबल फ़ंक्शन का इस्तेमाल करके, जैसे कि इंटरफ़ेस मेथड), फ़ील्ड या ग्लोबल वैरिएबल कंपोज़ेबल लैम्डा (लोकल वैरिएबल और पैरामीटर का अनुमान लगाया जाता है), या ComposeNode या इससे जुड़े कंपोज़ेबल फ़ंक्शन का इस्तेमाल करते समय.

    कस्टम ऐप्लायर के लिए, कंपोज़ेबल फ़ंक्शन ComposeNode या ReusableComposeNode को जोड़ने की ज़रूरत है फ़ंक्शन और किसी भी फ़ंक्शन के लिए, CompoableTarget एनोटेशन कंपोज़ेबल लैम्डा पैरामीटर प्रकार. हालांकि, हमारा सुझाव है कि के साथ एक ऐसी व्याख्या बनाएं ComposableTargetMarker और फिर मार्क की गई जानकारी का इस्तेमाल करें ComposableTarget लिखने के बजाय बनाया गया है. कंपोज़ेबल एनोटेशन ComposableTargetMarker से मार्क की गई वैल्यू, इसके बराबर है एट्रिब्यूट के पूरी तरह क्वालिफ़ाइड नाम के साथ ComposbleTarget क्लास का इस्तेमाल applier पैरामीटर के तौर पर करें. उदाहरण के लिए, ComposableTargetMarker anroidx.compose.ui.UiComposable देखें. (I38f11)

गड़बड़ियां ठीक की गईं

  • अब नेगेटिव स्क्रोल ऑफ़सेट को LazyGridState.scrollToItem() और LazyGridState.animateScrollToItem() में पास करने की अनुमति है. (I025c6, b/211753558)
  • TextField के लिए एक साथ काम नहीं करने वाली फ़ॉन्ट लोडिंग का समर्थन करें. (Icc4bf, b/214587005)

वर्शन 1.2.0-alpha03

9 फ़रवरी, 2022

androidx.compose.foundation:foundation:1.2.0-alpha03 और androidx.compose.foundation:foundation-layout:1.2.0-alpha03 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha03 में ये कमियां हैं.

एपीआई में बदलाव

  • TextInputSession में notifyFocusedRect तरीके और TextInputService के इस्तेमाल पर रोक लगा दी गई है और उन्हें कॉल नहीं किया जाएगा. इस्तेमाल की जाने वाली चीज़ें अगर आपके पास इन फ़ॉर्मैट की फ़ाइल नहीं है, तो BringIntoViewRequester बटन का इस्तेमाल करें. (Ia4302, b/192043120, b/216842427, b/178211874)
  • Modifier.animateItemplacement() के साथ लेज़ी ग्रिड के आइटम के लिए ऐनिमेशन चालू किए गए. (Ib6621, b/211753218)
  • BringIntoViewRequester अब होस्टिंग को अनुरोधों को भेजता है Android व्यू. (Ia7a51)
  • FontFamilyResolver अब इसके ज़रिए उपलब्ध है: LocalFontFamilyResolver.current
    • createFontFamilyResolver(context) और को जोड़ा गया नया बनाने के लिए createFontFamilyResolver(context, coroutineScope) ऐसा फ़ॉन्ट फ़ैमिली रिज़ॉल्वर, जिसमें कंपोज़ की सुविधा का इस्तेमाल नहीं किया जा सकता.
    • पैराग्राफ़ और मल्टीपैराग्राफ़ अब FontFamily.Resolver लेते हैं
    • TextLayoutResult.layoutInput.fontFamilyResolver में अब यह शामिल है इस लेआउट के लिए इस्तेमाल किया गया रिज़ॉल्वर, जो अब काम नहीं करता TextLayoutResult.layoutInput.resourceLoader का इस्तेमाल नहीं किया जा रहा है. (Id5a45, b/174162090)
  • AndroidFont को जोड़ा गया. यह नए टाइप के लिए, कम लेवल का एक नया एपीआई है के फ़ॉन्ट रिसॉर्स डिस्क्रिप्टर का इस्तेमाल किया जाता है. उदाहरण के लिए, ऐप्लिकेशन पर आधारित बैकएंड, जो विकल्प के तौर पर पहले से इंस्टॉल किए गए फ़ॉन्ट की खोज करता हो डिवाइस पर सेव किया जा सकता है या ऐसे संसाधन से फ़ॉन्ट लोड किया जा रहा है जिसे मौजूदा फ़ॉन्ट की फ़ैक्ट्री.
    • Font.ResourceLoaded एपीआई को बड़ा किया गया, ताकि वह वैकल्पिक और एक साथ काम नहीं करने वाली सुविधाओं के साथ काम कर सके फ़ॉन्ट लोड हो रहा है. यह सुझाव नहीं दिया जाता है कि ऐप्लिकेशन डेवलपर इसका इस्तेमाल करें एपीआई को सीधे तौर पर इस्तेमाल किया जा सकता है. नए तरह के फ़ॉन्ट जोड़ने के लिए AndroidFont देखें.
    • Font.AndroidResourceLoader एक्सटेंशन फ़ंक्शन की अनुमति है कंपोज़िशन से बाहर होने पर Font.ResourceLoader का स्ट्रक्चर.
    • अनुमति देने के लिए, संसाधन-आधारित फ़ॉन्ट में loadingStrategy पैरामीटर जोड़ा गया जब संसाधन फ़ॉन्ट डाउनलोड किए जा सकने वाले फ़ॉन्ट एक्सएमएल का रेफ़रंस देता है, तो एसिंक्रोनस लोडिंग हो रही है. (Ie5aea, b/174162090)
  • Typeface(FontFamily) कंस्ट्रक्टर अब काम नहीं करता. यह था इसे पहले फ़ॉन्ट को प्रीलोड करने के लिए इस्तेमाल किया जाता था. इसे डाउनलोड किए जा सकने वाले फ़ॉन्ट. डाउनलोड किए जा सकने वाले फ़ॉन्ट की वजह से, हो सकता है कि यह कॉल 10 लोगों के लिए भी ब्लॉक हो जाए सेकंड. इसके बजाय, FontFamilyResolver.preload का इस्तेमाल करें
    • fontResource(FontFamily): Typeface के इस्तेमाल पर रोक लगा दी गई है. यह था इसे पहले फ़ॉन्ट को प्रीलोड करने के लिए इस्तेमाल किया जाता था. इसे डाउनलोड किए जा सकने वाले फ़ॉन्ट. इसके बजाय, FontFamilyResolver.preload (If8e7c, b/174162090) का इस्तेमाल करें
  • अब LazyVerticalGrid के आइटम के लिए कॉन्टेंट का टाइप तय किया जा सकता है - LazyGridScope पर मौजूद item/items फ़ंक्शन अब ऐसे पैरामीटर को स्वीकार करते हैं. इस तरह की जानकारी देने से, आइटम कंपोज़िशन के लिए लॉजिक का फिर से इस्तेमाल किया जा सकता है. इससे वह बेहतर तरीके से काम कर पाता है और कॉन्टेंट को सिर्फ़ मिलते-जुलते आइटम के बीच दोबारा इस्तेमाल कर सकता है. (I7b355, b/215372836)
  • LazyListLayoutInfo और LazyGridLayoutInfo में अब नई प्रॉपर्टी जोड़ दी गई हैं: viewportSize, orientation, reverseLayout (Ifc8ed, b/200920410)
  • अब आपके पास Lazycolumn/LazyRow के आइटम के लिए कॉन्टेंट का टाइप तय करने का विकल्प है - LaZListScope के आइटम/आइटम फ़ंक्शन अब ऐसे पैरामीटर को स्वीकार करते हैं. इस तरह की जानकारी देने से, आइटम कंपोज़िशन के लिए लॉजिक का फिर से इस्तेमाल किया जा सकता है. इससे वह बेहतर तरीके से काम कर पाता है और कॉन्टेंट को सिर्फ़ मिलते-जुलते आइटम के बीच दोबारा इस्तेमाल कर सकता है. (I26506)
  • maxSlotsToRetainForReuse को स्वीकार करने वाला SubcomposeLayoutState कंस्ट्रक्टर अब काम नहीं करता. इसके बजाय एक नया कंस्ट्रक्टर है, जो SubcomposeSlotReusePolicy को स्वीकार करता है - एक नया इंटरफ़ेस, जो इस बात पर ज़्यादा बेहतर कंट्रोल देता है कि आने वाले समय में फिर से इस्तेमाल करने के लिए, कौनसे स्लॉट सेव करके रखने चाहिए. (I52c4d)
  • पैडिंग के लिए, WindowInsets के लिए मॉडिफ़ायर जोड़ता है और साइज़ देना. इससे कुछ कॉन्टेंट को इनसेट एरिया में बढ़ाया जा सकता है, और मुख्य कॉन्टेंट को इनसेट एरिया से बाहर रखा गया हो. उदाहरण के लिए, कॉन्टेंट को पैडिंग (जगह) करने के लिए, windowInsetsPadding का इस्तेमाल किया जा सकता है पूरा या आंशिक तौर पर कवर किए जा सकने वाले इलाकों से बचने के लिए. (Id0395, b/213942085)

गड़बड़ियां ठीक की गईं

  • टेक्स्ट फ़ील्ड को अब कीबोर्ड के ऊपर तब रखा जाएगा, जब वे जब सॉफ़्ट इनपुट मोड चालू होता है, तब इस पर फ़ोकस किया जाता है और कीबोर्ड दिखता है ADJUST_PAN. (I8eaeb, b/190539358, b/192043120)
  • डेस्कटॉप, FontFamily.Resolver के लिए कंपोज़िशन स्थानीय का इस्तेमाल करता है
    • FontLoader डेस्कटॉप अब काम नहीं करता
    • डेस्कटॉप पर नई createFontFamilyResolver फ़ैक्ट्री (I6bbbb, b/174162090)
  • सॉफ़्ट कीबोर्ड इनपुट टाइप को बदलते समय, अब फ़्लिकर नहीं होता टेक्स्ट फ़ील्ड के बीच फ़ोकस करें. (I1bf50, b/187746439)
  • टेक्स्ट फ़ील्ड को अब अतिरिक्त पीछे दबाने की आवश्यकता नहीं है जब कर्सर हैंडल दिख रहा है. (Ideb4b, b/205726883)
  • टेक्स्ट को बड़ा करके दिखाने की सुविधा के व्यवहार को इस तरह बेहतर बनाया गया है कॉन्टेंट को बड़ा करके दिखाने की सुविधा से मेल खा सकती है. (Idd918, b/206833278)

वर्शन 1.2.0-alpha02

26 जनवरी, 2022

androidx.compose.foundation:foundation:1.2.0-alpha02 और androidx.compose.foundation:foundation-layout:1.2.0-alpha02 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • ओवरलोड वाले तरीकों में NonRestartableComposable को जोड़ा गया इस्तेमाल कर सकते हैं. यह कंपाइलर को कम करता है उन सभी पैरामीटर के लिए जनरेट की गई मेमोाइज़ेशन जांच (इसके बराबर है) को अंदरूनी फ़ंक्शन में दोहराया जाता है. (I90490)
  • इसके लिए excludeFromSystemGesture मॉडिफ़ायर जोड़े गए Android के setSystemGestureExclusionRects (I46f07) को आसानी से ऐक्सेस करें

गड़बड़ियां ठीक की गईं

  • टेक्स्ट को बड़ा करके दिखाने की सुविधा के व्यवहार को इस तरह बेहतर बनाया गया है कॉन्टेंट को बड़ा करके दिखाने की सुविधा से मेल खा सकती है. (Idd918, b/206833278)
  • LazyColumn, LazyRow, Modifier.verticalScroll, और Modifier.scrollable का इस्तेमाल करने वाले अन्य कंटेनर, अब माउस व्हील स्क्रोलिंग की सुविधा देते हैं. (I2b5e1, b/198214718)

वर्शन 1.2.0-alpha01

12 जनवरी, 2022

androidx.compose.foundation:foundation:1.2.0-alpha01 और androidx.compose.foundation:foundation-layout:1.2.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha01 में ये कमियां हैं.

एपीआई में बदलाव

  • LazyColumn, LazyRow, और LazyVerticalGrid में नया पैरामीटर userScrollEnabled जोड़ा गया. इससे उपयोगकर्ताओं को हाथ के जेस्चर या सुलभता से जुड़ी कार्रवाइयों की मदद से, स्क्रोल करने की सुविधा को कुछ समय या हमेशा के लिए बंद करने की अनुमति मिल जाएगी. हालांकि, स्थिति पर बताए गए तरीके से प्रोग्राम के हिसाब से स्क्रोल करने की अनुमति अब भी रहेगी. (I7eae9, b/201150093)
  • कॉन्टेंट को बड़ा करके दिखाने की सुविधा में onSizeChanged कॉलबैक जोड़ें. (I6879f)
  • चुने गए हिस्से को खींचकर छोड़ने पर, अब कॉन्टेंट को बड़ा करके दिखाने वाला विजेट दिखेगा SelectionContainer में हैंडल करता है. (I30b38, b/139320979)

गड़बड़ियां ठीक की गईं

  • TextField के कर्सर हैंडल को ठीक करता है, ताकि पेज से बाहर की ओर स्क्रोल करने पर यह हैंडल छिप न जाए व्यू. (I14552, b/208883748)

डिपेंडेंसी से जुड़े अपडेट

  • अब Kotlin 1.6.10 पर निर्भर करता है.

वर्शन 1.1

वर्शन 1.1.1

23 फ़रवरी, 2022

androidx.compose.foundation:foundation:1.1.1 और androidx.compose.foundation:foundation-layout:1.1.1 रिलीज़ हुई हैं. वर्शन 1.1.1 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462) पर जाकर, NullPointerException से जुड़ी गड़बड़ियों को ठीक करें
  • से पढ़ते समय क्लिपबोर्ड सामग्री के कारण होने वाला क्रैश ठीक किया गया Android पर क्लिपबोर्ड इस्तेमाल करें. (I06020, b/197769306)
  • LazyVerticalGrid में तय RTL (aosp/1931080, b/207510535)

वर्शन 1.1.0

9 फ़रवरी, 2022

androidx.compose.foundation:foundation:1.1.0 और androidx.compose.foundation:foundation-layout:1.1.0 रिलीज़ हुई हैं. वर्शन 1.1.0 में ये कमियां शामिल हैं.

1.0.0 के बाद के अहम बदलाव

  • Android 12 ओवरस्क्रोल इफ़ेक्ट के लिए बेहतर सहायता
  • टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई कार्रवाई होती है) के साइज़ में सुधार
  • ध्यान दें कि Compose 1.0 के हिसाब से मटीरियल कॉम्पोनेंट अपने लेआउट स्पेस को बड़ा करेंगे, ताकि टच टारगेट साइज़ के लिए, मटीरियल सुलभता से जुड़े दिशा-निर्देश पूरे हो सकें. उदाहरण के लिए, बटन के टच टारगेट का साइज़ कम से कम 48x48dp तक हो जाएगा, भले ही आपने बटन का साइज़ छोटा सेट किया हो. यह कंपोज़ मटीरियल को मटीरियल डिज़ाइन कॉम्पोनेंट के समान व्यवहार से अलाइन करता है, ताकि व्यू और कंपोज़ को मिक्स करने पर उन्हें एक जैसा व्यवहार मिले. इस बदलाव से यह भी पक्का होगा कि जब Compose मटीरियल कॉम्पोनेंट का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाया जाता है, तब टच टारगेट की सुलभता से जुड़ी कम से कम ज़रूरी शर्तें पूरी हो जाएं.
  • नेविगेशन रेल के लिए बेहतर सुविधा
  • पहले के प्रयोग से जुड़े कई एपीआई को लगातार बेहतर बना देता है
  • Kotlin के नए वर्शन के लिए सहायता

वर्शन 1.1.0-rc03

26 जनवरी, 2022

androidx.compose.foundation:foundation:1.1.0-rc03 और androidx.compose.foundation:foundation-layout:1.1.0-rc03 रिलीज़ हुई हैं. वर्शन 1.1.0-rc03 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Compose Material 1.1.0-rc03 के साथ काम करने के लिए अपडेट किया गया

वर्शन 1.1.0-rc01

15 दिसंबर, 2021

androidx.compose.foundation:foundation:1.1.0-rc01 और androidx.compose.foundation:foundation-layout:1.1.0-rc01 रिलीज़ हुई हैं. वर्शन 1.1.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अब नेगेटिव स्क्रोल ऑफ़सेट को LazyListState.scrollToItem() और LazyListState.animateScrollToItem() में पास करने की अनुमति है. (Iceb90, b/184252837)
  • उस गड़बड़ी को ठीक किया गया जिसकी वजह से सुलभता स्क्रोल करने पर कार्रवाइयां नहीं की जा रही थीं (I7cbfb)

वर्शन 1.1.0-beta04

1 दिसंबर, 2021

androidx.compose.foundation:foundation:1.1.0-beta04 और androidx.compose.foundation:foundation-layout:1.1.0-beta04 रिलीज़ हुई हैं. वर्शन 1.1.0-beta04 में ये तय किए गए अपडेट शामिल हैं.

नई सुविधाएं

  • Kotlin 1.6.0 के साथ काम करने के लिए अपडेट किया गया

एपीआई में बदलाव

  • androidx.core.view(I7078a, b/204917439) में शून्य की संख्या को हटाया गया
  • प्रयोग के तौर पर इस्तेमाल किए जाने वाले एपीआई जोड़े गए थे, जो Pointerइनपुटचेंज का पूरा इस्तेमाल करने की अनुमति देते हैं. इसके अलावा, यह भी देखा जा सकता है कि इसका इस्तेमाल किया गया है या नहीं. (I2e59d)
  • कर्सर को खींचते समय, ज़ूम करने की सुविधा वाला विजेट दिखाएं या टेक्स्ट फ़ील्ड के अंदर हैंडल बनाता है. (I5391e, b/203781358)

गड़बड़ियां ठीक की गईं

  • IME के दिखने की सेटिंग में बदलाव होने पर, न हिलने वाले टेक्स्ट हैंडल की समस्या ठीक करें. (I25f2e)

वर्शन 1.1.0-beta03

17 नवंबर, 2021

androidx.compose.foundation:foundation:1.1.0-beta03 और androidx.compose.foundation:foundation-layout:1.1.0-beta03 रिलीज़ हुई हैं. वर्शन 1.1.0-beta03 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • LazyVerticalGrid में हॉरिज़ॉन्टल स्पैन की सुविधा जोड़ी गई. (I7e2fa, b/176758183)
  • प्रयोग के तौर पर, आइटम की लेज़ी लिस्ट को ऐनिमेट करने की सुविधा जोड़ी गई. LazyItemScope में Modifier.animateItemPlacement() नाम का एक नया मॉडिफ़ायर उपलब्ध है. इस्तेमाल का उदाहरण:

      var list by remember { mutableStateOf(listOf("A", "B", "C")) }
      LazyColumn {
          item {
              Button(onClick = { list = list.shuffled() }) {
                  Text("Shuffle")
              }
          }
          items(list, key = { it }) {
              Text("Item $it", Modifier.animateItemPlacement())
          }
      }
    
    • LazyListScope.item या LazyListScope.items की मदद से कोई कुंजी देने पर, यह कार्रवाई बदलने वाली कुंजी चालू होने पर ऐनिमेशन का क्रम बदलने की सुविधा चालू हो जाएगी. व्यवस्था या अलाइनमेंट जैसे इवेंट की वजह से होने वाले दूसरे सभी बदलावों का क्रम बदलने के साथ-साथ, आइटम को भी ऐनिमेट किया जाएगा. (I59e7b, b/150812265)

वर्शन 1.1.0-beta02

3 नवंबर, 2021

androidx.compose.foundation:foundation:1.1.0-beta02 और androidx.compose.foundation:foundation-layout:1.1.0-beta02 रिलीज़ हुई हैं. वर्शन 1.1.0-beta02 में ये तय किए गए हिस्से शामिल हैं.

गड़बड़ियां ठीक की गईं

  • रिपल्स और अन्य संकेतों को दिखाने में अब सिर्फ़ तब देरी होगी, जब वे Modifier.scrollable() कंटेनर में हों. इससे, डाउन इवेंट में हमेशा देरी नहीं होगी. (Ibefe0, b/203141462)
  • प्रयोग के तौर पर BringIntoView API जोड़ा गया. इसकी मदद से, माता-पिता को अनुरोध भेजा जा सकता है, ताकि वे किसी आइटम को देखने के लिए उसे स्क्रोल कर सकें (Ib918d, b/195353459)

बाहरी योगदान

  • Modifier.pointerHoverIcon (I95f01) को जोड़ा गया

वर्शन 1.1.0-beta01

27 अक्टूबर, 2021

androidx.compose.foundation:foundation:1.1.0-beta01 और androidx.compose.foundation:foundation-layout:1.1.0-beta01 रिलीज़ हुई हैं. वर्शन 1.1.0-beta01 में ये तय किए गए हिस्से शामिल हैं.

गड़बड़ियां ठीक की गईं

  • प्रयोग के तौर पर BringIntoView API जोड़ा गया. इसकी मदद से, माता-पिता को अनुरोध भेजा जा सकता है, ताकि वे किसी आइटम को देखने के लिए उसे स्क्रोल कर सकें (Ib918d, b/195353459)

वर्शन 1.1.0-alpha06

13 अक्टूबर, 2021

androidx.compose.foundation:foundation:1.1.0-alpha06 और androidx.compose.foundation:foundation-layout:1.1.0-alpha06 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha06 में ये कमिट हैं.

एपीआई में बदलाव

  • लेआउट के लिए, चाइल्ड-लेस ओवरलोड जोड़ा गया. साथ ही, इसकी क्षमता को बेहतर बनाया गया (Ib0d9a)
  • SemanticsNodeInteraction.performSemanticsAction का शुल्क अब वापस आ गया है SemanticsNodeInteraction जिस पर फ़ंक्शन को कॉल किया गया था. (I9e5db)
  • उसे performScrollToNode(matcher: SemanticsMatcher) जोड़ा स्क्रोल करने लायक कंटेनर को उस कॉन्टेंट पर स्क्रोल करता है जो दिया गया मैचर. (Ic1cb8)

वर्शन 1.1.0-alpha05

29 सितंबर, 2021

androidx.compose.foundation:foundation:1.1.0-alpha05 और androidx.compose.foundation:foundation-layout:1.1.0-alpha05 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha05 में ये कमियां हैं.

एपीआई में बदलाव

  • PointerEventChange में, प्रयोग के तौर पर उपलब्ध पुराने पॉइंटर जोड़े गए. (Ic1fd8, b/197553056, b/199921305)

गड़बड़ियां ठीक की गईं

  • स्क्रोल करने लायक (लेज़ी और नॉन-लेज़ी) और स्क्रोलिंग के हिसाब से (I6cdb0)

वर्शन 1.1.0-alpha04

15 सितंबर, 2021

androidx.compose.foundation:foundation:1.1.0-alpha04 और androidx.compose.foundation:foundation-layout:1.1.0-alpha04 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha04 में ये कमियां हैं.

एपीआई में बदलाव

  • performGesture और GestureScope अब सेवा में नहीं हैं. इनमें ये शामिल हैं performTouchInput और TouchInjectionScope से बदल दिया गया है. (Ia5f3f, b/190493367)
  • SemanticsNode में touchBoundsInRoot को जोड़ा में कम से कम टच टारगेट साइज़ शामिल होता है, ताकि डेवलपर यह भी पक्का किया जा सकता है कि टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई कार्रवाई होती है) सुलभता के कम से कम थ्रेशोल्ड को पूरा करते हैं. (I2e14b, b/197751214)

गड़बड़ियां ठीक की गईं

  • Android 12 डिवाइसों पर, स्ट्रेच ओवरस्क्रोल की सुविधा जोड़ दी गई है. (Iccf3c, b/171682480)

वर्शन 1.1.0-alpha03

1 सितंबर, 2021

androidx.compose.foundation:foundation:1.1.0-alpha03 और androidx.compose.foundation:foundation-layout:1.1.0-alpha03 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha03 में ये कमियां हैं.

नई सुविधाएं

  • Kotlin 1.5.30 पर निर्भर करने के लिए, कंपोज़ 1.1.0-alpha03 को अपडेट किया गया. (I74545)

एपीआई में बदलाव

  • स्क्रोल करने के लिए ग्लो इफ़ेक्ट जोड़ा गया. ओवरस्क्रोल विज़ुअल इफ़ेक्ट को कॉन्फ़िगर करने की अनुमति देने के लिए, नया प्रयोग के तौर पर OverscrollConfiguration एपीआई जोड़ा गया है. ओवरस्क्रोल इफ़ेक्ट को बंद करने के लिए, खाली सेल डालें. (I0c304, b/171682480)
  • AwaitPointerEventScope में अब withTimeout() सुविधा उपलब्ध है और TimeoutOrNull() (I507f0, b/179239764, b/182397793) के साथ
  • क्लिप की गई सीमाएं पाने के लिए, जांच का तरीका जोड़ा गया. (I6b28e)
  • ViewConfiguration में कम से कम टच टारगेट साइज़ जोड़ा गया को सिमैंटिक और पॉइंटर इनपुट में इस्तेमाल किया जा सकता है. (Ie861c)

वर्शन 1.1.0-alpha02

18 अगस्त, 2021

androidx.compose.foundation:foundation:1.1.0-alpha02 और androidx.compose.foundation:foundation-layout:1.1.0-alpha02 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha02 में ये कमियां हैं.

एपीआई में बदलाव

  • Modifier.size और requiredSize (I3fc7e, b/194219828) के लिए DpSize वर्शन जोड़े गए

वर्शन 1.1.0-alpha01

4 अगस्त, 2021

androidx.compose.foundation:foundation:1.1.0-alpha01 और androidx.compose.foundation:foundation-layout:1.1.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha01 में ये कमियां हैं.

एपीआई में बदलाव

  • DrawScope#drawImage तरीका अपडेट किया गया सोर्स और डेस्टिनेशन रेक्टैंगल का इस्तेमाल करता है फ़िल्टर क्वालिटी का इस्तेमाल करने के लिए पैरामीटर. यह Pixel के लिए काम का है पिक्सलेट करने के लिए डिज़ाइन किया गया आर्ट जब इसे पिक्सल आधारित आर्ट के लिए बढ़ाया जा सकता हो. अपडेट किया गया BitmapPainter + इमेज कंपोज़ेबल इसके अलावा, फ़िल्टर क्वालिटी का एक वैकल्पिक फ़िल्टर भी इस्तेमाल किया जा सकता है. पैरामीटर (Ie4fb0, b/180311607)
  • 'वापस जाएं' बटन दबाने पर, टेक्स्ट फ़ील्ड में चुने गए विकल्प को हटाया जाता है जो AndroidEditText के व्यवहार से मेल खाता है. (I3ca16, b/174173645)
  • कर्सर हैंडल जोड़ें. (I07a82, b/173016579)

गड़बड़ियां ठीक की गईं

  • लेज़ी सूचियों और नियमित तौर पर स्क्रोल करने वाले कॉम्पोनेंट के लिए, सिमैंटिक ऐक्शन के ज़रिए स्क्रोल करने की सुविधा अब ऐनिमेटेड हो गई है (Id9066, b/190742024)

बाहरी योगदान

  • LazyVerticalGrid पर अब हॉरिज़ॉन्टल और वर्टिकल, दोनों तरह के पैरामीटर स्वीकार किए जा सकते हैं. (If9c92)

संस्करण 1.0

वर्शन 1.0.5

3 नवंबर, 2021

androidx.compose.foundation:foundation:1.0.5 और androidx.compose.foundation:foundation-layout:1.0.5 रिलीज़ हुई हैं. वर्शन 1.0.5 में ये कमियां शामिल हैं.

गड़बड़ियां ठीक की गईं

  • DiscoverStateOf इंस्टेंस से जुड़ी क्रैश ट्रैकिंग को ठीक किया गया है. (aosp/1792247)

वर्शन 1.0.4

13 अक्टूबर, 2021

androidx.compose.foundation:foundation:1.0.4 और androidx.compose.foundation:foundation-layout:1.0.4 रिलीज़ हुई हैं. वर्शन 1.0.4 में ये कमिट हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.31 पर निर्भर करने के लिए अपडेट किया गया

वर्शन 1.0.3

29 सितंबर, 2021

androidx.compose.foundation:foundation:1.0.3 और androidx.compose.foundation:foundation-layout:1.0.3 रिलीज़ हुई हैं. वर्शन 1.0.3 में ये कमियां शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.30 पर निर्भर करने के लिए अपडेट किया गया

वर्शन 1.0.2

1 सितंबर, 2021

androidx.compose.foundation:foundation:1.0.2 और androidx.compose.foundation:foundation-layout:1.0.2 रिलीज़ हुई हैं. वर्शन 1.0.2 में ये कमियां शामिल हैं.

कंपोज़ 1.0.2 रिलीज़ के साथ काम करने के लिए अपडेट किया गया. 1.0.2 लिखें, Kotlin 1.5.21 के साथ अब भी काम करता है.

वर्शन 1.0.1

4 अगस्त, 2021

androidx.compose.foundation:foundation:1.0.1 और androidx.compose.foundation:foundation-layout:1.0.1 रिलीज़ हुई हैं. वर्शन 1.0.1 में ये कमियां शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

  • Kotlin 1.5.21 पर निर्भर करने के लिए अपडेट किया गया.

वर्शन 1.0.0

28 जुलाई, 2021

androidx.compose.foundation:foundation:1.0.0 और androidx.compose.foundation:foundation-layout:1.0.0 रिलीज़ हुई हैं. वर्शन 1.0.0 में ये कमियां शामिल हैं.

1.0.0 की मुख्य सुविधाएं

यह Compose की पहली ऐसी रिलीज़ है जिसमें बदलाव नहीं किए जा सकते. ज़्यादा जानकारी के लिए, कृपया Compose की रिलीज़ से जुड़ा आधिकारिक ब्लॉग देखें!

आम समस्याएं

  • Android Studio Bumblebee Canary 4 या AGP 7.1.0-alpha04/7.1.0-alpha05 का इस्तेमाल करने पर, ये क्रैश हो सकते हैं:

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

    इसे ठीक करने के लिए, अपनी build.gradle फ़ाइल में minSdkVersion को कुछ समय के लिए बढ़ाकर 24+ करें. यह समस्या, Android Studio Bumblebee और AGP 7.1 के अगले वर्शन में ठीक कर दी जाएगी. (b/194289155)

वर्शन 1.0.0-rc02

14 जुलाई, 2021

androidx.compose.foundation:foundation:1.0.0-rc02 और androidx.compose.foundation:foundation-layout:1.0.0-rc02 रिलीज़ हुई हैं. वर्शन 1.0.0-rc02 में ये कमिट हैं.

  • पाथ की समस्याओं को हल करने के लिए सामान्य आकारों के लिए बॉर्डर रेंडरिंग को अपडेट किया गया तय डाइमेंशन की मदद से तय किए जाते हैं. (aosp/1748871, b/191817116)

वर्शन 1.0.0-rc01

1 जुलाई, 2021

androidx.compose.foundation:foundation:1.0.0-rc01 और androidx.compose.foundation:foundation-layout:1.0.0-rc01 रिलीज़ हुई हैं. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • कैनवस अब ContentDescription पैरामीटर के साथ काम करता है सुलभता. (Ib547c)

गड़बड़ियां ठीक की गईं

  • 'बंद है' बटन, कार्ड, चेकबॉक्स, और सभी Modifier.clickable(enabled=false) पर क्लिक करने से, पैरंट को क्लिक नहीं किया जा सकेगा. (Ic2c3b, b/183908811)

वर्शन 1.0.0-beta09

16 जून, 2021

androidx.compose.foundation:foundation:1.0.0-beta09 और androidx.compose.foundation:foundation-layout:1.0.0-beta09 रिलीज़ हुई हैं. वर्शन 1.0.0-beta09 में ये कमिट हैं.

एपीआई में बदलाव

  • ManualFrameClock को हटा दिया गया है. अगर आपको ऐनिमेशन कंट्रोल करने हैं, इसके बजाय, composeTestRule.mainClock का इस्तेमाल करें. (I3c3e8, b/189951065)
  • enum की भूमिका और LiveRegionMode को इनलाइन क्लास में बदलें प्राइवेट कंस्ट्रक्टर के साथ (Id1890)
  • कीबोर्ड के बड़े अक्षरों को इनलाइन क्लास में बदला जाता है. (Id5a1c)
  • TextOverflow को इनलाइन क्लास में बदला गया. (I433af)

गड़बड़ियां ठीक की गईं

  • अब जब आप LaziColumn/Row आइटम के लिए खास कुंजियां तय करने पर, स्क्रोल की स्थिति कुंजी के हिसाब से बनी रहेगी, तो इसका मतलब है कि अगर आप दिखने वाले मौजूदा आइटम से पहले आइटम जोड़ते/हटाते हैं, तो दी गई कुंजी वाले आइटम को सबसे पहले दिखने वाले आइटम के रूप में रखा जाएगा. (Id263f, b/184257857)
  • फ़िलहाल, मुख्य कॉन्सटेंट @OptionalComposeUiApi हैं. उपभोग करना कोड, स्टेबलाइज़ेशन से पहले प्राइवेट कॉन्सटेंट की जानकारी दे सकता है. (Ia5d48)
  • AndroidComposeTestRule में IdlingStrategy को जोड़ा गया है, जो कि इसका इस्तेमाल, फ़्रेमवर्क को टेस्ट करने के लिए किया जाता है. या शांत माहौल बनाएं. इस्तेमाल की जाने वाली चीज़ें जांच से AndroidComposeTestRule.setIdlingStrategyFactory() पहले अपनी रणनीति बनाना शुरू कर देता है. (I608FA)

प्रोफ़ाइल के नियम जोड़े गए

इस रिलीज़ में, कंपोज़ की सुविधा वाले इन मॉड्यूल में प्रोफ़ाइल के नियम जोड़े गए हैं (I14ed6):

  • androidx.compos.animation
  • androidx.compos.animation-कोर
  • androidx.compos.foundation
  • androidx.compos.foundation-layout
  • androidx.compos.material
  • androidx.compos.material-reple
  • androidx.compos.runtime
  • androidx.compos.ui
  • androidx.compos.ui.geometry
  • androidx.compos.ui.graphics
  • androidx.compos.ui.text
  • androidx.compos.ui.text
  • androidx.compos.ui.unit
  • androidx.comose.ui.util

प्रोफ़ाइल के नियम क्या हैं?

  • किसी लाइब्रेरी के लिए प्रोफ़ाइल नियम, src/main या इसके बराबर की डायरेक्ट्री में मौजूद टेक्स्ट फ़ाइल baseline-prof.txt में तय किए जाते हैं. फ़ाइल हर लाइन में एक नियम तय करती है, जहां इस मामले में नियम, लाइब्रेरी में मौजूद तरीकों या क्लास से मिलान करने के लिए एक पैटर्न है. इन नियमों का सिंटैक्स, adb shell profman --dump-classes-and-methods ... का इस्तेमाल करते समय इस्तेमाल किए जाने वाले ऐसे एआरटी प्रोफ़ाइल फ़ॉर्मैट का सुपरसेट है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. तरीकों या क्लास को टारगेट करने के लिए, ये नियम दो में से कोई एक तरीका अपनाते हैं.

  • तरीके के नियम में यह पैटर्न होगा:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • और क्लास के नियम का पैटर्न इस तरह होगा:

    <CLASS_DESCRIPTOR>
    
  • यहां <FLAGS> एक या एक से ज़्यादा H, S, और P वर्णों का इस्तेमाल करके पता चलता है कि इस तरीके को "हॉट", "स्टार्टअप" या "पोस्ट स्टार्टअप" के तौर पर फ़्लैग किया जाना चाहिए या नहीं.

  • <CLASS_DESCRIPTOR>, उस क्लास का डिस्क्रिप्टर होता है जिससे टारगेट किया गया तरीका जुड़ा है. उदाहरण के लिए, androidx.compose.runtime.SlotTable क्लास का डिस्क्रिप्टर Landroidx/compose/runtime/SlotTable; होगा.

  • <METHOD_SIGNATURE>, तरीके का हस्ताक्षर है. इसमें नाम, पैरामीटर के टाइप, और तरीके के रिटर्न टाइप शामिल होते हैं. उदाहरण के लिए, LayoutNode पर मौजूद fun isPlaced(): Boolean तरीके का हस्ताक्षर isPlaced()Z है.

  • इन पैटर्न में वाइल्डकार्ड (**, *, और ?) हो सकते हैं, ताकि एक नियम में कई तरीकों या क्लास को शामिल किया जा सके.

ये नियम क्या करते हैं?

  • जिस तरीके में H फ़्लैग होता है उससे पता चलता है कि यह तरीका "हॉट" है साथ ही, उसे समय से पहले कंपाइल कर लिया जाना चाहिए.

  • वह तरीका जिसमें S फ़्लैग होता है यह बताता है कि यह एक तरीका है जिसे स्टार्टअप पर कॉल किया जाता है. साथ ही, कंपाइलेशन के खर्च से बचने और स्टार्टअप के समय उसे समझने में होने वाले खर्च से बचने के लिए, इस तरीके को समय से पहले कंपाइल किया जाना चाहिए.

  • जिस तरीके में P फ़्लैग होता है वह बताता है कि यह एक तरीका है जिसे स्टार्टअप के बाद कॉल किया जाता है.

  • इस फ़ाइल में मौजूद क्लास से पता चलता है कि इसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. साथ ही, क्लास को लोड होने में आने वाले खर्च से बचने के लिए, इस क्लास को हीप में पहले से ही तय किया जाना चाहिए.

यह कैसे काम करता है?

  • लाइब्रेरी ये नियम तय कर सकती हैं, जिन्हें एएआर आर्टफ़ैक्ट में पैकेज किया जाएगा. जब इन आर्टफ़ैक्ट वाले ऐप्लिकेशन बनाए जाते हैं, तो इन नियमों को एक साथ मर्ज कर दिया जाता है. इसके बाद, इन नियमों का इस्तेमाल एक ऐसी कॉम्पैक्ट बाइनरी ART प्रोफ़ाइल बनाने के लिए किया जाता है जो खास तौर पर ऐप्लिकेशन के लिए होती है. इसके बाद, डिवाइसों पर ऐप्लिकेशन इंस्टॉल होने पर ART इस प्रोफ़ाइल का इस्तेमाल कर सकता है, ताकि समय से पहले ऐप्लिकेशन का एक खास सबसेट कंपाइल किया जा सके. इससे ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है, ताकि उसे पहली बार इस्तेमाल किया जा सके. ध्यान दें कि डीबग करने लायक ऐप्लिकेशन पर इसका कोई असर नहीं होगा.

वर्शन 1.0.0-beta08

2 जून, 2021

androidx.compose.foundation:foundation:1.0.0-beta08 और androidx.compose.foundation:foundation-layout:1.0.0-beta08 रिलीज़ हुई हैं. वर्शन 1.0.0-beta08 में ये कमिट हैं.

एपीआई में बदलाव

  • NestedscrollSource enum को इनलाइन क्लास से बदल दिया गया है. (Ie321b, b/187055290)
  • इनम के इस्तेमाल से बचने के लिए, इनलाइन क्लास में फिर से इस्तेमाल किया गया की वजह से, स्टेटमेंट में और चीज़ों को ईनम की नई वैल्यू जोड़ी गई हैं. (I2b5eb)
  • स्क्रोल करने / ड्रैग करने के दौरान रिपल दिखने से रोकने के लिए, क्लिक किए जा सकने वाले / टॉगल किए जा सकने वाले मोड में टैप का टाइम आउट जोड़ता है (Ia2704, b/168524931)
  • ContentDescription और टेक्स्ट सिमैंटिक्स प्रॉपर्टी अब मौजूद नहीं हैं एकल मान लेकिन सूचियां. इससे, वे मैसेज को पहले जैसा होने के लिए मर्ज किया जा सकता है जोड़ने के तरीके हैं. साथ ही, बेहतर टेस्ट एपीआई भी उपलब्ध कराए, ताकि इनका इस्तेमाल किया जा सके बदलाव (Ica6bf, b/184825850)
  • Modifier.focusModifier() अब काम नहीं करता. इसे Modifier.focusTarget() (I6c860) से बदल दिया गया है
  • KeyboardType enum को इनलाइन क्लास से बदल दिया गया. (I73045, b/187055290)
  • FocusState enum को FocusState इंटरफ़ेस से बदला गया (IFCC1a, b/187055290)
  • ImeAction enum को इनलाइन क्लास से बदल दिया गया है. (I18be5, b/187055290)
  • AnnotatedString.withAnnotation फ़ंक्शन यह हैं अब with ComposeApi की बजाय ExampleTextApi का इस्तेमाल कर रहा है. (I0cd0a)
    • TextUnitType के साथ TextUnit कंस्ट्रक्टर अब ExternalComposeApi के बजाय ExampleTextApi.
  • पैडिंगवैल्यू अब @Immutable (I88c50) के बजाय @Stable है

गड़बड़ियां ठीक की गईं

  • जो टेक्स्ट खाली नहीं है उसमें खाली जगह को दबाकर रखने से जुड़ी गड़बड़ियां ठीक की गई हैं. (I33ab5, b/187437299)
  • SelectAll (I495d9, b/185919613) के बाद टूलबार दिखाएं
  • क्रॉस ऐक्सिस पर अपने बच्चों को क्लिप करने वाले स्क्रोल करने वाले कंटेनर के लिए ठीक किया गया. अगर आपके पास कार्ड आइटम वाला LaziRow है, तो इसे आसानी से फिर से बनाया जा सकता है. अब शैडो को क्लिप नहीं किया जाएगा. (Icb635, b/186318448)
  • उस समस्या को ठीक किया गया है जिसकी वजह से Modifier.combinedClickable (I2298c, b / 186223077) का इस्तेमाल करते समय, कभी-कभी लंबी क्लिक करने पर रिपल/अन्य संकेत की समस्या आ जाती थी
  • अब detectDragGesures, detectVerticalGestures, और detectHorizontalGestures अपने-आप पोज़िशन में होने वाले बदलाव का इस्तेमाल करेंगे. इसके लिए, onDrag कॉलबैक में changes.consumPositionChange को कॉल करने की ज़रूरत नहीं है (I42fc4, b/185096350, b/187320697)
  • सभी मॉडिफ़ायर लागू करने के बाद, लेआउट कोऑर्डिनेट को शामिल करने के बजाय, Modifier.onGloballyPositioned() को मॉडिफ़ायर चेन में इस मॉडिफ़ायर के कोऑर्डिनेट की रिपोर्ट देने के लिए बदला गया है. इसका मतलब है कि अब मॉडिफ़ायर के क्रम से उन निर्देशांकों पर असर पड़ रहा है जिनके बारे में रिपोर्ट की जाएगी. (Ieb67d, b/177926591)

वर्शन 1.0.0-beta07

18 मई, 2021

androidx.compose.foundation:foundation:1.0.0-beta07 और androidx.compose.foundation:foundation-layout:1.0.0-beta07 रिलीज़ हुई हैं. वर्शन 1.0.0-beta07 में ये कमिट हैं.

एपीआई में बदलाव

  • LazyColumn/Row (I8a4bc, b/184940225) के लिए, आइटम प्रीफ़ेच करने का अगला तर्क पेश किया गया है
  • क्लिप चुनने के लिए हैंडल जोड़ा गया (Iff80d, b/183408447)

गड़बड़ियां ठीक की गईं

  • LaZकॉलम/Row में अब ज़्यादा से ज़्यादा, पहले से दिखने वाले दो आइटम चालू रहेंगे (डिस्पोज़ नहीं किए गए). भले ही, उन्हें पहले ही स्क्रोल किया जा चुका हो. इससे कॉम्पोनेंट को चालू सब-कंपोज़िशन का फिर से इस्तेमाल करने की अनुमति मिलती है. ऐसा तब होता है, जब हमें कोई नया आइटम लिखने की ज़रूरत होती है. इससे, स्क्रोल की परफ़ॉर्मेंस बेहतर होती है. (Ie5555)
  • पेंट का बैकग्राउंड हटाएं. (I38660)
  • DrawScope का इस्तेमाल करके चुनने के बैकग्राउंड का ड्रॉइंग. (I73c61, b/186674472)
  • लेआउट वेटेड चिल्ड्रेन के लिए spacedBy व्यवस्था का इस्तेमाल करके पंक्ति/कॉलम को प्रभावित करने वाले बीटा06 रिग्रेशन को ठीक किया गया था. (Ifaf8c, b/187326588)

वर्शन 1.0.0-beta06

5 मई, 2021

androidx.compose.foundation:foundation:1.0.0-beta06 और androidx.compose.foundation:foundation-layout:1.0.0-beta06 रिलीज़ हुई हैं. वर्शन 1.0.0-beta06 में ये तय किए गए हैं.

एपीआई में बदलाव

  • नेविगेशन जेस्चर (I1145e) के साथ समस्या को हल करें
  • संग्रह जानकारी और collectionsItemInfo सुलभता एपीआई जोड़े गए हैं, जिनकी मदद से संग्रह और उसके आइटम को सुलभता सेवाओं के लिए मार्क किया जा सकता है (Id54ef, b/180479017)
  • सूची को स्क्रोल करने के लिए, SemanticsActions.ScrollToIndex को जोड़ा गया किसी खास इंडेक्स वाले आइटम के लिए इंडेक्स किए गए आइटम और सूची में मौजूद किसी आइटम का इंडेक्स पाने के लिए SemanticsProperties.IndexForKey कुंजी वाले आइटम के साथ. दोनों कार्रवाइयां LazyList की मदद से लागू की जाती हैं.
    • उसे SemanticsNodeInteraction.performScrollToIndex जोड़ा दिए गए इंडेक्स पर सूची स्क्रोल करता है, और SemanticsNodeInteraction.performScrollToKey जो सूची को स्क्रोल करके दी गई कुंजी वाले आइटम. (I4fe63, b/178483889, b/161584524)
  • AnnotateString फ़ाइल को इसके लिए सेव करने की सुविधा मिलती है TextFieldValue.Saver. addTtsAnnotation जोड़ा गया और withAnnotation यूटिलिटी फ़ंक्शन से जुड़े होते हैं AnnotatedString.Builder (I8cbdc, b/178446304)
  • PaddingValues(horizontal, vertical) (I05571, b/181336792) में डिफ़ॉल्ट 0.dp पैरामीटर वैल्यू जोड़ी गई

गड़बड़ियां ठीक की गईं

  • पंक्ति & weight(fill = false) वाले कॉलम चाइल्ड, अब पैरंट को पूरे ऐक्सिस स्पेस को भरने की अनुमति नहीं देते. (Ied94d, b/186012444, b/184355105)

वर्शन 1.0.0-beta05

21 अप्रैल, 2021

androidx.compose.foundation:foundation:1.0.0-beta05 और androidx.compose.foundation:foundation-layout:1.0.0-beta05 रिलीज़ हुई हैं. वर्शन 1.0.0-beta05 में ये कमिट हैं.

एपीआई में बदलाव

  • फ़्लिंगव्यवहार इंटरफ़ेस को अब @Stable के तौर पर मार्क कर दिया गया है. सभी लागू करने के तरीके @Stable के अनुबंध के हिसाब से होने चाहिए. (I93354, b/184830577)

गड़बड़ियां ठीक की गईं

  • ACTION_SCROLL_FORWARD, ACTION_SCROLL_BACKWARD को ठीक किया गया, accessibilityActionScrollLeft, accessibilityActionScrollUp, accessibilityActionScrollRight और accessibilityActionScrollDown सुलभता वाली स्क्रोल कार्रवाइयां. स्क्रोल करने के बजाय आखिर तक करने योग्य हो, तो अब वह दी गई दिशा में एक स्क्रीन पर स्क्रॉल होगा. (Ieccb0)
  • ui-test-मेनिफ़ेस्ट से और ui-tooling-data, अब Android 12 (I6f9de, b/184718994) के साथ काम करता है

वर्शन 1.0.0-beta04

7 अप्रैल, 2021

androidx.compose.foundation:foundation:1.0.0-beta04 और androidx.compose.foundation:foundation-layout:1.0.0-beta04 रिलीज़ हुई हैं. वर्शन 1.0.0-beta04 में ये कमिट हैं.

एपीआई में बदलाव

  • छुपा सॉफ़्टवेयर कीबोर्ड का नाम बदलें और showSoftwareकीबोर्ड चालू करें सॉफ़्टवेयर कीबोर्ड कंट्रोलर का इस्तेमाल hide() और show() पर किया जा सकता है.
    • इसके लिए, कंपोज़िशन Local का पूरा इंटरफ़ेस उपलब्ध कराएं LocalSoftwareClassroomController, इसे सेट करने की अनुमति देता है (खास तौर पर) टेस्ट में उपयोगी) (I579a6)
  • TextOverflow.Visible को लॉन्च किया गया. (Ic8f89)
  • RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope के सार्वजनिक इंस्टेंस हटा दिए गए थे. (I4e83e, b/181869067)

गड़बड़ियां ठीक की गईं

  • किनारों पर मौजूद LazyColumn/LazyRow के आइटम, फ़ास्ट फ़्लिंग (Ie4d13, b/183877420) के बाद, गलत पोज़िशन में पोज़िशन होने पर समस्या को ठीक कर दिया गया है
  • इस बदलाव से पहले, लोकल कंपोज़ेबल फ़ंक्शन को उनके पैरामीटर के आधार पर स्किप किया जा सकता था. इस बदलाव के बाद, कोई भी लोकल कंपोज़ेबल फ़ंक्शन स्किप नहीं करेगा. यह बदलाव इसलिए किया गया है, क्योंकि यह आम तौर पर किया जाता है. साथ ही, लोकल फ़ंक्शन के लिए यह उम्मीद की जाती है कि वे पैरंट से पैरामीटर कैप्चर करें. साथ ही, उन्हें स्किप करना गड़बड़ी की एक आम वजह है.

    खास जानकारी देने के लिए, इस उदाहरण पर गौर करें:

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

    इस बदलाव से पहले, count पैरामीटर को अपडेट करने के बाद भी, ShowCount कंपोज़ेबल फ़ंक्शन हमेशा स्किप करता था. अब ऐसा नहीं होता है. (I5648a)

वर्शन 1.0.0-beta03

24 मार्च, 2021

androidx.compose.foundation:foundation:1.0.0-beta03 और androidx.compose.foundation:foundation-layout:1.0.0-beta03 रिलीज़ हुई हैं. वर्शन 1.0.0-beta03 में ये कमिट हैं.

एपीआई में बदलाव

  • DefaultMonotonicFrameClock के इस्तेमाल पर रोक लगा दी गई है. कॉल से जुड़ी सुविधा withFrameNanos या Recomposer.runRecomposeAndApplyChanges, जिसमें कोई मैसेज नहीं है MonotonicFrameClock अब IllegalStateException फेंक देगा. (I4eb0d)

गड़बड़ियां ठीक की गईं

  • FlingBehavior.performFling() को अब तब भी कॉल किया जाता है, जब वेलोसिटी 0 हो (I0b6e5, b/181237123)

वर्शन 1.0.0-beta02

10 मार्च, 2021

androidx.compose.foundation:foundation:1.0.0-beta02 और androidx.compose.foundation:foundation-layout:1.0.0-beta02 रिलीज़ हुई हैं. वर्शन 1.0.0-beta02 में ये तय किए गए अपडेट शामिल हैं.

एपीआई में बदलाव

  • LazyColumn को मापने के लॉजिक में कई छोटे ऑप्टिमाइज़ेशन जोड़े गए (Ic6889)
  • नई LocalSoftwareKeyboardController कंपोज़िशन स्थानीय भाषा में जोड़ा गया पुराने सॉफ़्टवेयर कीबोर्ड कंट्रोलर इंटरफ़ेस को बदलने के लिए एपीआई चालू करें टेक्स्ट फ़ील्ड. (I5951e, b/168778053)
  • नई LocalSoftwareKeyboardController कंपोज़िशन स्थानीय भाषा में जोड़ा गया पुराने सॉफ़्टवेयर कीबोर्ड कंट्रोलर इंटरफ़ेस को बदलने के लिए एपीआई चालू करें टेक्स्ट फ़ील्ड. (I84472, b/168778053)

गड़बड़ियां ठीक की गईं

  • एक्सपेरिमेंटल एपीआई के सार्वजनिक इस्तेमाल पर पाबंदियां लागू करें (I6aa29, b/174531520)

वर्शन 1.0.0-beta01

24 फ़रवरी, 2021

androidx.compose.foundation:foundation:1.0.0-beta01 और androidx.compose.foundation:foundation-layout:1.0.0-beta01 रिलीज़ हुई हैं. वर्शन 1.0.0-beta01 में ये कमिट मौजूद हैं.

यह Compose 1.0.0 बीटा की पहली रिलीज़ है.

एपीआई में बदलाव

  • onStart कॉलबैक को detectDragGestures (I67269, b/179995594) में जोड़ दिया गया है
  • एलिमेंट का साइज़ बताने वाले मॉडिफ़ायर को अब एक्सपेरिमेंट के तौर पर इस्तेमाल नहीं किया जा रहा है. (I15744)
  • dp दावे हटाए गए (I798d2)
  • सभी टेक्स्ट से सॉफ़्टवेयर कीबोर्ड कंट्रोलर कॉलबैक हटाया गया फ़ील्ड को जल्द ही नए एपीआई से बदला जाएगा. (Iae869, b/168778053)
  • मेज़रमेंटब्लॉक का नाम बदलकर, MeasurementPolicy रखा गया. यह एक मज़ेदार इंटरफ़ेस बन गया. मेज़रमेंट नीति का इस्तेमाल करने के लिए, लेआउट एपीआई को अपडेट / आसान बनाया गया है. (Icab48, b/167662468, b/156751158)
  • InteractionState को [Mutable]InteractionSource से बदल दिया गया है
    • इंटरफ़ेस, इंटरैक्शन इवेंट को बाहर निकालने / इकट्ठा करने के लिए ज़िम्मेदार हैं.
    • Button और Modifier.clickable() जैसे कॉम्पोनेंट को interactionState = remember { InteractionState() } पास करने के बजाय, interactionSource = remember { MutableInteractionSource() } का इस्तेमाल करें.
    • इसके बजाय: Interaction.Pressed in interactionState आपको इसके बजाय इंटरैक्शनSource पर एक्सटेंशन फ़ंक्शन का उपयोग करना चाहिए, जैसे InteractionSource.collectIsPressedAsState().
    • जटिल उपयोग के उदाहरणों के लिए, आप इंटरैक्शनSource.Interacts का इस्तेमाल करके इंटरैक्शन की स्ट्रीम पर नज़र रख सकते हैं. ज़्यादा जानकारी के लिए इंटरैक्शनSource दस्तावेज़ और नमूने देखें.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • अब काम नहीं करने वाले LayoutCoordanates के तरीकों को हटाए गए. इसके लिए, स्थिति
  • CoreTextField जैसे लो लेवल के टेक्स्ट कॉम्पोनेंट से इनपुट सेशन के लिए, नया Textइनपुटसेशन बनाया गया. (I8817f, b/177662148)
  • इसका पता लगाने के लिए, मेज़रमेंट किया गया साइज़ दिखाया जाता है. इससे उस साइज़ के बारे में पता चलता है जिसे चाइल्ड लेआउट ने असल में मेज़र किया है. हो सकता है कि यह साइज़, मेज़रमेंट के लिए तय की गई शर्तों के मुताबिक न हो. (Ib2729, b/172560206, b/172338608)
  • SelectGroup मॉडिफ़ायर जोड़ें, जो सुलभता के मकसद से टैब या रेडियोबटन इकट्ठा करने की सुविधा को मार्क करने की अनुमति देता हो (Ie5c29)
  • LaziListState.animatescrollToItem जोड़ें

    इस तरीके से, सूची में मौजूद किसी आइटम पर आसानी से स्क्रोल किया जा सकता है. (I4bfd7)

  • ScrollableState.smoothscrollBy() का नाम बदलकर animatescrollBy() किया गया ScrollToItem() में LazyListState.stapToItemIndex() का नाम बदलकर ScrollState.smoothscrollTo() का नाम बदलकर animatescrollTo() किया गया (I35ded)

  • मेरे Modifier.transformable की जगह Modifier.Zoomable ने बदल दी है. smoothPanBy, smoothRotationBy को फ़ंक्शन के तौर पर जोड़ा गया है. (Ifc32b, b/175294473)

  • compositionLocalOf के लिए defaultFactory और अब इसकी जगह staticCompositionLocalOf की ज़रूरत है ज़रूरी नहीं.

    यह बदलाव ऐसी गड़बड़ी को हटा देता है जो शून्य नहीं हो सकती जहां डिफ़ॉल्ट फ़ैक्ट्री नहीं दिया गया था. पहले यह शून्य न हो सकने वाले टाइप के लिए शून्य संदर्भ उपलब्ध कराएगा.

    शून्य वाले टाइप के लिए, { null } को डिफ़ॉल्ट के तौर पर दें फ़ैक्ट्री में किया गया था.

    हम ऐसे लोकल टाइप का इस्तेमाल करने का सुझाव नहीं देते जो शून्य वाले नहीं हैं एक सही डिफ़ॉल्ट वैल्यू दी जा सकती है. अगर कोई डिफ़ॉल्ट डिफ़ॉल्ट वैल्यू मौजूद नहीं है, defaultFactory लैम्डा को अपवाद देना चाहिए. हालांकि अपवाद का मतलब है कि स्थानीय उपभोक्ताओं के पास दिए जाने पर एक इंप्लिसिट डिपेंडेंसी जो लागू नहीं की गई है का इस्तेमाल किया जाता है. (Ifbd2a)

  • Indication#createIndication() को Indication#rememberUpdatedIndication(InteractionState) में बदला गया है और IndicationInstance#drawIndication() से InteractionState पैरामीटर को हटाया गया है. इंडेक्स इंस्टेंस सिर्फ़ विज़ुअल इफ़ेक्ट बनाने के लिए ज़िम्मेदार होना चाहिए, न कि इंटरैक्शन स्टेट बदलावों की वजह से ऐनिमेशन / राइटिंग लॉन्च करने के लिए. ये ऐनिमेशन और स्टेट राइट, इसके बजाय rememberUpdatedIndication() के अंदर होने चाहिए. Modifier.indication में indication पैरामीटर को भी ज़रूरी पैरामीटर में बदल दिया गया. (Ic1764, b/152525426)

  • टेक्स्ट से जुड़ी कार्रवाइयां, अब फ़ोकस की जांच अपने-आप करती हैं (I13777, b/179648629)

  • runBlockingWithManualClock (I15cdc, b/179664814) को हटाया गया

  • Modifier.मिटाए गए

  • smoothscrollBy और ScrollBy तरीकों की पैकेज androidx.compose.foundation.gestures.* में बदले गए (I3f7c1, b/175294473)

  • फ़्लोरिंग कॉन्फ़िगरेशन का नाम बदलकर, फ़्लिंग व्यवहार कर दिया गया है. अब पहले से तय किए गए नुकसान के बजाय, निलंबित ऐनिमेशन को पसंद के मुताबिक बनाया जा सकता है. (I02b86, b/175294473)

  • साइज़ मॉडिफ़ायर के नाम बदले गए. Modifier.width/height/size का नाम बदलकर, बचाने के लिए ज़रूरी चौड़ाई/ज़रूरी/ज़रूरी/ज़रूरत वाला साइज़ कर दिया गया है. Modifier.referwidth/PreferenceHight/प्राथमिकता साइज़ का नाम बदलकर, चौड़ाई/height/size में बदल दिया गया. (I5b414)

  • defaultMinSizeConstraints का नाम बदलकर defaultMinSize किया गया. (I4eaae)

  • Modifier.tapp GesturesFilter हटा दिया गया है. इसके बजाय, Modifier.pointerInput { detectTapGestures(...) } का इस्तेमाल करें. (I266ed, b/175294473)

  • पॉइंटर इनपुट सिस्टम से आंशिक इस्तेमाल को हटा दिया गया. आंशिक उपभोग के लिए Modifier.nestedscroll का इस्तेमाल करने का सुझाव दिया जाता है. (Ie9c9b)

  • ओरिएंटेशन को फ़ाउंडेशन पैकेज पर ले जाया गया. VerocirtTracker को ui.जेस्चर से, ui.input.pointer पर ले जाया गया. (Iff4a8, b/175294473)

  • AssetClockObservable और सब-क्लास हटाया गया. ऐनिमेटेडफ़्लोट को हटा दिया गया है. (Icde52, b/177457083)

  • {/8}State.open() और DrawingsState.close() फ़ंक्शन, अब फ़ंक्शन को निलंबित कर रहे हैं. कंपोज़िशन का स्कोप पाने के लिए, RememberCoroutineScope() का इस्तेमाल करके उसे कॉल करें (I16f60, b/175294473)

  • सेवा देने वाली कंपनियों का नाम बदलकर ComposeLocalProvider कर दिया गया है

    • कंपोज़िशन कंस्ट्रक्टर अब कुंजी पैरामीटर को स्वीकार नहीं करता और इसे बंद कर दिया गया है.
    • currentCompositeKeyHash को कंपोज़ेबल टॉप लेवल फ़ंक्शन के बजाय, कंपोज़ेबल टॉप लेवल प्रॉपर्टी में बदल दिया गया है.
    • कंपोज़िशन डेटा और कंपोज़िशन ग्रुप को androidx.compos.runtime.tooling नेमस्पेस में ले जाया गया है
    • ComposableLambda को कंक्रीट क्लास के बजाय एक इंटरफ़ेस बनाया गया. इसमें अब टाइप पैरामीटर नहीं हैं.
    • ComposableLambdaN को कंक्रीट की क्लास के बजाय एक इंटरफ़ेस बनाया गया. इसमें अब टाइप पैरामीटर नहीं हैं.
    • स्नैपशॉट Flow फ़ंक्शन को androidx.compos.runtime की जगह पर ले जाया गया है
    • स्नैपशॉटMutationPolicy को मर्ज करने का तरीका अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं है
    • @TestOnly टॉप लेवल clearRoots फ़ंक्शन हटा दिया गया है. अब इसकी ज़रूरत नहीं है.
    • keySourceInfoOf और रीसेटSourceInfo फ़ंक्शन हटा दिए गए हैं. अब इनकी ज़रूरत नहीं है.
    • Composer.collectKeySourceInfo को हटा दिया गया है. अब इसकी ज़रूरत नहीं है.
    • isjoinedKey, includeKeyleft, औरjoinKeyRight विधियों को हटा दिया गया है. अब इनकी ज़रूरत नहीं है.
    • कई टॉप लेवल एपीआई को दूसरी फ़ाइलों में ले जाया गया है और उन्हें अलग-अलग फ़ाइलों में फिर से व्यवस्थित किया गया है. Kotlin के फ़ाइल क्लास सिमैंटिक्स की वजह से, यह बाइनरी कंपैटबिलिटी को तोड़ देगा, लेकिन सोर्स के साथ काम नहीं करेगा. इसलिए, ज़्यादातर उपयोगकर्ताओं के लिए यह समस्या नहीं होनी चाहिए.
    • (I99b7d, b/177245490)
  • Modifier.scrollable को फिर से बनाया गया है. अब यह ScrollableController क्लास (I4f5a5, b/174485541, b/175294473) के बजाय, स्क्रोल किए जा सकने वाले इंटरफ़ेस का इस्तेमाल करता है

  • Modifier.draggable की मदद से अब सामान्य Lambda फ़ंक्शन के बजाय, खींचे जाने लायक स्टेट को स्वीकार किया जा सकता है. पहले की तरह ही व्यवहार पाने के लिए, rememberDraggableState { delta -> } से स्टेटस बनाया जा सकता है (Ica70f, b/175294473)

  • ज़रूरी चौड़ाई(IntrinsicSize) और requiredHight(IntrinsicSize) मॉडिफ़ायर को, अंदरूनी साइज़ के ज़रूरी साइज़ के हिसाब से जोड़ा गया है. (I0a6b4)

  • अब काम नहीं करने वाला emptyContent() हटा दिया गया है. इसके बजाय, {} का इस्तेमाल करें. (Idb33f, b/179432510)

  • पहले से काम न करने वाले कुछ एपीआई मिटाए गए (Ice5da, b/178633932)

गड़बड़ियां ठीक की गईं

  • नया LocalSoftwareClassroomController कंपोज़िशन जोड़ा गया पुराने सॉफ़्टवेयर कीबोर्ड कंट्रोलर इंटरफ़ेस को बदलने के लिए एपीआई चालू करें टेक्स्ट फ़ील्ड. (I658b6, b/168778053)

वर्शन 1.0.0-alpha12

10 फ़रवरी, 2021

androidx.compose.foundation:foundation:1.0.0-alpha12 और androidx.compose.foundation:foundation-layout:1.0.0-alpha12 रिलीज़ हुई हैं. वर्शन 1.0.0-alpha12 में ये कमियां हैं.

एपीआई में बदलाव

  • Modifier.pointerइनपुट को संकेत करने के लिए अब याद रखने वाली कुंजियों की ज़रूरत है जब पॉइंटर इनपुट डिटेक्शन कोरूटीन नए के लिए रीस्टार्ट होना चाहिए निर्भरता. (I849cd)
  • टेस्टिंग से जुड़ा अपडेट: hasText(), टेक्स्ट फ़ील्ड (Iab803) में इनपुट और लेबल/hint/placeholder टेक्स्ट, दोनों की जांच करेगा
  • PaddingValues.Total को जोड़ा गया था. इसका इस्तेमाल, PजगहValues को स्वीकार करने वाले एपीआई में किया जा सकता है. (Ia5f30)
  • onImeActionPerformanceed अब काम नहीं करता है. इसके बजाय Keyboard Actions का इस्तेमाल करें (If0bbd, b/179071523)
  • नाम का बेहतर तरीके से मिलान करने के लिए ImageBitmap और Image पक्ष के साथ कन्वेंशन, ImagePainter का नाम बदलकर BitmapPainter कर दिया गया है साथ-साथ वेक्टरPainter. (Iba381, b/174565889)
  • अब तर्क के तौर पर सबस्ट्रिंग के साथ बेहतर सबस्ट्रिंग टेस्ट एपीआई (Icbe78)
  • InfiniteAnimationPolicy कोरूटीन कॉन्टेक्स्ट पेश किया गया जिसे असीमित ऐनिमेशन में लागू किया जाएगा. डिफ़ॉल्ट रूप से नहीं नीति इंस्टॉल की गई है. हालांकि, ComposeTestRule का इस्तेमाल करके जांच करने पर नहीं. (I50ec4, b/151940543)
  • Animatable.stapTo और Animatable.stop अब सस्पेंड फ़ंक्शन (If4288) हैं
  • componentActivity.setContent इस जगह पर भेजा गया androidx.activity.compos.setContent में androidx.activity:activity-compos मॉड्यूल में नहीं है. (Icf416)
  • डिस्ट्रक्चरिंग और Copy() तरीके को इस यूआरएल से हटा दिया गया है ऐसी क्लास के बारे में बात करते हैं जहाँ इनका इस्तेमाल बहुत कम किया जाता था. (I26702, b/178659281)
  • Lazyकॉलम/LazyRow के लिए, कस्टम पासकोड इस्तेमाल करने की सुविधा जोड़ी गई. इससे हम आइटम को फिर से क्रम में लगाने को बेहतर तरीके से मैनेज कर पाते हैं. इसलिए, याद रखें कि {} ब्लॉक में सेव की गई स्थिति, एलिमेंट का क्रम बदलने या आइटम को बीच से हटाने पर, आइटम के साथ मूव हो जाएगी.

    LazyColumn {
        items(users, key = { user -> user.id }) { ... }
    }
    
  • इंडिकेशन#createइंस्टेंस को @Composable में बदला गया है, और LocalIndic को बदलकर कोई इंडिकेशन शामिल किया गया है, न कि () -> संकेत. (I5eeea, b/157150564)

  • Constraints.enforce को Constraints.constrain से बदल दिया गया. (I8b8ea)

  • loadFontResource अब काम नहीं करता. इसके बजाय, fontResource का इस्तेमाल करें. ImageResource, loadImageResource, vectorResource, और loadvectorResource के इस्तेमाल पर रोक लगा दी गई है. इसके बजाय, PaintterResource का इस्तेमाल करें. (I6b809)

  • परफ़ॉर्मेंस की वजहों से, ScrollAxisRange सिमेंटिक्स अब सीधे फ़्लोट वैल्यू के बजाय, Lambdas फ़्लोटिंग वैल्यू पर लौटता है. (If4a35, b/178657186)

  • सुलभता और संबंधित जांच के तरीकों के लिए, टेक्स्ट फ़ील्ड के बदलाव किए जा सकने वाले इनपुट टेक्स्ट को मार्क करने के लिए, एडिट किए जा सकने वाले टेक्स्ट सिमैंटिक को जोड़ा गया (I8e07a)

  • अब Modifier.clickable में डबल और देर तक क्लिक करने की सुविधा नहीं है. इस फ़ंक्शन को पाने के लिए, Modifier.combinedClickable का इस्तेमाल करें. (Iafad1)

  • toIntPx() का नाम बदलकर, {8/}ToPx() किया गया. (I9b7e4, b/173502290)

  • IntBounds का नाम बदलकर IntRect किया गया. एपीआई को बेहतर बनाया गया. (I1f6ff)

  • Modifier.drag प्रोसेसFilter बंद कर दिया गया है. इसके बजाय, Modifier.pointerInput { detectDragGestures (...)} का इस्तेमाल करें. इसके अलावा, एक ऐक्सिस ड्रैग (I0ba93, b/175294473) के लिए, Modifier.draggable का इस्तेमाल करें

  • ऐंबियंट के हिसाब से नाम बदला गया -> कंपोज़िशन लोकल का नाम बदलना. पहले ऐंबियंट्स को AmbientFoo कहा जाता था, लेकिन अब ComposeLocals को LocalFoo कहा जाता है. (I2d55d)

  • चुने गए हिस्से को फ़ाउंडेशन में ले जाया गया. (I7892b)

  • जिस तरह हमने पहले state { 0 } कंपोज़ेबल को हटाया था और अब remember { mutableStateOf(0) } जैसे उसके इस्तेमाल को बढ़ावा दिया था उसी तरह हम savedInstanceState { 0 } कंपोज़ेबल को हटाने जा रहे हैं. इसके बजाय, आपको rememberSaveable { mutableStateOf(0) } का इस्तेमाल करना चाहिए. अगर म्यूटेबलस्टेट में इस्तेमाल किए गए टाइप को बंडल में सेव किया जा सकता है, तो यह अपने-आप सेव और वापस आ जाएगा. अगर पहले आप एक कस्टम सेवर ऑब्जेक्ट पास कर रहे थे, तो अब आपको RememberSaveable के एक नए ओवरलोड का इस्तेमाल करना होगा जिसमें stateSaver पैरामीटर हो. इस्तेमाल इस तरह दिखेगा: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)

  • सुलभता के लिए पासवर्ड सिमैंटिक जोड़ा (I231ce)

  • AccessibilityBarRangeInfo.सुलभता के लिए अनिश्चित प्रोग्रेस बार को मार्क करने के लिए इसे जोड़ा गया (I6fe05)

  • ऐनिमेशन में चलने के समय की अवधि अब नैनोसेकंड है (If776a)

  • @ComposableConact की जगह, अब तीन और खास एनोटेशन का इस्तेमाल किया जाता है.

    @ComposableContract(restartable = false), @NonRestartableComposable हो गया है @ComposableContract(readonly = true), @ReadOnlyComposable हो गया है @ComposableContract(preventCapture = true) अब @DisallowComposableCalls बन गया है @ComposableContract(tracked = true) को हटा दिया गया है. (I60a9d)

  • emptyContent() और (@Composable () -> Unit).orEmpty() सुविधाएं बंद कर दी गई हैं, क्योंकि अब इनकी परफ़ॉर्मेंस पर कोई अच्छा असर या वैल्यू नहीं है (I0484d)

  • रीकंपोज़र अब बंद किए जा सकते हैं. बंद रिकंपोज़र जब तक चाइल्ड कोरूटीन पूरा नहीं हो जाता, तब तक बदलाव करना जारी रखें. बंद के कंट्रास्ट के लिए रद्द करने के लिए Recomposer.shutDown का नाम बदला गया. (Ib6d76)

  • LazyVerticalGrid से जुड़े एपीआई को एक्सपेरिमेंट के तौर पर मार्क किया गया है (Ia53e3, b/178519862)

  • याद रखें कि सेव किए गए उदाहरण() का नाम बदलकर, RememberSaveable() का नाम बदला गया और androidx.compos.runtime.saveable पैकेज पर ले जाया गया. (I1366e, b/177338004)

  • RecorableStateHolder का नाम बदलकर, सेव किए जा सकने वाले स्टेटहोल्डर का नाम रखा गया. साथ ही, इसे androidx.compos.runtime.saveable पैकेज पर ले जाया गया. इनर मेथड ReorableStateProvider का नाम बदलकर, सेव किए जा सकने वाले स्टेट प्रोवाइडर को किया गया. जेनेरिक टाइप को हटा दिया गया है, ताकि आप किसी भी को कुंजी के तौर पर सिर्फ़ पास कर सकें. अब प्रयोग के तौर पर इस्तेमाल की जाने वाली व्याख्या की ज़रूरत नहीं है. (I0902e, b/174598702)

  • सेवर, listSaver(), MapSaver(), autoSaver को androidx.compos.runtime.Savedinstancestate से androidx.compos.runtime.saveable (I77fe6) में ले जाया गया है

  • आर्टफ़ैक्ट androidx:compos:runtime:runtime-Saved-instance-state का नाम बदलकर androidx:compos:runtime:runtime-saveable (I6dcac) कर दिया गया है

  • यूज़र इंटरफ़ेस (यूआई) पैकेज में, लंबे समय से इस्तेमाल नहीं किए जा रहे कई एपीआई मिटा दिए गए हैं. (I2f2dc)

  • कंपोज़:रनटाइम-डिस्पैच आर्टफ़ैक्ट अब काम नहीं करता है. MonotonicFrameClock को अब लिखें:runtime और AndroidUiDispatcher, लिखें:UI में देखा जा सकता है. (Ib5c36)

  • राउंडर कॉर्नर शेप, कट कॉर्नर शेप, और कॉर्नर बेस्ड शेप के पैरामीटर का नाम, बाएं/दाएं से बदलकर, शुरू/खत्म हो गया. ऐसा इसलिए किया गया, ताकि आरटीएल की दिशा में शेप के ऑटो मिररिंग को काम किया जा सके. जब ऑटो-मिररिंग की सुविधा काम नहीं करती, तब ऐसे मामलों के लिए शेड्यूल होने वाली कूलरूंडिंग कॉर्नर और TotalCutCornerSize की सुविधा शुरू की गई है. (I61040, b/152756983)

  • कैन खींचें और Modifier से हटा दिया गया है.इसे स्क्रोल किया जा सकता है. (Id66e7, b/175294473)

  • वह एपीआई जिसे Compose कंपाइलर प्लगिन टारगेट करता है के बजाय इंटरफ़ेस का इस्तेमाल करने के लिए रीफ़ैक्टर किया गया है कंक्रीट क्लास के रूप में पेश किया. इंटरफ़ेस अब एक प्रकार पैरामीटर है.

    यह एक अंदरूनी बदलाव है, जिससे सोर्स पर कोई असर नहीं पड़ना चाहिए कोड के साथ काम करता है, लेकिन यह बाइनरी ब्रेकिंग बदलाव है. (I3b922, b/169406779)

  • Modifier.ScalegeFilter फ़िल्टर को हटा दिया गया है. इसके बजाय, Modifier.zoomable का इस्तेमाल करें. इसके अलावा, Modifier.pointerInput { detectMultitouchGestures { ... }} (Id5da1, b/175294473) का इस्तेमाल करें

  • ऐनिमेटेडValue/Float अब काम नहीं करता. कृपया इस्तेमाल करें इसके बजाय, ऐनिमेट किया जा सकता है. (I71345, b/177457083)

    • सार्वजनिक एपीआई से CoreText और CoreTextField को हटाया गया
    • चुने गए कंटेनर ओवरलोड को हटाया गया (I99c19)
  • बिना निलंबन वाले स्क्रोलिंग फ़ंक्शन हटाएं पिछली रिलीज़ में हुए बदलावों के हिसाब से, बिना निलंबन वाली स्क्रोलिंग फ़ंक्शन अब पूरी तरह से हटा दिए जाते हैं. कृपया निलंबन में बदलें समान नाम वाले फ़ंक्शन. कोरूटीन स्कोप की जानकारी इनसे हासिल की जा सकती है: RememberCoroutineScope(). (I3d39c, b/178169563)

  • androidx.compos.foundation.layout.ConstraintLayout को, androidx.constraintlayout.compos.ConstraintLayout के पक्ष में हटा दिया गया. आपको androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha01 पर डिपेंडेंसी जोड़नी होगी. (I87adc)

  • टैपजेस्चर, डबल टैपजेस्चरFilter, longPress प्रोसेसFilter, और PressIndicaitonCatFilter काम नहीं कर रहा है. इसके बजाय, preventTap Gesturess फ़ंक्शन के साथ, Modifier.clickable या Modifier.pointerइनपुट का इस्तेमाल करें. (I6baf9, b/175294473)

  • Recomposer.current() को हटा दिया गया है. [Absact]Compose अभी व्यू में है डिफ़ॉल्ट रूप से, लेज़ी तरीके से बनाए गए विंडो के स्कोप वाले रीकंपोज़र, विंडो के लिए ViewTreelifecycleOwner. चीज़ों को फिर से व्यवस्थित करें और होस्ट लाइफ़साइकल के दौरान, withFrameNanos पर आधारित ऐनिमेशन के टिक रोक दिए गए हैं को रोक दिया गया है. (I38e11)

  • Recomposer.दौड़ना के लिए Recomposers अब ग्लोबल StateFlow ऑफ़र करते हैं में कंपोज़िशन की मौजूदा स्थिति को देखने के लिए, रीड-ओनली RecomposerInfo प्रक्रिया से बचा जा सकता है. इस एपीआई को Recomposer.current() पर पसंद करें, जो कि अब है बंद कर दिया गया है. (If8ebe)

वर्शन 1.0.0-alpha11

28 जनवरी, 2021

androidx.compose.foundation:foundation:1.0.0-alpha11 और androidx.compose.foundation:foundation-layout:1.0.0-alpha11 रिलीज़ हुई हैं. वर्शन 1.0.0-alpha11 में ये कमियां हैं.

एपीआई में बदलाव

  • नॉन-सस्पेंड ScrollBy का उपयोग न करें, नॉन-सस्पेंड ScrollTo को हटाएं

    हमारा सुझाव है कि स्क्रोलिंग और इंतज़ार को कंट्रोल करने के लिए, सस्पेंड फ़ंक्शन का इस्तेमाल करें पूरा करने के लिए. हम पहले से मौजूद इस ट्रांज़िशन के हिस्से के तौर पर, इन फ़ंक्शन के नॉन-सस्पेंड वर्शन का इस्तेमाल भी कर सकते हैं. (Ie9 कंपनियों)

  • नॉन-सस्पेंड smoothscrollBy का बहिष्कार करें हमारा सुझाव है कि स्क्रोलिंग और इंतज़ार को कंट्रोल करने के लिए, सस्पेंड फ़ंक्शन का इस्तेमाल करें पूरा करने के लिए. हम ऐसे वर्शन बंद कर रहे हैं जो निलंबित नहीं हैं कुछ इस ट्रांज़िशन है. (I12880)

  • इमेज और आइकॉन में कॉन्टेंट की जानकारी वाला पैरामीटर जोड़ दिया गया है. इसका इस्तेमाल सुलभता सेवाओं का ब्यौरा देने के लिए किया जाता है (I2ac4c)

  • BasicTextField को 'decorationBox' नाम का एक नया पैरामीटर मिला है. यह आइकॉन, प्लेसहोल्डर, लेबल, और टेक्स्ट फ़ील्ड से मिलती-जुलती सजावट जोड़ने की सुविधा देता है. साथ ही, इसका हिट टारगेट एरिया भी बढ़ा देता है. (I16996)

  • कैन खींचें पैरामीटर को Modifier.draggable (Ic4bec, b/175294473) से हटा दिया गया है

  • FingConfig को स्वीकार करने वाले ऐनिमेटेडFloat.fling को हटा दिया गया है. कृपया निलंबित करें का इस्तेमाल करें इसके बजाय, Animatable.animatedecay. (I4659b, b/177457083)

  • data class को इन क्लास से हटाया गया:

    • इनलाइन टेक्स्ट-कॉन्टेंट
    • स्थान-भाषा की सूची
    • (I605c7)
  • कंपोज़िशन के बाहर (I0a130, b/172938345, b/175294473) के बाहर ऐसे बनाए जा सकते हैं जिन्हें क्लिक किया जा सकता है, टॉगल किया जा सकता है, और चुना जा सकता है

  • Scrollableकॉलम/पंक्ति बहिष्कृत कर दी गई थी. जब आपके पास बड़ा स्क्रोल करने वाला कॉन्टेंट होता है, तो ScrollableColumn का इस्तेमाल करने से बेहतर नतीजे नहीं मिलने चाहिए. इसकी वजह यह है कि LazyColumn की मदद से, हम सिर्फ़ दिखने वाले एलिमेंट को तैयार कर सकते हैं, उनकी माप कर सकते हैं या उन्हें ड्रॉ कर सकते हैं. लोगों को गलत तरीके से काम करने से रोकने के लिए, हमने Scrollableकॉलम और ScrollableRow की सुविधा बंद करने का फ़ैसला लिया है. साथ ही, इसकी जगह LazyColumn और LazyRow के इस्तेमाल को बढ़ावा देने का फ़ैसला लिया है. उपयोगकर्ता अब भी यह तय कर सकते हैं कि उन्हें लेज़ी बिहेवियर की ज़रूरत नहीं है और वे सीधे तौर पर इस तरह मॉडिफ़ायर का इस्तेमाल कर सकते हैं: कॉलम(Modifier.verticalscroll(rememberscrollState())) (Ib976b, b/170468083)

  • LazyColumn/LazyRow/LazyVerticalGrid के दायरे के लिए items(count: Int) का नया फ़ैक्ट्री तरीका. items(items: List) और itemsIndexed(items: List) अब एक्सटेंशन फ़ंक्शन हैं, इसलिए इनका इस्तेमाल किए जाने पर आपको उन्हें मैन्युअल तौर पर इंपोर्ट करना होगा. अरे के लिए नया एक्सटेंशन ओवरलोड: items(items: Array) और itemsIndexed(Array) (I803fc, b/175562574)

  • अब काम नहीं करने वाले कूल अरेंजमेंट को हटा दिया गया है. (इफ़फ़ा96, b/177641870)

  • ProtectMinConstraints पैरामीटर, Box में जोड़ा गया, ताकि यह तय किया जा सके कि इनकमिंग कम से कम कंस्ट्रेंट को, Box के कॉन्टेंट में पास किया जाना चाहिए या नहीं. डिफ़ॉल्ट रूप से गलत पर सेट होती है. (I0125b, b/152613457)

गड़बड़ियां ठीक की गईं

  • onCommit, onDispos, और onActive को Sideimpact और Disposableimpact API (If760e) का इस्तेमाल करने की सुविधा नहीं दी है
  • withConstraints को BoxWithConstraints के तौर पर फिर से बनाया गया और फ़ाउंडेशन के लेआउट का इस्तेमाल शुरू किया गया. (I9420b, b/173387208)
  • फ़ॉन्ट/फ़ॉन्ट फ़ैमिली/टाइपफ़ेस के लिए फ़ैक्ट्री फ़ंक्शन में बदलाव करना

    • कैपिटल लेटर से शुरू होने वाले फ़ैक्ट्री फ़ंक्शन जोड़े गए
    • लोअरकेस वाले पिछले फ़ैक्ट्री फ़ंक्शन अब काम नहीं करते पहला अक्षर
    • नए फ़ैक्ट्री फ़ंक्शन, इसके बजाय FontFamily दिखाते हैं सब-क्लास
    • सब-क्लास के कंस्ट्रक्टर छिपाए गए, ताकि वे इन्हें सिर्फ़ फ़ैक्ट्री फ़ंक्शन से बनाया जा सकता हो.
    • Font.asFontFamily का नाम बदलकर Font.toFontFamily कर दिया गया था
    • (I42aa7)
  • ComposeContentTestRule के बारे में जानकारी. यह विस्तार से भी उपलब्ध होगी ComposeTestRule और setContent को परिभाषित करता है, जिसे यहां से हटा दिया गया है ComposeTestRule. createEmptyComposeRule() एट्रिब्यूट की वैल्यू में फ़ैक्ट्री का तरीका जोड़ा गया जो ComposeTestRule दिखाता है और आपको. इसका इस्तेमाल तब करें, जब आपको टेस्ट के दौरान अपनी ऐक्टिविटी लॉन्च करनी हो, उदाहरण के लिए, ActivityScenario.launch (I9d782, b/174472899) का इस्तेमाल करके

  • animateAsState का नाम अब animateFooAsState हो गया है, जहां Foo यह है ऐनिमेट किए जा रहे वैरिएबल का टाइप. उदाहरण के लिए, फ़्लोट, Dp, ऑफ़सेट वगैरह (Ie7e25)

  • अरेंजमेंट इंटरफ़ेस के लिए डेंसिटी अब रिसीवर स्कोप है. (I18aad)

  • TextFieldValue, AnnotatedString को स्वीकार करता है. हालांकि, यह है केवल एपीआई में बदलाव होता है और बहु-स्टाइल टेक्स्ट में बदलाव नहीं होता अभी तक लागू नहीं किया गया है.

    • initial को AdvertisingBuffer कंस्ट्रक्टर पैरामीटर से हटाया गया. (I326d5)
  • इन अमान्य और कंपोज़िशन रेफ़रंस() की जगह को अबcurrentRecomposScope और RememberPositionReference की जगह रोक दिया जाता है. (I583a8)

  • AnnotatedString को kotlin.CharSequence से बढ़ाने के लिए बदला जाता है. इसलिए, लंबाई और उप-क्रम अब इंस्टेंस फ़ंक्शन हैं. और एक्सटेंशन फ़ंक्शन हटा दिए जाते हैं. (Iaf429)

  • अवधि और अपटाइम को लंबे मिलीसेकंड से बदल दिया जाएगा. इससे, उन पर पॉइंटर इनपुट की डिपेंडेंसी हट जाती है क्लास. (Ia33b2, b/175142755, b/177420019)

  • Composeलाइफ़साइकल ऑब्ज़र्वर की जगह, RememberObserver को शामिल किया जाता है और कंपोज़िशनलाइफ़साइकल ऑब्ज़र्वर को अब बंद कर दिया गया है.

    RememberObserver इसकी जगह ले रहा है बदले गए सिमेंटिक्स के साथ CompositionLifecycleObserver और नए नाम वाले तरीके. नए एपीआई को मैन्युअल तरीके से बदला जा सकता है उन चीज़ों के लिए जिन्हें सिर्फ़ एक बार याद किया जाता है, जो कि हैं और जारी हैं होना चाहिए. हालांकि, अगर रेफ़रंस फ़ाइल onRemembered कंपोज़िशन में एक से ज़्यादा बार याद रखा गया को कॉल किया गया जहां onEnter को सिर्फ़ एक बार कॉल किया जाता है. onEnter अगर ऑब्जेक्ट का इस्तेमाल सब-कंपोज़िशन में किया गया है, तो इसे एक से ज़्यादा बार कॉल किया गया था, जैसे, WithConstraints और Scaffold ने सिंगल बनाया onEnter की कॉल गारंटी गलत है. इसलिए, इसे इस वजह से हटा दिया गया RememberObserver.

    RememberObserver, onAbandoned को जोड़ता है. इस प्रक्रिया को तब इस्तेमाल किया जाता है, जब पास किए गए कॉलबैक से RememberObserver इंस्टेंस लौटाया जाता है remember को किया गया, लेकिन कंपोज़िशन स्थिति में याद नहीं रखा गया और इसलिए, onRemembered को कभी कॉल नहीं किया जाएगा. यह काम कर सकता है तब होता है जब कोई अपवाद कंपोज़िशन को पूरा करने से पहले खत्म कर देता है या कंपोज़िशन को खारिज कर दिया गया है, क्योंकि राज्य के लिए कंपोज़िशन अब मौजूदा नहीं है या अब नहीं है की ज़रूरत नहीं है. अगर किसी सिंगल कॉलम के बाद RememberObserver का इंस्टेंस ऊपर दिया गया संदर्भ सुझाव किसी बाहरी संसाधन को ट्रैक कर रहा है onForgotten और onAbandoned, दोनों बताते हैं कि संसाधन की अब ज़रूरत नहीं है. अगर ऑब्जेक्ट काम को ट्रैक कर रहा है शुरू किया गया या onRemembered, onAbandoned में दिए गए संसाधन को अनदेखा किया जा सकता है, क्योंकि अगर onRemembered कॉल किया गया. (I02c36)

  • TransformText.transFormatText का नाम बदलकर TransformText.text किया गया

    • TransformText अब एक डेटा क्लास नहीं है (Ie672a)
  • नीचे दी गई क्लास, अब डेटा क्लास नहीं हैं:

    • एनोटेटेड स्ट्रिंग
    • पैराग्राफ़ स्टाइल
    • स्पैन-स्टाइल
    • टेक्स्ट स्टाइल
    • फ़ॉन्टवेट
    • टेक्स्ट डेकोरेशन
    • टेक्स्टजियोमेट्रिक ट्रांसफ़ॉर्म
    • टेक्स्टइंडेक्स
    • टेक्स्टलेआउट-नतीजे
    • TextLayoutइनपुट (Iaff99)
  • एक्सपेरिमेंट के लिए, monotonicFrameAnimationClockOf तरीके हटाए गए (Ib753f, b/170708374)

  • ग्लोबल कोऑर्डिनेट के वे तरीके जिन्हें अब इस्तेमाल नहीं किया जा रहा है और बनाया गया है नए विंडो-आधारित कोऑर्डिनेट के तरीके का इस्तेमाल करता है. (Iee284)

  • कृपया ImeAction.NoAction के बजाय ImeAction.None का इस्तेमाल करें

    • कृपया ImeAction.Unspecified (Ie1bcc) के बजाय ImeAction.Default का इस्तेमाल करें
  • FocusRequester.createRefs को अब प्रयोग के तौर पर मार्क कर दिया गया है, क्योंकि यह बदल सकता है. (I2d898, b/177000821)

  • SemanticspropertyReceiver.hidden का नाम invisibleToUser में बदल दिया गया है और @ExampleComposeUiApi को मार्क किया गया है. AccessibilityRangeInfo का नाम बदलकर, ProgressBarRangeInfo. statusDescriptionRange का नाम बदलकर, ProgressBarRangeInfo. Accessibility ScrollState का नाम बदलकर, ScrollAxisRange किया गया. हॉरिज़ॉन्टलAccessibility ScrollState का नाम बदलकर हॉरिज़ॉन्टल ScrollAxisRange किया गया. वर्टिकलAccessibility ScrollState का नाम बदलकर,verticalscrollAxisRange किया गया. (आईडी3148)

  • विज़ुअल ट्रांसफ़ॉर्मेशन को फ़ंक्शनल इंटरफ़ेस में बदला गया (I3bba4)

  • टेस्टिंग में TestCoroutineDispatcher का फ़ायदा लें (I532b6)

  • PointerइनपुटData और बदलाव करने वाला Pointer InputChange हटाया गया ताकि वह PointerइनपुटData के सभी फ़ील्ड दे सकें. बनाया गया PointerइनपुटEvent और PointerइनपुटEventData, क्योंकि उनका इस्तेमाल इनमें नहीं किया जाता कोई भी सार्वजनिक एपीआई. (Ifff97, b/175142755)

  • TextइनपुटService.onStateUpdated का नाम updatedState (Id4853) के तौर पर बदला गया

  • DisplaySize को हटाएं, क्योंकि इससे बचना चाहिए. आम तौर पर, यह समय होता है बेहतर होगा कि onRoot() के साइज़ या विंडो के साइज़ का कम से कम इस्तेमाल किया जाए. (I62db4)

वर्शन 1.0.0-alpha10

13 जनवरी, 2021

androidx.compose.foundation:foundation:1.0.0-alpha10 और androidx.compose.foundation:foundation-layout:1.0.0-alpha10 रिलीज़ हुई हैं. वर्शन 1.0.0-alpha10 में ये कमियां हैं.

एपीआई में बदलाव

  • ImeOptions और KeyboardOptions अब डेटा क्लास नहीं हैं (I3c898, b/168684531)
  • VisualTransformation API में बदलाव
    • ऑफ़सेट मैप का नाम बदलकर ऑफ़सेट मैप किया गया
    • OffsetMapping.identityOffsetmap का नाम बदलकर, OffsetMapping.Identity
    • PasswordTransformation अब डेटा-क्लास नहीं है
    • ऑफ़सेट मैपिंग को इसकी अपनी फ़ाइल में ले जाया गया
    • (I0bdf3)
  • बदलाव करने के एपीआई में किए गए बदलाव
    • बदलाव का नाम बदलकर एडिट कमांड किया गया
    • एडिट ऑपरेशन कंक्रीट लागू करने के लिए कमांड सफ़िक्स जोड़ा गया
    • एडिट कमांड की मदद से, अब डेटा क्लास का इस्तेमाल नहीं किया जा सकेगा
    • अप्लाई करने के लिए एडिट ऑपरेटरेशन.प्रोसेस फ़ंक्शन का नाम बदला गया
    • InputEventListener का नाम बदलकर InputEventCallback कर दिया गया
    • (I0a366)
  • कॉम्पोनेंट के हिस्से और गणित के लिए, वेलोसिटी में बदलाव किया गया कार्रवाइयां. (Ib0447)
  • @exampleTesting का नाम बदलकर @exampleTestApi में है मिलते-जुलते एक्सपेरिमेंट वाले एपीआई एनोटेशन (Ia4502, b/171464963) से मेल खाते हों
  • LaZColumn/LazyRow के लिए एक्सपेरिमेंट के तौर पर उपलब्ध स्टिकी हेडर का तरीका (I0a81d)
  • Ranamed Color.useOrElse() से Color.takeOrElse() (Ifdcf5)
  • अब इस्तेमाल नहीं किया जा सकने वाला TestUiDispatcher. इसके बजाय Dispatchers.Main का इस्तेमाल करें (Ic171f, b/175385255)
  • Foundation Strings.kt (I4a5b7, b/172366489) में टॉगल जोड़ें
  • NativeClass को यहां ले जाया गया ui मॉड्यूल और इसे अंदरूनी बनाया गया है. NativeClass के अपडेट किए गए इस्तेमाल लागू करने के लिए बराबर कार्रवाइयां 'क्या MyClass है' आज़माएं. (I4f734)
  • FlowRow और FlowColumn का इस्तेमाल नहीं किया जा सकता. इसके बजाय, कृपया कस्टम लेआउट का इस्तेमाल करें. (I09027)
  • Modifier.focus() और Modifier.focusRequester() अब काम नहीं करती है. इसके बजाय, Modifier.focusModifier() और Modifier.focusReference() का इस्तेमाल करें. (I75a48, b/175160751, b/175160532, b/175077829)
  • SelectionManager को चुने जा सकने वाले अपडेट की सूचना देने के लिए, Selection रजिस्ट्रार.notifySelectableChange की शुरुआत की गई. (I6ff30, b/173215242)
  • fun Dp.isFinite() को val Dp.isFinite (I50e00) में बदला गया
  • Constraints#stisfiedBy का नाम बदलकर isSatisfiedBy किया गया. (I9cf5c)
  • जोड़ा गया बताया गया है, isUnspecified, और इसके लिएOrElse का इस्तेमाल किया जाता है इन-लाइन क्लास में तय नहीं किया गया कॉन्स्टेंट शामिल है. (I93f7b, b/174310811)

गड़बड़ियां ठीक की गईं

  • कोरूटीन पर आधारित नया एपीआई Animatable, जो यह पक्का करता है कि सभी को एक-दूसरे के साथ बेहतर अनुभव मिल सके ट्रैक करने में मदद मिलती है. कई डाइमेंशन के नुकसान वाले ऐनिमेशन के साथ काम करने के लिए नया डीकेएएनिमेशन स्पेक (I820f2, b/168014930)
  • बंद किए गए और रीड-ओनली टेक्स्ट फ़ील्ड (I35279, b/171040474, b/166478534) के लिए सहायता जोड़ी गई
  • animate() को अब animateAsState() से बदल दिया गया है, इससे T के बजाय, State<T> दिखेगा. इससे बेहतर तरीके से परफ़ॉर्मेंस बेहतर न हो, क्योंकि अमान्य होने के दायरे को कम किया जा सकता है जहां स्टेट वैल्यू को पढ़ा जाता है. (Ib179e)
  • सिमैंटिक रोल एपीआई जोड़ें और इसमें पैरामीटर के तौर पर भूमिका जोड़ें क्लिक किया जा सकने वाला, चुना जा सकने वाला, और टॉगल किया जा सकने वाला SemanticsModifier. बदल दिया जाए Modifier.progressSemantics ताकि स्लाइडर भी इसका इस्तेमाल कर सके. (I216cd)
  • नेटिव keyEvent को अब keyEvent.nativeKeyEvent (I87c57, b/173086397) से ऐक्सेस किया जा सकता है

वर्शन 1.0.0-alpha09

16 दिसंबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha09 और androidx.compose.foundation:foundation-layout:1.0.0-alpha09 रिलीज़ हुई हैं. वर्शन 1.0.0-alpha09 में ये कमियां हैं.

एपीआई में बदलाव

  • स्क्रोल किया जा सकने वाला इंटरफ़ेस जोड़ें

    इससे ScrollState और LazyListState को एक सामान्य टाइप करें, जिससे दोनों टाइप में कस्टम स्क्रोलिंग लागू हो सके.

    इससे, Scrollable पर smoothscrollBy एक एक्सटेंशन फ़ंक्शन पर ले जाया जाता है, इस सुविधा का फ़ायदा लिया जा सकता है. (I2153b)

  • LazyVerticalGrid जोड़ा गया. (I17267, b/162213211)

  • LazColumnFor, LazyRowFor, LazyColumnForIndexed, और LazyRowForIndexed का इस्तेमाल बंद कर दें. इसके बजाय, LaZColumn और LazyRow का इस्तेमाल करें (I5b48c)

  • पॉइंटर इनपुट एपीआई को निलंबित करने के लिए, नाम बदला गया HandlePointerinputScope से AwaitPointerEventScope और हैंडलर की इनपुट वैल्यू को WwaitPointerEventScope() में ले जाएगा. (Idf0a1, b/175142755)

  • LaZListState.layoutInfo को जोड़ा गया, जो उन आइटम के साइज़ और ऑफ़सेट की सूची दिखाता है जो फ़िलहाल दिख रहे हैं (If8678, b/170472532)

  • प्रयोग के तौर पर पॉइंटर जोड़ने के लिए इस्तेमाल किया गया एनोटेशन (Ia7a24) हटाया गया

  • TextFields के लिए इंटरैक्शनState सपोर्ट जोड़ दिया गया है. (I61d91)

  • LaZColumn/Row के लिए रिवर्सलेआउट पैरामीटर जोड़ें. जब true आइटम नीचे से ऊपर तक बनाए जाएंगे और LazyListState.firstVisibleItemIndex == 0 का मतलब है कि पहला आइटम सबसे नीचे मौजूद है. (I552ae, b/166589935)

  • LazyColumn के लिए, वर्टिकल अरेंजमेंट पैरामीटर जोड़ा गया. LazyRow के लिए, हॉरिज़ॉन्टल अरेंजमेंट पैरामीटर जोड़ा गया. आइटम की व्यवस्था से हम आइटम के बीच स्पेस जोड़ सकते हैं और उनका क्रम तय कर सकते हैं. ऐसा तब किया जाता है, जब हमारे पास आइटम का कम से कम साइज़ भरने के लिए, उनमें से काफ़ी संख्या नहीं होती है. (Icf79a, b/170394300)

  • preventमल्टीटच जेस्चर अब एक ही कॉलबैक का इस्तेमाल करता है. इसमें एक साथ इस्तेमाल करने से, सेंट्रोइड, पैन, ज़ूम, और रोटेट पैरामीटर. (Ie6e1c)

  • ContentDrawScope को यूज़र इंटरफ़ेस (यूआई-ग्राफ़िक) में ले जाया गया मॉड्यूल को DrawScope के साथ जोड़ना होता है. (Iee043, b/173832789)

गड़बड़ियां ठीक की गईं

  • ऑफ़सेट मॉडिफ़ायर में Lambdas, अब फ़्लो के बजाय IntOffset को लौटाता है. (Ic9ee5, b/174137212, b/174146755)
  • स्लॉटटेबल, स्लॉटरीडर, और सार्वजनिक एपीआई का इस्तेमाल करके, खास ऐप्लिकेशन को बदलने की सुविधा. इन्हें इसके तौर पर मार्क किया गया था InternalComposeAPI पहले से था. अब ये अंदरूनी इस्तेमाल के लिए हैं लिखें.

    कंपोज़िशन डेटा और कंपोज़िशन ग्रुप को निकालने के लिए ui-tooling API का इस्तेमाल करना कंपोज़िशन जानकारी. ये सार्वजनिक हैं, लेकिन यह ui-tooling API के बाहर इस्तेमाल किया जाता है, जो वह रॉ जानकारी जिसे ui-tooling API (एपीआई) बताता है (I31a9c)

  • इसके लिए ShaderBrush का रिफ़ैक्टर किया गया जब लेज़ी तरीके से शेडर इंस्टेंस बनाया जाता है, ड्रॉइंग के साइज़ की जानकारी आस-पास की कोई जगह उपलब्ध हो. यह ऐसे ग्रेडिएंट निर्धारित करने में उपयोगी होता है किसी कंपोज़ेबल की ड्रॉइंग का पूरा हिस्सा इस्तेमाल करें कंपोज़िशन के समय पर, पसंद के मुताबिक DrawModifier लागू करने होंगे.

    अब काम नहीं करने वाले ग्रेडिएंट फ़ंक्शन कंस्ट्रक्टर एपीआई एक ग्रेडिएंट ऑब्जेक्ट पर फैक्ट्री तरीकों के पक्ष में. (I511fc, b/173066799)

  • Modifier.focusObserver अब काम नहीं करता. इसके बजाय, Modifier.onFocusChanged या Modifier.onFocusEvent का इस्तेमाल करें (I30f17, b/168511863, b/168511484)

  • 'ऑटोमैटिक भरने की सुविधा' एपीआई अब एक प्रयोग के तौर पर उपलब्ध एपीआई है और इसके लिए ऑप्ट-इन करना ज़रूरी है (I0a1ec)

  • FocusRequester इंस्टेंस बनाने के लिए, नुकसान पहुंचाने वाले एलान जोड़ना (I35d84, b/174817008)

  • AccessibilityLabel का नाम बदलकर contentDescription कर दिया गया है. AccessibilityValue का नाम बदलकर statusDescription कर दिया गया है. (I250f2)

  • सेलेक्शन रजिस्ट्रार में कई नए फ़ंक्शन लॉन्च किए गए. साथ ही, onPositionChange का नाम बदलकर, InformationPositionChange रखा गया. (Ifbaf7)

  • Androidमालिक का बनाया गया इंटरनल (Ibcad0, b/170296980)

  • InfiniteRepableSpecification (I668e5) बनाने के लिए नया infinite Chatable फ़ंक्शन

  • Applier इंटरफ़ेस को आसान बनाने के लिए बदल दिया गया है पेड़ों को ऊपर से नीचे की ओर न रखकर, उन्हें नीचे की ओर दिखाना.

    insert() तरीके का नाम बदलकर, insertTopDown() कर दिया गया है.

    नया तरीका insertBottomUp() जोड़ा गया.

    Applier, जिस ट्री में बदलाव कर रहा है उसमें नोड जोड़ता है insertTopDown() या insertBottomUp() का इस्तेमाल किया जा रहा है. यह इस पर निर्भर करता है कि जो बेहतर परफ़ॉर्म करता है.

    LayoutNode और View जैसे कुछ पेड़ बहुत ज़्यादा दिखते हैं और टॉप-डाउन के मुकाबले बॉटम-डाउन को बनाने में ज़्यादा असरदार होते हैं. इस बदलाव से पहले, बॉटम-अप को लागू करने के लिए, कई निवेशनों की ज़रूरत थी. की ज़रूरत होती है. इसे हर ऐप्लायर में कॉपी किया जाता है, जिसे बॉटम-अप की ज़रूरत होती है. परफ़ॉर्मेंस के लिए कंस्ट्रक्शन. इस बदलाव के साथ Applier एक ट्री बनाने के लिए insertBottomUp() को ओवरराइड करता है ट्री टॉप-डाउन बनाने के लिए insertTopDown(). (Icbdc2)

  • PaintterResource एपीआई जोड़ा गया ओपैक लोडिंग पेंटर ऑब्जेक्ट को हैंडल करने के लिए रास्टराइज़ किए गए ऐसेट फ़ॉर्मैट, जैसे कि PNG या वेक्टरDrawables. उपभोक्ताओं के पास अब इससे पहले कि ऐसेट के टाइप का पता चल सके, और पेंटर ऑब्जेक्ट पाने के लिए इस तरीके को कॉल कर सकते हैं इमेज कंपोज़ेबल या पेंटर मॉडिफ़ायर में इस्तेमाल करने के लिए. (I2c703, b/173818471)

  • BuildAnnotatedString फ़ैक्ट्री फ़ंक्शन को क्रम से जोड़ा गया है AnnotatedString को बनाने के लिए. ऐसी व्याख्या वाली स्ट्रिंग जो अब काम नहीं करती बिल्डर फ़ंक्शन का इस्तेमाल करें. (Idfe0b)

वर्शन 1.0.0-alpha08

2 दिसंबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha08 और androidx.compose.foundation:foundation-layout:1.0.0-alpha08 रिलीज़ हुई हैं. वर्शन 1.0.0-alpha08 में ये कमियां हैं.

एपीआई में बदलाव

  • CoreTextField से maxLines पैरामीटर हटाया गया. अगर आपको टेक्स्ट फ़ील्ड की ऊंचाई को लाइनों की संख्या से सीमित करना है, तो BasicTextField का इस्तेमाल करें. (Iec002)
  • await*TouchSlop() तरीकों को इसमें बदला गया पॉइंटर डाउन का पता नहीं लगाया और उसका नाम बदलकर यह किया *OrCancellation. अब इस ज़रूरत को भी हटाया orientationLock पैरामीटर. (Ie96e1)
  • कंपोज़ेबल लैम्डा पैरामीटर के नाम और उसकी पोज़िशन के लिए लिंट की जांच जोड़ी गई, ताकि यह पता लगाया जा सके कि वह कंपोज़ेबल के दिशा-निर्देशों के मुताबिक है या नहीं. साथ ही, लिंट की जांच और दिशा-निर्देश के मुताबिक, कुछ एपीआई को children का इस्तेमाल करके उनके पीछे के लैम्डा के नाम के तौर पर content पर माइग्रेट किया गया. (Iec48e)
  • foundation:foundation-text एपीआई को foundation:foundation में ले जाया गया. पैकेज का स्ट्रक्चर पहले जैसा ही रहा (Id3eb2)
  • नया मल्टीटच जेस्चर डिटेक्टर, जिसमें यह शामिल है रोटेशन, ज़ूम और पैनिंग का पता लगाने के लिए सहायक. (Ic459d)
  • हाथ के जेस्चर का नया डिटेक्टर, जिसमें कर्सर को निलंबित किया गया है स्क्रीन की दिशा को लॉक करने के साथ-साथ इनपुट एपीआई. (Icef25)
  • वेक्टरऐसेट का नाम बदलकर Imageवेक्टर किया गया वेक्टरऐसेट को बिल्डर में ले जाया गया और इसका नाम बदला गया की एक इनर क्लास होनी चाहिए एपीआई काउंसिल के दिशा-निर्देश. वेक्टरAssetBuilder के टाइपालिया को इसमें जोड़ा गया Compat के लिए Imageवेक्टर.Builder का लिंक. (Icfdc8)
  • ImageAsset का नाम बदला और से संबंधित तरीके का इस्तेमाल करें. (Ia2d99)
  • फ़ाउंडेशन सिमेंटिक्स प्रॉपर्टी को ui (I6f05c) में ले जाया गया
  • कोरूटीन पर आधारित स्क्रोलिंग एपीआई जोड़ें:

    यह नीति, LazyListState.stapToItem और LazyListState.smoothscrollBy के निचले लेवल को जोड़ती है स्क्रोल कंट्रोल के लिए एपीआई. ये एपीआई, स्क्रोलिंग को कंट्रोल करने के लिए सस्पेंड इंटरफ़ेस उपलब्ध कराते हैं जो वापस आने से पहले स्क्रोल के खत्म होने का इंतज़ार करता है. (Ie5642)

  • BasicTextField, TextField, और OutlinedTextField में singeLine पैरामीटर जोड़ा गया. इस पैरामीटर को 'सही' पर सेट करें, ताकि टेक्स्ट फ़ील्ड को हॉरिज़ॉन्टल तौर पर स्क्रोल की जा सके. (I57004, b/168187755)

  • टैप करने, दो बार टैप करने, और दबाकर रखने के लिए, जेस्चर डिटेक्टर. नए सस्पेंडिंग पॉइंटर का इस्तेमाल करके, प्रेस इंडिकेटर इनपुट. इसमें कुछ सुविधाएं भी जोड़ी गई हैं, ताकि ताकि डेवलपर खुद के जेस्चर डिटेक्टर लिख सकें. (I00807)

  • Modifier.focusable को फ़ाउंडेशन में जोड़ा गया है. इसका इस्तेमाल किसी कॉम्पोनेंट में, सही सिमेंटिक्स और सुलभता के साथ, फ़ोकस करने लायक व्यवहार जोड़ने के लिए करें. (I41eb9, b/152525426, b/162865824)

  • पहले काम न करने वाले एपीआई हटा दिए गए थे: बॉर्डर हटा दिया गया था. इसके बजाय, BorderStroke का इस्तेमाल करें. Modifier.drawBorder को हटाया गया. इसके बजाय, Modifier.बॉर्डर का इस्तेमाल करें. Modifier. डाले गए बदलाव को हटा दिया गया है. इसके बजाय, Modifier.align का इस्तेमाल करें. स्टैक हटा दिया गया. इसके बजाय, Box का इस्तेमाल करें (I32c2b, b/172470874)

  • ऐब्सलूट अरेंजमेंट का नाम बदलकर शॉपिंग अबरा शब्द कर दिया गया है. (If26f2)

गड़बड़ियां ठीक की गईं

  • DrawModifier API को androidx.compos.ui पैकेज को androidx.compos.ui.draw पैकेज को देख सकते हैं. यहां DrawModifierExpiration.kt फ़ाइल बनाई गई इसमें सहायता के लिए टाइपएलियास/हेल्पर मेथड शामिल हैं माइग्रेशन की प्रोसेस को रोकने से, एपीआई. (Id6044, b/173834241)
  • Modifier.drawlayer का नाम बदलकर Modifier.graphicslayer किया गया साथ ही, मिलती-जुलती क्लास को Graphicslayer के हिसाब से अपडेट किया गया एपीआई काउंसिल से मिले सुझाव, शिकायत या राय. (I0bd29, b/173834241)
  • <T> को SubcomposLayout के एलान से हटा दिया गया. इसका इस्तेमाल, टाइप तय किए बिना किया जा सकता है. (Ib60c8)
  • Made PointerइनपुटData का अपटाइम और स्थान फ़ील्ड अमान्य नहीं हो सकते. (Id468a)
  • Materialथीम अब चुने गए हैंडल और बैकग्राउंड के लिए सही रंग सेट करती है. चुने गए कलर को पसंद के मुताबिक बनाने के लिए, नॉन-मटीरियल ऐप्लिकेशन मैन्युअल तरीके से AmbientTextSelectionColors इस्तेमाल कर सकते हैं. (I1e6f4, b/139320372, b/139320907)
  • Box के अलाइनमेंट पैरामीटर का नाम बदलकर, contentalignment कर दिया गया है. (I2c957)
  • ऑफ़सेटPx मॉडिफ़ायर का नाम बदलकर ऑफ़सेट कर दिया गया. वे अब स्टेट के बजाय, लैम्डा पैरामीटर को इस्तेमाल कर रहे हैं. (Ic3021, b/173594846)
  • WindowManager.isWindowFocus किया गया यह पता लगाने के लिए किया गया है कि होस्ट विंडो फ़ोकस में है या नहीं. साथ ही, WindowFocusDetailsr जोड़ा गया है, जो onWindowFocusChanged कॉलबैक उपलब्ध कराता है. (I53b2a, b/170932874)
  • TextinputService#onStateUpdated (I3e8f5, b/172239032, b/171860947) में रीसेट इनपुट पैरामीटर जोड़ा गया
  • अपडेट किया गया TextFieldValue API
    • TextFieldValue.composition को रीड ओनली किया गया
    • चुनी गई रेंज (I4a675, b/172239032) की वजह से, हटाया गया अपवाद
  • अब काम नहीं करने वाले ऐंबियंट के नाम में Ambient जुड़ा हुआ है. ऐंबियंट और कंपोज़ एपीआई के दिशा-निर्देशों के मुताबिक, इनकी जगह ऐंबियंट प्रीफ़िक्स के तौर पर नई प्रॉपर्टी जोड़ी गई हैं. (I33440)
  • Android टाइपफ़ेस रैपर जोड़ा गया. कोई Android डिवाइस लोड किया जा सकता है typeface फ़ंक्शन यानी typeface(Typeface.DEFAULT) के ज़रिए टाइपफ़ेस. typefaceFromFontFamily() का नाम बदलकर typeface() (I52ab7) भी किया गया
  • यह जांचने के लिए लिंट चेक जोड़ा गया कि मॉडिफ़ायर कारखाने @Composable के तौर पर मार्क होने के बजाय, androidx.compose.ui.composed {} का अंदरूनी तौर पर इस्तेमाल करते हैं. (I3c4bc)
  • यह जांचने के लिए लिंट चेक जोड़ा गया कि मॉडिफ़ायर के फ़ैक्ट्री फ़ंक्शन, मॉडिफ़ायर पर एक्सटेंशन के रूप में परिभाषित किए गए हैं या नहीं, ताकि उन्हें आसानी से एक साथ जोड़ा जा सके. (I07981)
  • सिमैंटिक आर्ग्युमेंटmergeAllDescendants का नाम बदलकर यह किया गया MergeDescendants. (आईबी6250)
  • टेस्ट में समय नियंत्रण (TestAnimationClock और इसके इस्तेमाल) है अब प्रयोग के तौर पर उपलब्ध (I6ef86, b/171378521)
  • पुराना ui-test मॉड्यूल और उसके स्टब हटाएं (I3a7cb)
  • TextUnit.Inherit का नाम बदलकर TextUnit.Unspecified में अन्य इकाइयों के संगत. (Ifce19)
  • अलाइनमेंट इंटरफ़ेस को अपडेट करके चालू कर दिया गया है. (I46a07, b/172311734)
  • foundation:foundation-text मॉड्यूल को foundation:foundation (Idac0f) में मर्ज कर दिया गया है
  • प्लेस(ऑफ़सेट) और प्लेसरिलेटिव(ऑफ़सेट) का बहिष्कार करें. इसके बजाय, int ऑफ़सेट वाले ओवरलोड का इस्तेमाल करें (I4c5e7)
  • LayoutIdParentData के लिए, id का नाम बदलकर layoutId कर दिया गया. Measurable.id का नाम बदलकर Measurable.layoutId कर दिया गया. (Iadbcb, b/172449643)

वर्शन 1.0.0-alpha07

11 नवंबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha07, androidx.compose.foundation:foundation-layout:1.0.0-alpha07, और androidx.compose.foundation:foundation-text:1.0.0-alpha07 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha07 में ये कमिट हैं.

एपीआई में बदलाव

  • Modifier.fillMaxSize[Width|Height] की तरह ही, अब हम LazyColumn/Row (I797e2, b/166586426) के स्कोप के अंदर Modifier.fillParentMaxSize[Width|Height] में भिन्नों का समर्थन करते हैं
  • KeyboardOptions.toImeOptions को सार्वजनिक एपीआई से हटाया गया. (Ic2e45)
  • फ़ाउंडेशन AmbientTextStyle, इसमें शामिल टेक्स्ट, और AmbientContentColor अब काम नहीं करता. इसके बजाय, Material लाइब्रेरी में मौजूद नए वर्शन का इस्तेमाल करें. नॉन-मटीरियल ऐप्लिकेशन के लिए, आपको खुद के डिज़ाइन सिस्टम के हिसाब से थीम बनाने वाले ऐंबियंट बनाने चाहिए, जिन्हें आपके खुद के कॉम्पोनेंट में इस्तेमाल किया जा सके. (I74acc, b/172067770)
  • Foundation.Text को अब हटा दिया गया है और उसे content.Text से बदल दिया गया है. ऐसे बेसिक और बिना डायलॉग वाले टेक्स्ट एपीआई के लिए, androidx.compos.foundation.BasicText देखें, जो किसी थीम की वैल्यू का इस्तेमाल नहीं करता. (If64cb)
  • TextFields (Ib2a5b) में maxLines जोड़ी गई
  • KeyboardOptions (Ida7f3) को स्वीकार करने के लिए, TextFields को अपडेट करें
  • TextFields (I9ca32) में इस्तेमाल करने के लिए KeyboardOptions जोड़े गए
  • BasicText को टेक्स्ट के लिए डिज़ाइन-अनोपिन किए गए API के रूप में जोड़ता है, जो BasicTextField के समानांतर होता है. (I28268)
  • प्रयोग के तौर पर इस्तेमाल किया जा रहा LazyDsl एनोटेशन हटा दिया गया है. अब @OptIn (Idab7a, b/166584730) को जोड़े बिना, LazyColumn/LazyRow का इस्तेमाल किया जा सकता है
  • BaseTextField को बंद कर दिया गया है. इसके बजाय, BasicTextField का इस्तेमाल करें. (I896eb)
  • CoreTextField और BaseTextField (Id4cea) की जगह BasicTextField को जोड़ दिया गया है.
  • काम नहीं करने वाले LazyColumnITEMS/LazyRow आइटम (I1d8a8) को हटाएं
  • साइज़ के हिसाब से साइज़ देने के लिए, काम न करने वाले कंपोज़ेबल हटा दिए गए हैं. (I18537, b/171811496)
  • रिलेटिवपैडिंग फ़्रॉम का नाम बदलकर पैडिंग कर दिया गया. लेआउट बाउंड से टेक्स्ट बेसलाइन तक की दूरी तय करने में सुविधा के तौर पर, जगहFromBaseline मॉडिफ़ायर जोड़ा गया है. (I0440a, b/170633813)
  • MatchHightConstraintsFirst पैरामीटर को AspectRatio मॉडिफ़ायर में जोड़ा गया, जिसका इस्तेमाल विड्थ कॉमेंटर को आज़माने से पहले, लंबाई के कंस्ट्रेंट के साइज़ के लिए मॉडिफ़ायर तय करने के लिए किया जा सकता है. (Ie7c43, b/155290593)
  • अब काम नहीं करने वाले DpConstraints को हटा दिया गया है. (I87884, b/171702471)

गड़बड़ियां ठीक की गईं

  • पेश किया गया स्केलफ़ैक्टर स्केल दिखाने के लिए इनलाइन क्लास हॉरिज़ॉन्टल और वर्टिकल के लिए फ़ैक्टर एक-दूसरे से अलग ऐक्सिस के क्रम में का इस्तेमाल करें.
    • कंप्यूटस्केलफ़ैक्टर तरीका इसमें जोड़ा गया: कॉन्टेंट स्केल
    • परफ़ॉर्म करने के लिए ContentScale.FillBounds जोड़ा गया सोर्स को बढ़ाने के लिए नॉन-यूनिफ़ॉर्म स्केलिंग डेस्टिनेशन का पूरी तरह से इस्तेमाल कर लेता है.
    • कंप्यूट करने के लिए ऑपरेटर के तरीके जोड़े गए साइज़ पैरामीटर के साथ स्केल फ़ैक्टर पैरामीटर.
    • (Ic96a6, b/172291582)
  • CaptureToBitmap CaptureToImage में ले जाया गया. (I86385)
  • CoreText को @InternalTextApi के तौर पर मार्क करता है. इसके बजाय, BasicText का इस्तेमाल करें. (I6aaeb)
  • KeyboardOptions का नाम बदलकर ImeOptions (I82f36) रखें
  • KeyboardType और ImeAction को KeyboardOptions (I910ce) में ले जाया गया
  • CoreTextField को @InternalTextApi के तौर पर मार्क किया गया है. इसके बजाय BasicTextField का इस्तेमाल करें (Ie2469)
  • प्रयोग के तौर पर इस्तेमाल किया जाने वालाSubcomposLayoutApi एनोटेशन को हटाया गया. SubcomposLayout को अब बिना @OptIn (I708ad) जोड़े इस्तेमाल किया जा सकता है
  • ui-test-junit4 मॉड्यूल (Ib91f8) की शुरुआत करें
  • Color.Unspecified के लिए आइकॉन एपीआई को अपडेट किया गया को संभावित रंग के रूप में दिखाया जा सकता है, जो दिए गए बिना ColorFilter वाली ऐसेट या पेंटर. पहले यह, कलर की टिनिंग को अनदेखा करने की कोशिश करता है. जो पारदर्शी रंग में बदल जाएगा बिलकुल भी रेंडर नहीं हुआ. (I049e2, b/171624632)
  • मेज़रमेंटनतीजे को MeasurementScope से बाहर ले जाया गया. (Ibf96d, b/171184002)
  • लेआउट से जुड़े कई सिंबल को androidx.compos.ui से androidx.compos.layout.ui में ट्रांसफ़र कर दिया गया है. (I0fa98, b/170475424)
  • androidx.ui.test को androidx.compos.ui.test (I9ffdb) में ले जाया गया
  • FirstBaseline और LastBaseline को androidx.compos.ui.layout पैकेज (Ied2e7) में ले जाया गया है
  • कॉलबैक के बिना SelectionContainer जोड़ा गया (Ibfadb)
  • सेलेक्शनहैंडल के लिए टेस्ट जोड़ें चुनने के कंटेनर में मौजूद जगहें. (Ie93db)
  • जोड़ा गया कीबोर्ड अपने-आप सही IME विकल्प (I57b8d)

वर्शन 1.0.0-alpha06

28 अक्टूबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha06, androidx.compose.foundation:foundation-layout:1.0.0-alpha06, और androidx.compose.foundation:foundation-text:1.0.0-alpha06 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha06 में ये कमियां हैं.

एपीआई में बदलाव

  • androidx.compos.foundation.Icon को androidx.compos.material.Icon में ले जाया गया है. अगर आपको मटीरियल लाइब्रेरी का इस्तेमाल नहीं करना है, तो पेंटर के साथ इमेज कॉम्पोनेंट / Modifier.Paint() का इस्तेमाल भी किया जा सकता है. (I9f622)
  • Modifier.scrollable, ScrollableColumn, और LazyColumnFor (I81566, b/169509805) में PartnershipState को जोड़ा गया
  • संरेखण को RowScope में जोड़ा गया था और अलाइन की मदद से अलाइनमेंट का नाम बदलकर, अलाइनमेंट का डेटा अलाइन किया गया (I06503, b/170628732)
  • Box को एक इनलाइन फ़ंक्शन बनाया गया. (Ibce0c, b/155056091)
  • CoreTextField (Ibee58, b/143687793) में maxLines जोड़ी गई
  • CoreTextField में सॉफ़्टरैप जोड़ा गया. (I21a4b)

गड़बड़ियां ठीक की गईं

  • इसमें वेक्टरPainter का बहिष्कार करें याद रखें कि वे बेहतर यह बताता है कि कंपोज़ेबल एपीआई 'याद रखें' का इस्तेमाल करता है डेटा को हर तरह के उपयोगकर्ताओं के लिए कंपोज़िशन. (Ifda43)
  • ComposeTestRule में ट्रांज़िशन चालू करें; इसका विकल्प हटाएं ComposeTestRule से ब्लिंक करने वाले कर्सर को चालू करें. (If0de3)
  • CoreTextField (I72e6d) में सिंगल लाइन वाले कीबोर्ड का विकल्प जोड़ा गया
  • दायरा एपीआई का नाम बदलकर यह किया गया बेहतर तरीके से अपनी भावनाएं ज़ाहिर करने के लिए CornerRadious चैनल इसका इस्तेमाल कैसे किया जाता है. यह बताने के लिए दस्तावेज़ अपडेट किए गए नेगेटिव कोने की रेडिया को आपस में जोड़ा गया है शून्य तक. (I130c7, b/168762961)
  • बनाए गए मॉडिफ़ायर (Idee08, b/163494569) में, इंस्पेक्टर की जानकारी देने की सुविधा जोड़ें
  • जोड़ा गया कीबोर्ड-कैपिटलाइज़ेशन IME विकल्प (I8ac38)
  • Rtl हैंडल की पोज़िशन ठीक करें. (I6e1e0)
  • ब्रेकिंग बदलाव: PointerइनपुटFilter.onPointerEvent(...) से रिटर्न वैल्यू हटा दी गई है. यह देखते हुए कि पॉइंटर इवेंट में, सिर्फ़ इस्तेमाल से जुड़ा डेटा ही बदला जा सकता है. PointerइनपुटFilter.onPointerEvent(...) से डेटा लौटाने के बजाय, अब आप सिर्फ़ पास किए गए PointerEvents के खपत डेटा को बदल सकते हैं. (I6acd0)
  • चुनने के मेन्यू में SelectAll विकल्प जोड़ा गया (Ief02b)

वर्शन 1.0.0-alpha05

14 अक्टूबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha05, androidx.compose.foundation:foundation-layout:1.0.0-alpha05, और androidx.compose.foundation:foundation-text:1.0.0-alpha05 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha05 में ये कमियां हैं.

एपीआई में बदलाव

  • CoreTextField अब कर्सर की सुविधा (Id23aa) के साथ काम करता है
  • contentColor() और currentTextStyle() एपीआई को बंद करता है. साथ ही, इन्हें AmbientContentColor और AmbientTextStyle एंबिएंट से बदल देता है. किसी भी दूसरे ऐंबियंट की तरह, ऐंबियंट प्रॉपर्टी पर .current का इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव इसलिए किया गया था, ताकि एक जैसा काम करने के साथ-साथ एक ही काम करने के कई तरीकों से बचा जा सके. इसके अलावा, यह कुछ ऐंबियंट प्रॉपर्टी के नाम बदल देता है, ताकि उनके मकसद को इस तरह समझा जा सके:

    • ContentColorAmbient -> ऐंबियंट कॉन्टेंट कलर
    • टेक्स्टस्टाइल ऐंबियंट -> ऐंबियंटटेक्स्ट स्टाइल
    • इंडिकेटर ऐंबियंट -> ऐंबियंटइंडिकेशन
    • प्रमुखता से दिखाएं -> ऐंबियंटएसिसलेवल
    • रिपलथीमएम्बिएंट -> AmbientRippleTheme (I37b6d)

गड़बड़ियां ठीक की गईं

  • मानक तय करने के हिस्से के तौर पर , तो इनलाइन क्लास के लिए सेंटिनल वैल्यू रंग का नाम बदलें.रंग को अनसेट करें.इसकी जानकारी नहीं है अन्य इनलाइन क्लास (I97611, b/169797763) के साथ समानता के लिए
  • कॉपी करें/चिपकाएं/कट करें सुलभता कार्रवाइयां जोड़ी गईं (I6db4f)
  • TextOverflow.कोई जानकारी नहीं दी गई है. जब ओवरफ़्लो कोई नहीं होता है, तो टेक्स्ट ओवरफ़्लो को हैंडल नहीं करेगा और यह LayoutNode को अपने असली आकार की रिपोर्ट करेगा. (I175c9, b/158830170)
  • साइज़ अपडेट किया गया.इसके बारे में जानकारी नहीं है पैरामीटर के बजाय Flood.NaN होना चाहिए Flood.POSITIVE_INFINITY. Painter को लागू करने की सेटिंग को यहां अपडेट किया गया साइज़ की भी जांच करें.साथ ही, तय नहीं है छोटे साइज़ के तौर पर. (I95a7e)
  • पेजिंग कंपोज़ मॉड्यूल और पेजिंग इंटिग्रेशन जोड़ा गया (Ib85da)
  • शून्य वाली वैल्यू (I1765b) पाने के लिए, LazyListScope में बदलाव करें
  • OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier किया गया और onPositioned() का नाम बदलकर, onGloballyPositioned() कर दिया जाता है. (I587e8, b/169083903)
  • LazyColumn/Row (Idc16d) के लिए सैंपल जोड़े गए
  • खाली सूची (I06647) को अनुमति देने के लिए, आइटम और itemsIndex किए गए तरीकों की गड़बड़ी ठीक करें
  • इंस्पेक्टर की जानकारी देने के लिए डीएसएल जोड़ें (Ic9a22)
  • लाॅन्ग प्रेस को टेक्स्ट में ले जाएँ. (Iff2bc)
  • टेक्स्ट और डेमो मोड में चुनने की सुविधा बंद करें. (Ie7e97)
  • सुलभता के लिए, AnnotatedString से SpannableString में बदलने की सुविधा का इस्तेमाल करना. (Ief907)
  • PointerInputFilter.onPointerInput(...) को हटा दिया गया है. इसकी जगह PointerInputFilter.onPointerEvent(...) का इस्तेमाल किया जाना चाहिए. (I6f04a)

वर्शन 1.0.0-alpha04

1 अक्टूबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha04, androidx.compose.foundation:foundation-layout:1.0.0-alpha04, और androidx.compose.foundation:foundation-text:1.0.0-alpha04 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha04 में ये कमियां हैं.

एपीआई में बदलाव

  • स्टैक का नाम बदलकर Box किया गया. create.foundation.layout में, नए Box की जगह, पहले से मौजूद फ़ाउंडेशन.Box की जगह को हटा दिया जाएगा. नए Box का तरीका यह है कि एक से ज़्यादा बच्चे होने पर, बच्चों को एक के ऊपर एक स्टैक किया जाए - यह पिछले Box से अलग है, जो कॉलम की तरह व्यवहार कर रहा था. (I94893, b/167680279)
  • बॉक्स डेकोरेशन पैरामीटर अब काम नहीं करते. अगर आपको अपने बॉक्स पर सजावट/पैडिंग की सुविधा चाहिए, तो इसके बजाय मॉडिफ़ायर का इस्तेमाल करें (Modifier.background, Modifier.background, Modifier.जगह) (Ibae92, b/167680279)
  • नई LaZListState क्लास जोड़ें. इससे स्क्रोल पोज़िशन की निगरानी और कंट्रोल की जा सकती है LazyRow और LazyColumn के कॉम्पोनेंट. इसका इस्तेमाल करके इंस्टेंस बनाए जा सकते हैं RememberLazyListState() और उसके स्टेट पैरामीटर में पास की गई कॉम्पोनेंट. फ़िलहाल, सबसे पहले दिखने वाले आइटम और ऑफ़सेट ये हो सकते हैं इस शुरुआती वर्शन में देखा गया है. (Ic7cb7, b/159307669)
  • लेज़ी लिस्ट पोज़िशन और स्क्रोल ऑफ़सेट को अब सेव किया जाता है और मनोरंजन की सभी गतिविधियों का डेटा वापस लाया गया (Ie045f, b/166589058)
  • लंबी क्लिक वाली सिमैंटिक कार्रवाई जोड़ें (I6281b, b/156468846)
  • म्यूटेटर म्यूटर यूटिलिटी को इसका एक म्यूटेटर रखने के लिए जोड़ा गया समय के साथ एक जैसी स्थिति और प्राथमिकता के हिसाब से विरोधी म्यूटर को रद्द करना (I3f975)
  • एनोटेट किया गया रूटAnimationClockफ़ैक्ट्री, trafficsEnabled, blinkingCursorEnabled और textinputServiceFunction को @VisibleForTesting, ऐप्लिकेशन को इंटरनल एपीआई बनाएं और उसके kdoc (I554eb, b/168308412) को छिपाएं
  • स्ट्रिंग इनपुट वाले टेक्स्ट से inlineContent पैरामीटर हटाया गया. इसका इस्तेमाल नहीं किया जाएगा, क्योंकि इनलाइन कॉन्टेंट को AnnotatedString के साथ काम करना ज़रूरी है. (Ief403)
  • बंद किए गए कस्टम अरेंजमेंट एपीआई हटा दिए गए हैं. (Ic576d, b/168297922, b/168297923)
  • unbounded पैरामीटर को wrapContentSize मॉडिफ़ायर में जोड़ा गया. इससे, इनफ़ाइनाइट मैक्स कंस्ट्रेंट के साथ लेआउट एलिमेंट को मेज़र करने की सुविधा चालू होती है. (I77951, b/158559319)
  • हमने लेआउट स्कोप के कॉन्टेंट को स्टैटिक तरीके से इंपोर्ट करने से रोका है. उदाहरण के लिए, RowScope में अलाइनमेंट को एक जगह से दूसरी जगह भेजा जाता है. इसके बजाय, साफ़ तौर पर स्कोप वाले विकल्प का इस्तेमाल किया जाना चाहिए: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

गड़बड़ियां ठीक की गईं

  • कई Graphics API को अपडेट किया गया
    • अपडेट किया गया स्केल और रोटेशन एक ही डेटा का इस्तेमाल करने के लिए ट्रांसफ़ॉर्मेशन एपीआई पिवट दिखाने के लिए ऑफ़सेट पैरामीटर अलग फ़्लोट के बजाय निर्देशांक x/y निर्देशांक के लिए पैरामीटर DrawScope और DrawTransform
    • Rect.expandToInclude और Rect.join को हटाया गया तरीका
    • ओवल दिखाने के लिए, रेडियस के दस्तावेज़ अपडेट किए गए एलिप्टिकल ट्रेनर के अलावा
    • यह जानकारी देने के लिए दस्तावेज़ जोड़े गए इनलाइन रेडियस के लिए सार्वजनिक कंस्ट्रक्टर class का इस्तेमाल सीधे तौर पर नहीं किया जाना चाहिए. इसके बजाय, इसे सीधे कॉल किया जाना चाहिए दायरा वाले ऑब्जेक्ट के ज़रिए इंस्टैंशिएट किया जाना चाहिए उनके फ़ंक्शन कंस्ट्रक्टर
    • टॉपराइट की क्वेरी करने के लिए, राउंडआरेक्ट एपीआई हटाया गया, बॉटमराइट, बॉटमसेंटर वगैरह.
    • Rect.translate के पक्ष में Rect.shift को रोक दिया गया
    • OutlineRect.grow और Rect.shrink एपीआई हटाए गए
    • राउंडRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
    • राउंडआरेक्ट.मिडिलरेक्ट/tallMiddleRect/wideMiddleRect को हटाया गया और Rect.isStadium तरीके
    • राउंडRect.longestSide का नाम बदलकर राउंडRect.max जबकि किया गया
    • इसका नाम राउंडRect.shortestSide से बदलकर राउंडआरेक्ट.मिनिएशन किया गया
    • ScoreRect.center को फ़ंक्शन के बजाय प्रॉपर्टी में बदला गया
    • रेडियस प्रॉपर्टी का इस्तेमाल करने के लिए, राउंडआररेक्टर को अपडेट किया गया x/y दायरे के मानों के लिए अलग-अलग पैरामीटर के बजाय
    • साइज़ एपीआई हटाए गए, जो यह मानते थे कि यह एक रेक्टैंगल है 0,0 पर मूल
    • रेडियस में नुकसान पहुंचाने वाला एपीआई जोड़ा गया
    • कई राउंड-आरेक्ट एक्सटेंशन फ़ंक्शन को माइग्रेट किया गया इसके बजाय प्रॉपर्टी
    • (I8f5c7, b/168762961)
  • हर स्क्रोल के दौरान ग़ैर-ज़रूरी बदलाव न करके, LazyColumnFor/LazyRowFor स्क्रोलिंग के लिए परफ़ॉर्मेंस ऑप्टिमाइज़ेशन (I64f65, b/168293643, b/167972292, b/165028371)
  • स्क्रोल करने के बाद आइटम को बदलने और आइटम को बदलने के बाद, अपने-आप स्क्रोल होने की सुविधा लागू की गई. इससे, अब हम आखिर में (I220ab, b/161480164, b/167855468) के दौरान कोई खाली जगह नहीं दिखाते हैं.
  • अब ScrollableContainer और LazyColumnFor जैसे समान दिशा वाले कंटेनर में नेस्ट किए जा सकने वाले नेस्ट करने की अनुमति नहीं है. यह सुविधा कभी काम नहीं करती थी. साथ ही, यह LazyColumnFor (I6e101) के आइटम कंपोज़ करने की आलसी और फ़्लिंग को कम कर रहा था
  • कई Graphics API को अपडेट किया गया
    • स्कोप वाले DrawScope के एपीआई अपडेट किए गए बदलाव के तरीकों से पता चलता है कि ट्रांसफ़ॉर्मेशन ऐक्शन सिर्फ़ कॉलबैक किया जाता है और कॉलबैक शुरू होने के बाद हटा दिया जाता है
    • पाथ के बारे में बताने के लिए,ClipPath से जुड़ा दस्तावेज़ अपडेट किया गया राउंडेड रेक्टैंगल के बजाय
    • सही पैरामीटर के लिए, दस्तावेज़ में तय की गई स्पेसिंग क्लिप में है
    • DrawScope.drawCanvas का नाम बदलकर,draIntoCanvas और साइज़ पैरामीटर हटाया गया
    • इनसेट तरीके में dx/dy पैरामीटर का नाम बदलकर यह किया गया हॉरिज़ॉन्टल और वर्टिकल
    • इनसेट ओवरलोड जोड़ा गया, जो एक जैसा काम करता है सभी चार सीमाओं के लिए इनसेट वैल्यू
    • इनसेट तरीके से जुड़े दस्तावेज़ हटाए गए जो दिखाते हैं वह इनसेट सभी चारों तरफ़ लागू होगा
    • Rect क्लास के लिए अपडेट किए गए दस्तावेज़
    • kdoc से मेल खाने के लिए, Rect पैरामीटर पर की गई टिप्पणियों को अपडेट किया गया स्टाइल
    • Rect.join और Rect.expandToInclude को हटाया गया
    • Rect.translate(offset) के लिए ओवरलोड बनाया गया और Rect.shift अब काम नहीं करता
    • (If086a, b/167737376)
  • सिमैंटिक प्रॉपर्टी में Accessibility ScrollState जोड़ें. (Ifeda9)
  • ऑब्जेक्ट बनाने से बचने के लिए, TextRange इनलाइन बनाएं. (Id034b)
  • पैराग्राफ़ कंस्ट्रेंट हटा दिया गया है. अब चौड़ाई सीधे पैराग्राफ़ को पास कर दी जाती है. (Ica712)

वर्शन 1.0.0-alpha03

16 सितंबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha03, androidx.compose.foundation:foundation-layout:1.0.0-alpha03, और androidx.compose.foundation:foundation-text:1.0.0-alpha03 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha03 में ये कमियां हैं.

एपीआई में बदलाव

  • इनरपैडिंग का नाम बदलकर PendingValues कर दिया गया है. (I195f1, b/167389171)
  • लेआउट एपीआई में अलाइन या अलाइन करने के लिए, गुरुत्वाकर्षण के इस्तेमाल के नाम लगातार बदले गए. (I2421a, b/164077038)
  • स्टैक में एक अलाइनमेंट पैरामीटर जोड़ा गया. इसकी मदद से, सभी स्टैक चिल्ड्रेन के लिए डिफ़ॉल्ट अलाइनमेंट तय किया जा सकता है. (Ie80ca, b/164085265)

गड़बड़ियां ठीक की गईं

  • इसका इस्तेमाल करने वाले DpConstraints और एपीआई अब काम नहीं करते. (I90cdb, b/167389835)
  • widthIn में से minWidth और maxWidth पैरामीटर का नाम बदलकर, min और max कर दिया गया. इसी तरह preferredWidthIn, heightIn, preferredHeightIn के लिए. (I0e5e1, b/167389544)
  • ComposeTestRule पर onNode और अन्य ग्लोबल तरीके इस तौर पर जोड़े गए हैं दुनिया भर में इस्तेमाल होने वाली टेक्नोलॉजी बंद कर दी जाएंगी. (Ieae36)
  • इसके लिए, जेस्चरScope में साइज़ और पोज़िशन की कैलकुलेशन को ठीक किया जाता है, अमान्य स्वाइप जेस्चर के जनरेट होने की वजह से (Iaf358, b/166589947)
  • createAndroidComposeRule और AndroidInputDispatcher को यहां से ले जाया गया androidx.ui.test.android से androidx.ui.test (Idef08, b/164060572)

वर्शन 1.0.0-alpha02

2 सितंबर, 2020

androidx.compose.foundation:foundation:1.0.0-alpha02, androidx.compose.foundation:foundation-layout:1.0.0-alpha02, और androidx.compose.foundation:foundation-text:1.0.0-alpha02 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha02 में ये कमियां हैं.

गड़बड़ियां ठीक की गईं

  • TestUiDispatcher को प्रयोग के तौर पर मार्क किया गया है (Iae99d, b/161247083)
  • ManualFrameClock.hasAwaiters को यह देखने के लिए जोड़ा कि क्या कुछ ऐसा है उस घड़ी के फ़्रेम का इंतज़ार करना; इसकी जगह runWithManualClock को चुना गया runBlocking के लिए जब ऐसे टेस्ट चलाए जा रहे हों जिन्हें मैन्युअलFrameClock की ज़रूरत होती है; TestUiDispatcher.Main जो मुख्य यूज़र इंटरफ़ेस (यूआई) डिस्पैचर को आसानी से ऐक्सेस देता है का इस्तेमाल किया जा सकता है.

    उदाहरण के लिए:

    @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)

वर्शन 1.0.0-alpha01

26 अगस्त, 2020

androidx.compose.foundation:foundation:1.0.0-alpha01, androidx.compose.foundation:foundation-layout:1.0.0-alpha01, और androidx.compose.foundation:foundation-text:1.0.0-alpha01 रिलीज़ हुए हैं. वर्शन 1.0.0-alpha01 में ये कमियां हैं.

वर्शन 0.1.0-dev

वर्शन 0.1.0-dev17

19 अगस्त, 2020

androidx.compose.foundation:foundation:0.1.0-dev17, androidx.compose.foundation:foundation-layout:0.1.0-dev17, और androidx.compose.foundation:foundation-text:0.1.0-dev17 रिलीज़ हुए हैं. वर्शन 0.1.0-dev17 में ये कमियां शामिल हैं.

एपीआई में बदलाव

  • पंक्ति और कॉलम के लिए spacedBy अरेंजमेंट जोड़ा गया, ताकि तय स्पेसिंग वाले लेआउट चिल्ड्रेन की पोज़िशनिंग की जा सके. अलाइन किए गए अरेंजमेंट को भी जोड़ा जाता है, ताकि पोज़िशनिंग लेआउट चाइल्ड खाते को एक-एक करके चालू किया जा सके. साथ ही, अलाइनमेंट के हिसाब से लाइन/कॉलम में अलाइन की जा सके. पिछली Termsment.Vertical#organize और वजहें, हॉरिज़ॉन्टल#चीज़ करने की सुविधा इस्तेमाल नहीं की जा सकेंगी, और आने वाले समय में कस्टम अरेंजमेंट लिखने की सुविधा काम नहीं करेगी. (I6733d, b/161985975)
  • ऑफ़सेट एक इनलाइन क्लास (Iaec70) बन गया है
  • TextField से onFocusChanged कॉलबैक को हटाया गया. इसके बजाय, Modifier.focusObserver का इस्तेमाल करें. (I51089, b/161297615)
  • Modifier.drawBorder की सुविधा अब काम नहीं करती. इसके बजाय, Modifier.background का इस्तेमाल करें. बॉर्डर डेटा क्लास को BorderStroke से बदल दिया गया है (I4257d, b/158160576)
  • वर्टिकल स्क्रोलर और हॉरिज़ॉन्टलस्क्रोलर को हटा दिया गया है. इसके बजाय, Scrollableकॉलम/पंक्ति का इस्तेमाल करें. Modifier.drawBackground को हटा दिया गया है. Modifier.background (I73b0d, b/163019183) का इस्तेमाल करें
  • LazyItemScope से ऐसे मॉडिफ़ायर को हटाने की सुविधा हटाएं जो अब काम नहीं करता है* मॉडिफ़ायर
  • DSL (I93cc6) के तौर पर, LazyColumn/LazyRow लागू करने की सुविधा जोड़ी गई
  • कंस्ट्रेंट अब एक इनलाइन क्लास है (I88736)
  • उपलब्ध स्पेस के कुछ हिस्से में लेआउट को साइज़ देने की सुविधा जोड़ी गई है. इसके लिए, FillMaxwidth, insertMaxH यहां, और FishMaxSize मॉडिफ़ायर का इस्तेमाल करना होगा. (I945bb, b/161562591)

गड़बड़ियां ठीक की गईं

  • SelectContainer में एक कार्रवाई बदलने वाला पैरामीटर जोड़ा गया (I4aada, b/161487952)
  • SemanticsFamilyKey में मर्ज नीति lambda को जोड़ा गया. यह काम किया जा सकता है इसका इस्तेमाल,MergeAllDescendants सिमैंटिक के लिए कस्टम नीति तय करने के लिए किया जाता है मर्ज करना. अगर पहले से ही पैरंट वैल्यू मौजूद है, तो डिफ़ॉल्ट नीति यह है कि पैरंट वैल्यू का इस्तेमाल किया जाए मौजूद है, नहीं तो चाइल्ड वैल्यू. (Iaf6c4, b/161979921)
  • PlacementScope.placeAbsolute() का नाम बदलकर PlacementScope.place() कर दिया गया था. साथ ही, पिछले PlacementScope.place() का नाम बदलकर PlacementScope.placeRelative() कर दिया गया था. इस वजह से, PlacementScope.place() तरीका अब अपने-आप दाएं-से-बाएं कॉन्टेक्स्ट में पोज़िशन को शेयर नहीं करेगा. अगर यह ज़रूरी है, तो PlacementScope.placeRelative() का इस्तेमाल करें. (I873ac, b/162916675)
  • ऐसे FilledTextField कॉम्पोनेंट को हटाया गया जो अब काम नहीं करता. भरे हुए टेक्स्ट फ़ील्ड का मटीरियल डिज़ाइन लागू करने के लिए, कृपया TextField का इस्तेमाल करें. (I5e889)
  • लीनियरप्रोग्रेसइंडिकेटर में backgroundColor पैरामीटर जोड़ा गया और CircularPro चुनौतियोंIndicator से, इंटरनल पैडिंग को हटा दिया गया. प्रोग्रेस दिखाने वाले संकेत देने के लिए नया समय जोड़ा गया.DefaultProग्रेसAnimationspec जोड़ा गया. इसका इस्तेमाल, वैल्यू (If38b5, b/161809914, b/161804677) के बीच की प्रोग्रेस को ऐनिमेट करते समय, डिफ़ॉल्ट ऐनिमेशनस्पेक के तौर पर किया जा सकता है
  • state { ... } कंपोज़ेबल को अब इसका इस्तेमाल करके रोक दिया गया है साफ़ तौर पर जानकारी देने के लिए, remember { mutableStateOf(...) } पर अश्लील कॉल किया गया हो. इससे, राज्य के लिए एपीआई प्लैटफ़ॉर्म और कॉन्सेप्ट की संख्या कम हो जाती है और क्लास के लिए by mutableStateOf() पैटर्न से मेल खाता है प्रॉपर्टी सौंपना. (Ia5727)
  • RRect का नाम बदलकर राउंडआरेक्ट किया गया नाम रखने के पैटर्न को बेहतर तरीके से फ़िट करने के लिए मिलते-जुलते फ़ंक्शन कंस्ट्रक्टर बनाए गए RRect और नामंजूर RRect फ़ंक्शन कंस्ट्रक्टर (I5d325)
  • onCHILDPositioned और OnChildPositionedModifier को हटाया गया. डेवलपर को onPositioned और OnPositionedModifier का इस्तेमाल करना चाहिए चाइल्ड लेआउट पर स्विच कर सकते हैं. (I4522e, b/162109766)
  • IntSize अब एक इनलाइन क्लास (I2bf42) है
  • बदलाव करने के लिए, खाली जगह को दबाकर रखें. (Ib1e5b)
  • टेक्स्ट पर टैप करने के बाद फ़्लोटिंग टूलबार छिपाएं. (If4525)
  • चुने गए को अपडेट करते समय फ़्लोटिंग टूलबार छिपाएं. (I8444c)
  • 'धुंधला करें' सेटिंग से चुने हुए का निशान हटाएं. (I781a2)

वर्शन 0.1.0-dev16

5 अगस्त, 2020

androidx.compose.foundation:foundation:0.1.0-dev16, androidx.compose.foundation:foundation-layout:0.1.0-dev16, और androidx.compose.foundation:foundation-text:0.1.0-dev16 रिलीज़ हुए हैं. वर्शन 0.1.0-dev16 में ये कमियां शामिल हैं.

एपीआई में बदलाव

  • लेज़ी सूचियों के itemContent पैरामीटर के लिए, LazyItemScope को जोड़ा गया था. यह पैरंट के सबसे बड़े साइज़ को भरने के लिए मॉडिफ़ायर उपलब्ध कराता है. इससे इस्तेमाल का उदाहरण उस समय हल हो जाता है जब आइटम को व्यूपोर्ट में भरना होता है. साथ ही, सामान्य Modifier.fillMaxSize() काम नहीं करता है, क्योंकि आइटम को इनफ़िनिटी कंस्ट्रेंट के साथ मेज़र किया जाता है. (Ibd3b2, b/162248854)
  • डायलॉग को ui (I47fa6) में ले जाएं
  • LaZColumnForIndexed/LazyRowForIndexed - LazyColumnFor/LazyRowFor का वर्शन, जिसमें आइटम कॉलबैक में इंडेक्स और आइटम, दोनों मिलते हैं. मौजूदा आइटम के अलावा, मौजूदा इंडेक्स को जानने की ज़रूरत होने पर यह उपयोगी होता है. (I65ff3)
  • Modifier.deternimateProways का नाम बदलकर Modifier.progressSemantics (I9c0b4) कर दिया गया है
  • LazyColumnITEMS का नाम बदलकर, LazyColumnFor कर दिया गया. Laज़ीRowआइटम का नाम बदलकर LazyRowFor (I84f84) कर दिया गया
  • सबसे सही तरीके के लिए, कुछ मार्क/एनोटेशन जोड़ें. (I66b20)
  • Foundation.शेप.कॉर्नर पैकेज को Foundation.share (I46491, b/161887429) की तुलना में फ़्लैट कर दिया गया
  • LazyRow आइटम/LazyColumnआइटम के लिए isrossaxis ग्रैविटी पैरामीटर जोड़ा गया. LazyRowआइटम/LazyColumnITEMS में अब कॉन्टेंट रैप करने का तरीका काम करता है. (Ib39fc)
  • ZoomableState का नाम बदलकर ZoomableController कर दिया गया. smoothScale के लिए, कस्टम कर्व की सुविधा जोड़ी गई है. enabled और onZoomStarted सुविधा जोड़ दी गई है (If8b8f)
  • Material FilledTextField का नाम बदलकर TextField रखा गया है. साथ ही, बुनियादी TextField का नाम बदलकर BaseTextField रखा गया है, ताकि एपीआई को आसानी से खोजा और इस्तेमाल किया जा सके (Ia6242, b/155482676)
  • पहले काम न करने वाली AdapterList को हटा दिया गया है. इसके बजाय, LazyColumnआइटम का इस्तेमाल करें (I12b9b)
  • Modifier.drawbackground का नाम बदलकर Modifier.background (I13677) कर दिया गया है
  • पुराना ConstraintLayout DSL हटा दिया गया. ConstraintSet2 का नाम बदलकर, ConstraintSet किया गया. (If58d1, b/162450908)
  • Modifier.absoluteOffset() और Modifier.absoluteOffsetPx() को जोड़ा गया. ऑफ़सेट मॉडिफ़ायर के उलट, ऐब्सलूट ऑफ़सेट मॉडिफ़ायर, दाएं-से-बाएं कॉन्टेक्स्ट में अपने-आप मिरर नहीं होगा (I3aa21)
  • Row और Column अब काफ़ी हद तक इनलाइन फ़ंक्शन के साथ काम करते हैं कम से कम खर्च हो. (I75c10)

गड़बड़ियां ठीक की गईं

  • बेहतर एपीआई से जुड़ी समस्याओं को हल करें (I077bc)
    1. इस्तेमाल नहीं किया गया ऑफ़सेट बेस इंटरफ़ेस हटाएं
    2. ऑफ़सेट और IntOffset क्लास को अलाइन करना एक जैसा एपीआई प्लैटफ़ॉर्म
    3. IntOffset.Origin का नाम बदलकर IntOffset.Zero रखें ऑफ़सेट एपीआई के साथ काम करता रहेगा
    4. NativeCanvas को कैनवस से बाहर ले जाया गया इंटरफ़ेस का उपयोग करें, जिससे उपभोक्ताओं को कैनवस इंस्टेंस
    5. रीफ़ैक्टर करने के लिए, EmptyCanvas का स्टब बनाया गया इसके बजाय DrawScope का गैर-शून्य पैरामीटर होने के लिए Lateinit और यह पक्का करें कि फ़ील्ड के शून्य होने की संभावना न हो
    6. ClipOp के एनम का नाम बदलकर पास्कल केस किया गया
    7. फ़िल्टर क्वालिटी enum का नाम बदलकर पास्कल केस किया गया
    8. स्ट्रोक जॉइन एनम का नाम बदलकर पास्कल केस किया गया
    9. PointMode enum का नाम बदलकर पास्कल केस किया गया
    10. पेंटिंग स्टाइल एनम का नाम बदलकर पास्कल केस किया गया
    11. पाथFillType enum का नाम बदलकर पास्कल केस किया गया
    12. StrokeCap enum का नाम बदलकर पास्कल केस किया गया
    13. Drawकैश लागू करने की प्रोसेस को अब अपडेट नहीं किया गया है Letinit params का इस्तेमाल करें
    14. लेज़ी डेलिगेशन की सुविधा का इस्तेमाल बंद करने के लिए, DrawScope को अपडेट किया गया भराव
    15. Box के इस्तेमाल से बचने के लिए, इमेज कंपोज़ेबल को अपडेट किया गया कम खर्च में
    16. @Imम्यूटेबल एनोटेशन के लिए Outline क्लास को अपडेट किया गया
    17. पाथनोड को अपडेट किया गया, ताकि इसमें @Imम्यूटेबल एनोटेशन शामिल किए जा सकें हर पाथ के निर्देश
    18. अनावश्यक निकालने के लिए वेक्टर सबकंपोज़िशन अपडेट किया गया 'समानता' की स्थिति की जांच करना, जैसा कि कंपोज़ पहले से होता है उन्हें
    19. रेक्टैंगल कंपैनियन कंस्ट्रक्टर के तरीके के पक्ष में फ़ंक्शन कंस्ट्रक्टर का
    20. इसके साथ ब्रश क्लास और फ़ंक्शन कंस्ट्रक्टर अपडेट किए गए @Imम्यूटेबल और @Stable एपीआई
    21. VertexMode enum को PascalCase में अपडेट किया गया
    22. DrawScope SelectPaint तरीके को शर्तों के साथ अपडेट करने पर पेंट पर मौजूद स्ट्रोक पैरामीटर को ओवरराइट कर दें, अगर उनमें बदला गया
    23. deस्ट्रक्चरिंग एपीआई जोड़ने के लिए, साइज़ को अपडेट किया गया, नाम बदलें इस्तेमाल न किए गए तरीकों के हिसाब से तय नहीं किया गया साइज़ और इस्तेमाल न किए गए तरीकों को हटाना
  • MonotonicFrameAnimationClock जोड़ा गया, जो आपको इस अंतर को कम करने के लिए, ऐनिमेशनClockObservable के तौर पर MonotonicFrameClock कोरूटीन पर आधारित घड़ियों और एपीआई के बीच अपडेट किया जा रहा है, जो अब भी पुराने वर्शन का इस्तेमाल करते हैं कॉलबैक आधारित घड़ियां.

    मैन्युअल AnimationClock जैसा MonotonicFrameClock अब मैन्युअलFrameClock. (I111c7, b/161247083)

  • SemanticsNodeInteraction.performPartialGesture को हटा दिया गया है. इस्तेमाल की जाने वाली चीज़ें अगर आपके पास इन फ़ॉर्मैट की फ़ाइल नहीं है, तो SemanticsNodeInteraction.performGesture बटन का इस्तेमाल करें. (आईडी9b62)

  • SemanticsNodeInteraction.getBoundsInRoot() का नाम बदलकर यह किया SemanticsNodeInteraction.getUnclippedBoundsInRoot() (Icafdf, b/161336532)

  • दाएं से बाएं सहायता के लिए एपीआई अपडेट किए गए हैं. LayoutDirectionAmbient जोड़ा गया है, जिसका इस्तेमाल लेआउट की दिशा पढ़ने और बदलने के लिए किया जा सकता है. Modifier.rtl और Modifier.ltr को हटा दिया गया है. (I080b3)

  • Modifier.plus को बंद कर दिया गया है. इसके बजाय, Modifier.here का इस्तेमाल करें. 'फिर' यह ऑर्डर करने की प्रोसेस को बेहतर तरीके से दिखाता है. हालांकि, यह Modifier.padding().background() + anotherModifier टाइप करने पर भी पाबंदी लगाता है. इससे चेन टूट जाती है और पढ़ना मुश्किल हो जाता है (Iedd58, b/161529964)

  • isFocused() और isNotFocused() SemanticsMatcher जोड़ा गया. (I0b760)

  • RemeasurementModifier जोड़ा गया. इससे उपयोगकर्ता, लेआउट को फिर से सिंक कर सकते हैं. आम तौर पर, आपको इसकी ज़रूरत कभी नहीं पड़ती, क्योंकि फिर से मेज़रमेंट/रिलेआउट अपने-आप हो रहा होता है. हालांकि, हम स्क्रोल के दौरान इसका इस्तेमाल LazyColumnआइटम के अंदर करते हैं. (I5f331, b/160791058)

  • isSystemInDark थीम अब हमेशा, पूरे सिस्टम के लिए गहरे रंग वाली थीम की सेटिंग को ध्यान में रखती है. साथ ही, नए दिशा-निर्देशों के हिसाब से, सवाल से पहले बैटरी सेव करने की स्थिति को अनदेखा करती है. (I0c10c)

  • OnchildPositioned की सुविधा को बंद कर दिया गया है. OnPosition का इस्तेमाल करें बच्चे पर टैप करें. (I87f95, b/162109766)

  • निर्मित करने के लिए AndroidComposeTestRule का नाम बदला गया. (I70aaf)

  • TextLayoutLayout (I9d6e6) पाने के लिए, सुलभता से जुड़ी कार्रवाई जोड़ें

वर्शन 0.1.0-dev15

22 जुलाई, 2020

androidx.compose.foundation:foundation:0.1.0-dev15, androidx.compose.foundation:foundation-layout:0.1.0-dev15, और androidx.compose.foundation:foundation-text:0.1.0-dev15 रिलीज़ हुए हैं. वर्शन 0.1.0-dev15 में ये कमियां शामिल हैं.

'लिखें' विंडो का 0.1.0-dev15 वर्शन इस्तेमाल करने के लिए, आपको ये काम करने होंगे:

डिपेंडेंसी अपडेट

  • लिखें के 0.1.0-dev15 वर्शन का इस्तेमाल करने के लिए, आपको अपनी डिपेंडेंसी अपडेट करनी होगी दिए गए नए कोड स्निपेट के मुताबिक, ऊपर डिपेंडेंसी के बारे में एलान में बताया गया है.

एपीआई में बदलाव

  • ठीक इसी तरह, ScrollableColumn/scrollableRow LazyColumn मिटाना/LazyRow आइटम में मौजूद नए पैरामीटर में अब contentPadding पैरामीटर भी है. इसकी मदद से, कॉन्टेंट को क्लिप करने के बाद उसके लिए पैडिंग (जगह) जोड़ी जा सकती है. हालांकि, ऐसा सिर्फ़ मॉडिफ़ायर पैरामीटर से नहीं किया जा सकता. इससे, सिर्फ़ पहले आइटम के पहले/बाद में मौजूद स्पेस जोड़ने की सुविधा मिलती है. (Ibc24e)
  • टेक्स्ट फ़ील्ड में onFocusChange कॉलबैक का नाम onFocusChanged (Ida4a1) में बदला गया
  • वर्टिकल स्क्रोलर और हॉराइज़नॉल स्क्रोलर की सुविधा बंद कर दी गई है. कॉलम/पंक्ति के व्यवहार और पैरामीटर के साथ बिल्ड-इन अनुभव के लिए Scrollableकॉलम और ScrollableRow का इस्तेमाल करें या अपने खुद के एलीमेंट पर Modifier.verticalscroll और Modifier.हॉरिज़ॉन्टलंज़ का इस्तेमाल करें. इसी तरह, ScrollerPosition की जगह अब ScrollState के बजाय (I400ce, b/157225838, b/149460415, b/154105299)
  • Modifier.draggable और Modifier.scrollable एपीआई पर फिर से काम किया गया. झुकाव के पक्ष में DragonDirection को हटा दिया गया. स्क्रोल करने के लिए, दिए गए स्टेटस को आसान बनाया गया है. ScrollableState का नाम बदलकर ScrollableController (Iab63c, b/149460415) कर दिया गया है
  • सिंगल-वैल्यू वाली सिमैंटिक प्रॉपर्टी, अब कॉलिंग स्टाइल का इस्तेमाल करती हैं. उदाहरण के लिए, 'semantics {hidden = true }' अब इस रूप में लिखा जाता है: semantics { hidden() }. (Ic1afd, b/145951226, b/145955412)
  • गोल आकार वाले कॉर्नर शेप और CutCorner कसरत के लिए इस्तेमाल किए जाने वाले कॉर्नर साइज़, अब 50% (Id2340, b/160400213) से ज़्यादा हो सकते हैं
  • डिफ़ॉल्ट ContentScale बदली गई इमेज कंपोज़ेबल के लिए पैरामीटर अंदर से फ़िट तक. यह क्रम में किया गया था लोगों से जुड़ने के लिए, पेंटर, अगर लेआउट का साइज़ इससे बड़ा है मूल आकार में इमेज को आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बनाए रखने में मदद मिलती है. यह व्यवहार उम्मीदों से बेहतर मेल खाता है इमेज को तय साइज़ उपलब्ध कराने के लिए यह डिफ़ॉल्ट ऐक्शन पर असर नहीं डालता हो अगर सिर्फ़ मूल साइज़ का इस्तेमाल कंपोज़ेबल के साइज़ का पता लगा सकता है. (I40ae3, b/159838006)
  • टॉप लेवल एपीआई में, AssetBuilder के बजाय एनिमेशन स्पेस का इस्तेमाल करें के कॉन्सेप्ट को समझाने के लिए -इसके लिए lambda की ज़रूरत को हटाकर, ट्रांज़िशन DSL को बेहतर बनाएं ट्वीन (10-13 साल की वसंत) जैसे ऐनिमेशन स्पेक्स बनाना. इसके बजाय, वे यह लेते हैं किसी भी कंस्ट्रक्टर पैरामीटर को सीधे तौर पर पैरामीटर नहीं करना चाहिए. -ऐनिमेशन स्पेक्ट को इस्तेमाल करना अब और भी आसान बना दिया गया है बिल्डर पर निर्भर रहने के बजाय, कंस्ट्रक्टर -कीफ़्रेम और ट्वीन के लिए अवधि और देरी को इंटरसेप्शन करें. यह यह ग़ैर-ज़रूरी टाइप कास्ट और मेथड ओवरलोड को खत्म करता है ( और लंबे इंटरसेप्शन के साथ काम करते हैं. (Ica0b4)
  • क्लिक किए जा सकने वाले एलिमेंट को हटा दिया गया है. Modifier.clickable (I84bdf) का इस्तेमाल करें
  • LazyRowआइटम को जोड़ा गया - LazyColumnआइटम (Ibbcf7) का हॉरिज़ॉन्टल रूप से स्क्रोल करने वाला एनालॉग
  • लो लेवल स्टेटलेस ऐनिमेशन एपीआई लॉन्च किए गए. ये एपीआई (I63bf7)
  • androidx.ui.foundation.TextFieldValue और androidx.ui.input.EditorValue अब काम नहीं करता. टेक्स्ट फ़ील्ड, FilledTextField और CoreTextField कंपोज़ेबल, जो इनका इस्तेमाल करते हैं यह टाइप अब काम नहीं करता. कृपया इस्तेमाल करें इसके बजाय androidx.ui.input.TextFieldValue (I4066d, b/155211005)
  • IntPx के इस्तेमाल को Int. से बदला गया. IntPxPosition बदला गया IntOffset के साथ. IntPxSize को IntSize से बदला गया. (Ib7b44)
  • androidx.ui.foundation.shape.RectangleSize को हटाया गया; androidx.ui.graphics.Rectangle shape (I94939, b/154507984) का इस्तेमाल करें
  • सभी विज्ञापनों को एक साथ दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या साइज़ की जानकारी, मानकों के हिसाब से इसके बजाय साइज़ क्लास का इस्तेमाल करने पर का PxSize. इससे ये फ़ायदे मिलते हैं एक इनलाइन क्लास की मदद से, दिखाने के लिए 2 फ़्लोट वैल्यू को पैक करने के लिए चौड़ाई और ऊंचाई को फ़्लोट के तौर पर दिखाया गया है. (Ic0191)
  • सभी विज्ञापनों को एक साथ दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या पोज़िशनिंग की जानकारी, स्टैंडर्ड इसके बजाय ऑफ़सेट क्लास के इस्तेमाल पर का PxPosition. इससे ये फ़ायदे मिलते हैं एक इनलाइन क्लास की मदद से, x को दिखाने के लिए, 2 फ़्लोट वैल्यू को पैक करने के लिए और y ऑफ़सेट को फ़्लोट के रूप में दिखाया गया है. (I3ad98)
  • पिंच-टू-ज़ूम करने की सुविधा (Id5d63) के लिए, Modifier.zoomable को जोड़ा गया
  • टॉगल किया जा सकने वाला कॉम्पोनेंट अब काम नहीं करता. इसके बजाय, Modifier.toggleable का इस्तेमाल करें (I35220, b/157642842)
  • म्यूचुअलली एक्सक्लूज़िवसिटआइटम को बंद कर दिया गया है. इसके बजाय, Modifier.selectable का इस्तेमाल करें. (I02b47, b/157642842)
  • TestTag अब काम नहीं करता. इसके बजाय, Modifier.testTag का इस्तेमाल करें. (If5110, b/157173105)
  • टेक्स्ट में fontWeight पैरामीटर जोड़ता है, जो गलती से पहले जोड़ा नहीं गया (I56937)
  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I19d02) के लिए प्रिमिटिव टाइप
  • वर्टिकल स्क्रोलर अब बॉक्स से बाहर कॉलम उपलब्ध कराता है. हॉरिज़ॉन्टल स्क्रोलर अब लाइन को बॉक्स से बाहर दिखाता है. (Ieca5d, b/157020670)
  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (Iede0b) के लिए प्रिमिटिव टाइप
  • Modifier.indic को फ़ाउंडेशन पैकेज में जोड़ दिया गया है. इसका इस्तेमाल, उन एलिमेंट पर दबाने/खींचने/अन्य संकेत दिखाने के लिए करें जिनके साथ उपयोगकर्ता ने इंटरैक्ट किया है (I8425f, b/155287131)
  • अब वर्टिकल स्क्रोलर और हॉरिज़ॉन्टल स्क्रोलर की मदद से, रिवर्स स्क्रोलिंग की सुविधा स्क्रोलर पोज़िशन (I953bd) पर सेट की गई है: रिवर्स स्क्रोलिंग
  • यह कंपोज़ेबल को टेक्स्ट के लेआउट में जोड़ने की सुविधा देता है. (I1373c)
  • सभी के लिए CanvasScope की सेवाएं लागू करना इसलिए, अब सिर्फ़ DrawScope और कॉन्टेंट ड्रॉ का दायरा CanvasScope का नाम बदलकर DrawScope. डेंसिटी को लागू करने के लिए, DrawScope को अपडेट किया गया का इंटरफ़ेस देखें और LayoutDirection मुहैया कराएं ContentDrawScope में DrawScope सब-क्लास को मिटाने की सुविधा Painter और PainterModifier अपडेट कर दी गई हैं आरटीएल प्रॉपर्टी का रखरखाव नहीं किया जाएगा क्योंकि DrawScope पहले से ही यह मैन्युअल तरीके से दिए बिना (I1798e)
  • ऐसे Drawबैकग्राउंड को हटाया गया जो अब काम नहीं करता आरेखण बैकग्राउंड एक्सटेंशन के लिए एपीआई संशोधक पर API. रीफ़ैक्टरिंग रंग, ब्रश, और पेंट ड्रॉबैकग्राउंड इसे लागू करने से, कोड पाथ भी कम हो जाते हैं को मॉडिफ़ायर बनाने के लिए उसे हटाना ज़रूरी है कंपोज़िशन के हिस्से के तौर पर शामिल हैं. (I0343a)
  • हायर लेवल अपडेट किया गया ऐसे एपीआई जो कैनवस को अनुमति देते हैं इसके बजाय, CanvasScope का डेटा दिखाएं. यह हटा देता है इसलिए, उपभोक्ताओं को अपने Paint ऑब्जेक्ट. उन उपभोक्ताओं के लिए जो अब भी कैनवस का ऐक्सेस चाहिए वे आरेखण कैनवास एक्सटेंशन का इस्तेमाल कर सकते हैं वह तरीका जो समस्या के लिए कॉलबैक उपलब्ध कराता है ड्रॉइंग कमांड को कैनवस. (I80afd)
  • हॉरिज़ॉन्टल स्क्रोलर और वर्टिकल स्क्रोलर, सेव की गई इंस्टेंस स्थिति का इस्तेमाल करके अपनी स्क्रोल पोज़िशन को पहले जैसा नहीं करता. (Ia0fae, b/155075048)
  • फ़ोकस मैनेजरAmbient को हटा दिया गया है. फ़ोकस पाने के लिए, FocusModifier.requestFocus का इस्तेमाल करें. (Ic4826)
  • टेबल के लेआउट को कुछ समय के लिए हटा दिया गया था. ऐसा तब तक हुआ, जब तक हम रीफ़्रेश किए गए एपीआई के साथ इसे फिर से उपलब्ध नहीं कराते. (Id88a7)
  • एक ऐसा CanvasScope API बनाया गया, जिसमें एक क्वेरी के तौर पर कैनवस ऑब्जेक्ट, एक स्टेटलेस, डिक्लेरेटिव टोन को दिखाता है ड्रॉइंग एपीआई सरफ़ेस. ट्रांसफ़ॉर्मेशन ऐक्शन शामिल हैं रिसीवर के लिए, अलग-अलग स्कोप और साइज़ की जानकारी भी मिलती-जुलती इनसेट सीमाओं तक सीमित है. उपभोक्ता को अपने पेंट की स्थिति खुद बनाए रखने की ज़रूरत नहीं पड़ती ऑब्जेक्ट है.

    CanvasScopeSample और साथ ही जोड़ा गया डिक्लेरेटिव ग्राफ़िक शामिल करने के लिए, डेमो ऐप्लिकेशन को अपडेट किया गया डेमो (Ifd86d)

  • ColoredRect को हटा दिया गया है. उपयोगकर्ता बॉक्स, जिसमें इसके बजाय दर की जानकारी देने वाली सुविधा मौजूद है (I983c7, b/152753731)

  • TextField (I6e33f) में कर्सर का रंग पसंद के मुताबिक बनाना जोड़ें

  • अब सॉफ़्टवेयर कीबोर्ड को छिपाने/दिखाने के लिए, अब सॉफ़्टवेयर कीबोर्ड कंट्रोलर, जो onTextइनपुटStarted के ज़रिए डिलीवर किया जाता है कॉलबैक (I8dc44, b/151860051)

  • TextField के साथ इस्तेमाल की जाने वाली TextFieldValue अब इस तरह से इस्तेमाल किए जाने पर गतिविधि मनोरंजन में बनी रह सकती है: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • Text() में आम तौर पर इस्तेमाल होने वाले पैरामीटर जोड़ता है. अगर Text(style = TextStyle(textAlign = TextAlign.Center)) जैसे इन पैरामीटर को पास करने के लिए, फ़िलहाल कोई लोकल टेक्स्ट स्टाइल बनाया जा रहा है, तो अब सिर्फ़ पैरामीटर को सीधे तौर पर उपलब्ध कराया जा सकता है: Text(textAlign = TextAlign.Center) (I82768)

  • CoreTextField/TextField फ़ोकस आइडेंटिफ़ायर बदला गया फ़ोकस सबसिस्टम के साथ इंटिग्रेट करने के लिए फ़ोकस-नोड के साथ पैरामीटर. (I7ea48)

  • TextField अपडेट - हॉरिज़ॉन्टल डाइमेंशन में यह इसे दी गई सभी उपलब्ध जगह का इस्तेमाल करेगा (Ib08df, b/154638552)

  • इंटरैक्शन स्टेट और इंटरैक्शन जोड़ा गया. इसकी मदद से ऐसे कॉम्पोनेंट बनाने में आसानी होती है जो यूज़र इंटरफ़ेस (यूआई) की स्थिति में होने वाले बदलावों पर प्रतिक्रिया देते हैं, जैसे कि प्रेस और ड्रैग (Icfe25, b/152525426)

  • रेक्टैंगल शेप को androidx.ui.foundation.shape.* से androidx.ui.graphics में ले जाया गया.* (Ia74d5, b/154507984)

  • एपीआई में शून्य रंग वाले सभी इस्तेमाल को इससे बदला गया अमान्य हो सकता है. साथ ही, शून्य के बजाय Color.Unset का इस्तेमाल करें (Iavaa7)

  • TextField API अपडेट - पैरामीटर(I66cd3) के साथ एक onFocusChange (बूलियन) कॉलबैक में onFocus और onBlur कॉलबैक को मर्ज किया गया है

  • ScaleFit का नाम बदलकर ContentScale किया गया ContentScale को यूज़र इंटरफ़ेस (यूआई-ग्राफ़िक) से यूज़र इंटरफ़ेस (यूआई-कोर) पर ले जाया गया अलाइनमेंट के जैसे मॉड्यूल में लाइव होने के लिए मॉड्यूल एपीआई. FullMaxडाइमेंशन का नाम बदलकर क्रॉप किया गया FillMinडाइमेंशन का नाम बदलकर 'फ़िट' किया गया बेहतर मैच के लिए, इसका नाम बदलकर 'अंदरूनी' कर दिया गया है ImageView.ScaleType के समतुल्य जोड़ा गया ऐसा दस्तावेज़ जिससे पता चलता है कि क्रॉप और लइनमेंट.केंद्र से एक ही नतीजा मिलता है ImageView.ScaleType.CENTER_CROP और Fit के तौर पर अलाइनमेंट.केंद्र के साथ इस्तेमाल करने पर वैसा ही नतीजा मिलता है जैसे ImageView.ScaleType.FIT_CENTER alignment.Center के साथ इस्तेमाल किए गए अंदर से यही नतीजा मिलता है ImageView.ScaleType.CENTER_INSIDE (I45f09, b/152842521) के तौर पर नतीजा

  • इससे ProtectContentColor हटा दिया जाता है. इसके बजाय, Providers (Iee942) के साथ सीधे ContentColorAmbient का इस्तेमाल करें

  • टेक्स्ट में रंग पैरामीटर जोड़ता है. इससे, किसी थीम में दिए गए स्टाइल के साथ मैन्युअल रूप से मर्ज किए बिना, टेक्स्ट की स्टाइल में रंग बदलने की सुविधा मिलती है. (I41a66)

  • DrawModifier एपीआई को बेहतर बनाएं:

    • आरेखण() ContentDrawScope के लिए पाने वाले का स्कोप बनाया गया
    • आरेखण() पर सभी पैरामीटर हटाए गए
    • DrawScope का इंटरफ़ेस पुराने CanvasScope जैसा ही है
    • ContentDrawScope मेंDrawContent() तरीका (Ibaced, b/152919067) है
  • ColoredRect को बंद कर दिया गया है. इसके बजाय, Box(Modifier.preferredSize(width, height).drawBackground(color)) का इस्तेमाल करें. (I499fa, b/152753731)

  • आकार की थीम बनाने का सिस्टम, मटीरियल डिज़ाइन स्पेसिफ़िकेशन के मुताबिक अपडेट किया गया है. अब छोटे, मीडियम, और बड़े आकार उपलब्ध कराए जा सकते हैं, ताकि ज़्यादातर कॉम्पोनेंट में इनका इस्तेमाल किया जा सके (Ifb4d1)

  • मॉडिफ़ायर प्लस ऑपरेटर को फ़ैक्ट्री एक्सटेंशन फ़ंक्शन (I225e4) से बदला गया

  • खींचने और छोड़ने लायक को कार्रवाई बदलने वाली सूची में ले जाया गया (Id9b16, b/151959544)

  • Text को androidx.ui.core से androidx.ui.foundation पैकेज में ले जाया गया. (I87ce5)

  • चेकबॉक्स, Switch, और टॉगल में enabled पैरामीटर जोड़ें (I41c16)

  • Ripple अब एक संशोधक है. हालांकि, क्लिक किए जा सकने वाले फ़ॉर्मैट को अभी तक कन्वर्ट नहीं किया गया है, हमारा सुझाव है कि Clickable(onClick = { ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763) का इस्तेमाल करें

  • वेक्टरPainter API इसमें जोड़ा गया इसके लिए मौजूदा Subcomposition API को बदलें वेक्टर ग्राफ़िक. सबकंपोज़िशन का नतीजा एक DrawModifier. पिछला Drawवेक्टर वेक्टरPainter के लिए ज़रूरी कंपोज़ेबल.

    Image(Painter) एपीआई का नाम बदलकर PaintBox(Painter) किया गया वेक्टर कंपोज़ेबल बनाया गया जो इस तरह काम करता है इसके बजाय, VendorAsset के साथ इमेज कंपोज़ करने लायक ImageAsset का प्रतिशत (I9af9a, b/149030271)

  • ऐसी इमेज बनाई गई जिसे हैंडल करने के लिए कंपोज़ किया जा सकता है दी गई ड्रॉइंग के अलावा साइज़/लेआउट ImageAsset को स्क्रीन पर दिखाएं. यह कंपोज़ेबल किसी भी आर्बिट्रेरी पेंटर की ड्रॉइंग बनाने में भी मदद करता है अपने मूल आकार के मुताबिक उदाहरण साथ ही, विज्ञापन देने वाले लोग या कंपनियां साइज़ या कम से कम साइज़ (Ibcc8f)

  • बटन, फ़्लोटिंग एक्शन बटन और क्लिक करने लायक बटन के पास अब एक अलग enabled पैरामीटर है. बटन के कुछ पैरामीटर के नाम बदले गए या उनका क्रम बदला गया. (I54b5a)

  • दोनों के बीच के अंतर को बेहतर तरीके से समझने के लिए, इमेज का नाम बदलकर ImageAsset किया गया है इमेज के डेटा और आने वाले समय में होने वाले इमेज के डेटा में फ़र्क़ लेआउट में हिस्सा लेने और ड्रॉ करने के लिए इस्तेमाल की जाने वाली इमेज कंपोज़ेबल कॉन्टेंट.

    android.graphics.Bitmap पर एक्सटेंशन का तरीका बनाया गया, Bitmap.asImageAsset() को ImageAsset, पारंपरिक Android को एक साथ जोड़ने में काम आता है ऐप्लिकेशन डेवलपमेंट की जानकारी दी जाती है. (Id5bbd)

  • ड्रॉइमेज कंपोज़ेबल को हटाया गया. मौजूदा लेआउट पर इमेज बनाने के लिए ImagePainter या SimpleImage का इस्तेमाल करके ऐसी इमेज के बारे में बताएं जो जगह ले रही हो (I595e1, b/149827027)

  • स्टैक कॉम्पोनेंट, दाएं से बाएं दिशा-निर्देश (Ic9e00) के साथ काम करता है

  • आइकॉन, iconButton और iconToggleButton जोड़ा गया है, जिससे AppBarIcon हटाया जा रहा है. AppBarIcon के मौजूदा इस्तेमाल को आइकॉनबटन से सीधे तौर पर बदला जा सकता है. और अब उनके पास सही टच टारगेट होगा. इसके नमूने देखें इस्तेमाल की जानकारी और दिए गए मटीरियल आइकॉन के आइकॉन देखें तो इन कॉम्पोनेंट के साथ सीधे इस्तेमाल किया जा सकता है. (I96849)

  • DrawSize कंपोज़ेबल को हटाया गया. इसके बजाय, Drawबैकग्राउंड मॉडिफ़ायर का इस्तेमाल करें. (I7ceb2)

  • AdapterList जोड़ा गया. यह स्क्रोल करने की सूची का एक ऐसा कॉम्पोनेंट है जो सिर्फ़ दिखने वाले आइटम लिखता और लेआउट करता है. वर्तमान में ज्ञात समस्याएं शामिल करें कि यह केवल-वर्टिकल है और पूरी तरह से हैंडल नहीं करता है बच्चों में हुए खास बदलावों के मामले में ऐसा ही होता है. (Ib351b)

  • स्क्रोल किया जा सकने वाला कॉम्पोनेंट जोड़ा गया है. इसकी मदद से, पसंद के मुताबिक स्क्रोलर/सूची बनाई जा सकती है (I5fd37)

  • बैकग्राउंड का नाम बदलकर Drawबैकग्राउंड और इसे डिफ़ॉल्ट रूप से याद रखने के लिए सेट किया गया (Ia0bd3)

  • Box (I05027, b/148147281) में पैडिंग (जगह), बॉर्डर, आकार, और बैकग्राउंड पैरामीटर जोड़ें

  • कैनवस कॉम्पोनेंट जोड़ा गया. इस कंपोज़ेबल का साइज़ (उपयोगकर्ता ने तय किया) है. इसकी मदद से, CanvasScope (I0d622) का इस्तेमाल करके ड्रॉ किया जा सकता है

  • Border मॉडिफ़ायर का नाम बदलकर DrawBorder करें (I8ffcc)

  • लेआउट और सामान्य फ़ंक्शन बनाने के लिए, Box कॉम्पोनेंट जोड़ा गया. (I6e2a7)

  • स्क्रोलर अब मूल Android फ़्लिंग मोशन व्यवहार दिखाते हैं. (I922af, b/147493715)

  • बॉर्डर मॉडिफ़ायर (Id335a) के लिए, DrawBorder को बदल दिया गया

  • Modifier.tag का नाम बदलकर Modifier.layoutId रख दिया गया, ताकि Modifier.testTag को लेकर भ्रम की स्थिति न हो. (I995f0)

  • ConstraintLayout के दिशा-निर्देश बनाते समय, प्रतिशत पैरामीटर का नाम बदलकर फ़्रैक्शन कर दिया गया है. (Ida2db)

  • ConstraintLayout बैरियर के मार्जिन के लिए सपोर्ट जोड़ा गया. (I47ffe)

  • ConstraintLayout में तय आरटीएल सपोर्ट. आरटीएल अनजान एपीआई जोड़े गए. (I3b1c7)

  • ConstraintLayout के लिए नया डीएसएल जोड़ा गया. ज़्यादा जानकारी के लिए, कृपया सैंपल देखें. (Icaa9a)

  • @OptionalLayout एनोटेशन जोड़ा गया. ConstraintLayout, FlowRow, और Flowकॉलम को अब इसके साथ टैग किया गया है, ताकि यह मार्क किया जा सके कि उनके एपीआई बदलने वाले हैं. (I412a8)

  • Modifier.padding(InnerPadding) को जोड़ दिया गया है (I94985, b/157133803)

  • पंक्ति और कॉलम में, 'कॉलम में अलाइन करें' सुविधा बंद की गई पंक्ति और पंक्ति हटाई गई. (If60d4, b/155858731)

  • अब काम नहीं करने वाले LayoutTag() को हटाया गया. इसके बजाय, कृपया Modifier.tag() का इस्तेमाल करें. अब काम नहीं करने वाले Modifier.matchParent() को हटा दिया गया है. इसके बजाय, कृपया Modifier.matchParentSize() का इस्तेमाल करें. (If8044)

  • ऑफ़सेटPx लेआउट मॉडिफ़ायर जोड़ा गया, जिसका इस्तेमाल पिक्सल में (डाइनैमिक) ऑफ़सेट की जानकारी देने के लिए किया जा सकता है. (I5af57)

  • alignmentLineOffset कंपोज़ेबल का इस्तेमाल नहीं किया जा सकता. इसके बजाय, कृपयाRelatPaddingFrom() मॉडिफ़ायर का इस्तेमाल करें. CenteralignmentLine कंपोज़ेबल को हटा दिया गया है. (I60107)

  • defaultMinSizeConstraints लेआउट मॉडिफ़ायर जोड़ा गया, जो रैप किए गए लेआउट में साइज़ कंस्ट्रेंट को सिर्फ़ तब सेट करता है, जब आने वाले कंस्ट्रेंट के बारे में न बताया गया हो (कम से कम कंस्ट्रेंट के लिए 0 और ज़्यादा से ज़्यादा कंस्ट्रेंट के लिए इनफ़िनिटी). (I311ea, b/150460257)

  • कंटेनर हटा दिया गया है. इसके बजाय, Box का इस्तेमाल करें (Ibbc2b, b/151407926)

  • ऐसे लेआउट की चौड़ाई/ऊंचाई/साइज़ मॉडिफ़ायर हटाया गया जो अब काम नहीं करता. (Ib0bc1)

  • ऑफ़सेट मॉडिफ़ायर के लिए डिफ़ॉल्ट पैरामीटर वैल्यू जोड़ी गईं. (I37f06)

  • सिमेट्रिक पैडिंग मॉडिफ़ायर जोड़ा गया. (I39840)

  • अब काम नहीं करने वाले LayoutAspectRatio मॉडिफ़ायर को हटाया गया. (I65a74)

  • ऐसे LayoutLayout मॉडिफ़ायर हटाए गए जो अब काम नहीं करते. (I10877)

  • चौड़ाई और ऊंचाई मॉडिफ़ायर में उस गड़बड़ी को ठीक किया गया जिसकी वजह से रैप किए गए लेआउट को दूसरे ऐक्सिस कंस्ट्रेंट के साथ मेज़र नहीं किया जा रहा था. (I210b8, b/154797971)

  • वर्टिकलGravity और हॉरिज़ॉन्टलGravity पैरामीटर को क्रम से पंक्ति और कॉलम में जोड़ा गया. (I7dc5a)

  • किसी भी अलाइनमेंट के बजाय वर्टिकल या हॉरिज़ॉन्टल एलाइनमेंट के लिए wrapContentwidth और wrapContentHight को अपडेट किया गया. वर्टिकल या हॉरिज़ॉन्टल अलाइनमेंट स्वीकार करने के लिए, ग्रैविटी मॉडिफ़ायर को अपडेट किया गया. कस्टम निरंतर संरेखण का समर्थन करने के लिए पंक्ति, कॉलम और स्टैक को अपडेट किया गया. (Ib0728)

  • अलाइनमेंट को आर्बिट्रेरी वैल्यू के साथ झटपट बनाया जा सकता है. 1D अलाइनमेंट जोड़े गए. (Ia0c05)

  • EdgeInsets का नाम बदलकर इनरपैडिंग किया गया है. मटीरियल बटन के इनरपैडिंग पैरामीटर का नाम बदलकर पैडिंग (जगह) किया गया. (I66165)

  • अलाइनमेंट की सुविधा की मदद से, अब 'जगह के बारे में जानकारी' के बजाय 'मेज़र किया गया' को स्वीकार किया जाता है. (I5788d)

  • स्वाभाविक मेज़रमेंट के लिए, साइज़ बदलने वाले मॉडिफ़ायर जोड़े गए. साथ ही, इस मकसद को पूरा करने वाले कॉम्पोनेंट को बंद कर दिया गया. (I8295d)

  • ConstraintLayout (Idb1a5) के चाइल्ड डाइमेंशन को पसंद के मुताबिक बनाने के लिए सपोर्ट जोड़ा गया

  • अब काम नहीं करने वाले रैप और सेंटर कंपोज़ेबल को हटाया गया. (I29e23)

  • LayoutModifier2 जोड़ा गया. यह लेआउट मॉडिफ़ायर तय करने के लिए एक नया एपीआई है; बंद किए गए LayoutModifier (If32ac)

  • RowScope और ColumnScope के सदस्यों को अब पंक्ति और कॉलम के बाहर से भी ऐक्सेस किया जा सकता है. (I3a641)

  • कंटेनर को बंद कर दिया गया है. इसके बजाय, Box का इस्तेमाल करें. (I675ce, b/151407926)

  • लेआउट की स्थिति ऑफ़सेट करने के लिए LayoutOffset मॉडिफ़ायर जोड़ा गया (I0b8a3)

  • Compose के लेआउट में Rtl के लिए शुरुआती सहायता (Ia5519)

  • LayoutLayout को अपडेट किया गया, ताकि यह अब खाली जगह न भर पाए (I2b14f)

  • मॉडिफ़ायर के लिए कंपोज़ेबल AspectRatio को हटाया गया. मिटा दिया गया पुराना Flexकॉलम, FlexRow कंपोज़ेबल, और स्पेसिंग मॉडिफ़ायर (Iec8a7)

  • पंक्ति और कॉलम के लिए LayoutInफ़्लेक्सिबल मॉडिफ़ायर हटाया गया (I0d820)

  • TextField के लिए चुने गए विकल्प को बदलने के लिए ड्रैग सलेक्शन हैंडल लागू करें. (I27032)

  • टेक्स्ट फ़ील्ड चुनने के लिए, longPressAnd टास्क लागू करता है. (I17919)

गड़बड़ियां ठीक की गईं

  • FocusModifier को Modifier.focus, Modifier.focusRequester, Modifier.focusObserver के लिए बंद कर दिया गया. FocusState और FocusState को फ़ोकसState2 के लिए हटा दिया गया है. I46919, b/160822875, b/160922136
  • runOnIdleCompose का नाम बदलकर runOnIdle किया गया (I83607)
  • ज़्यादा आसान बनाने के लिए, कई टेस्टिंग एपीआई के नाम बदले गए. सभी findXYZ के एपीआई का नाम बदलकर, onNodeXYZ कर दिया गया है. सभी doXYZ के एपीआई का नाम बदलकर यह कर दिया गया परफ़ॉर्म करने वाली सेटिंगXYZ. (I7f164)
  • पहले बंद किए गए Modifier.Repple को हटा देता है. क्लिक करने योग्य अब डिफ़ॉल्ट संकेत के रूप में रिपल का उपयोग करता है (अगर आपके ऐप्लिकेशन में MaterialTheme {} सेट है) इसलिए ज़्यादातर मामलों में आप केवल क्लिक करने योग्य का उपयोग कर सकते हैं और बिना किसी शुल्क के रिपल संकेत प्राप्त कर सकते हैं. अगर आपको रिपल के लिए रंग / साइज़ / बाउंडेड पैरामीटर को पसंद के मुताबिक बनाना है, तो मैन्युअल तरीके से RippleIndic बनाएं और उसे इंंडिकेशन पैरामीटर के तौर पर 'क्लिक किए जा सकने वाले' पैरामीटर के तौर पर पास किया जा सकता है. (I663b2, b/155375067)
  • साइज़ की जांच करने वाले पुराने एपीआई हटाए गए. (Iba0a0)
  • Made LayoutNode एक्सपेरिमेंट के लिए उपलब्ध एपीआई (I4f2e9)
  • स्क्रोल अभिविन् यास लॉक करने का वर्शन 1 है पूरे Compose में लागू किया गया. (I1ce7a, b/150289741)
  • पॉप-अप, डायलॉग, और मेन्यू में अब कॉन्टेक्स्चुअल मटीरियल थीम का इस्तेमाल किया जा रहा है (Ia3665, b/156527485)
  • Layout() फ़ंक्शन के माप ब्लॉक से लेआउट डायरेक्शन पैरामीटर हटाया गया. हालांकि, लेआउट दिशा-निर्देश, मेज़र स्कोप ऑब्जेक्ट (Ic7d9d) के ज़रिए कॉलबैक में उपलब्ध है
  • ऐब्सलूट अरेंजमेंट जोड़ें - इससे आरटीएल (I3a1df) में ऑटोमैटिक मिररिंग के बिना रो के अंदर बच्चों को व्यवस्थित किया जा सकता है
  • @बिना ट्रैक की गई एनोटेशन को हटा दिया गया है. @ComposableContrack(tracked=false) (Id211e) से बदलें
  • इस बदलाव से पहले, (I5205a, b/158123804) होने पर, कंपोज़ कंपाइलर प्लगिन, @Composable फ़ंक्शन के अंदर कंस्ट्रक्टर को किए जाने वाले कॉल को इंटरसेप्ट नहीं करता था
  • viewModel() कंपोज़ेबल जोड़ें, जो ऐक्टिविटी या फ़्रैगमेंट (I5fdd1) में काम करने के तरीके की तरह ही, पहले से बनाया गया ViewModel बनाने या पाने की सुविधा देता है
  • रेडियस क्लास की फिर से विधि की मदद से उसे इनलाइन क्लास. कंपैनियन मोड का इस्तेमाल करके बनाया गया वीडियो हटाया गया फ़ंक्शन कंस्ट्रक्टर के पक्ष में मेथड इसमें रेडियस के लिए डिफ़ॉल्ट पैरामीटर का इस्तेमाल किया गया है y-ऐक्सिस के साथ दिखने वाली वैल्यू x-ऐक्सिस का रेडियस पैरामीटर.

    इस्तेमाल करने के लिए, DrawScope.drawRoundRect को अपडेट किया गया दो अलग-अलग पैरामीटर के बजाय, सिर्फ़ एक रेडियस पैरामीटर x और y के आस-पास की रेडियस के फ़्लोट वैल्यू ऐक्सिस (I46d1b)

  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सेल पैरामीटर के लिए प्रिमिटिव टाइप. Px क्लास को पूरी तरह से मिटाया गया (I3ff33)

  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I086f4) के लिए प्रिमिटिव टाइप

  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (Id3434) के लिए प्रिमिटिव टाइप

  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I97a5a) के लिए प्रिमिटिव टाइप

  • टेक्स्ट फ़ील्ड के कर्सर में ब्लिंक करने वाला ऐनिमेशन (Id10a7) है

  • आंशिक जेस्चर के लिए अब हाव-भाव टोकन (Id7ae5)

  • अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I57bff) के लिए प्रिमिटिव टाइप

  • हाई लेवल कॉम्पोनेंट के लिए, इस्तेमाल की अनुमति देने के लिए, Modifier.semantics का इस्तेमाल नहीं किया जा सका. (I4cfdc)

  • AnnotatedString.Builder.addAnnotationString का नाम बदलकर addStringAnnotation. (I5059e)

  • अलाइनमेंट एपीआई को अपडेट किया गया और ऐब्सलूट अलाइनमेंट के लिए सपोर्ट किया गया है (यह आरटीएल कॉन्टेक्स्ट में अपने-आप मिरर नहीं होता है) (I38cd3)

  • Layout और LayoutModifier चिल्ड्रेन को अलग-अलग लेआउट डायरेक्शन में मेज़र किया जा सकता है. (Ibd731)

  • अतिरिक्त वैकल्पिक रेक्टैंगल के बारे में जानकारी मदद करने के लिए ImagePainter का पैरामीटर पहले से मौजूद ImageAsset (I0ea9e) का सब-सेक्शन बनाकर

  • आइटम हटाते समय, AdapterList में होने वाले क्रैश (Ic64b0, b/153195921) को ठीक किया गया

  • आपने activity.setContent { } ब्लॉक में, सबसे पहले जो लेआउट डाला था उसे हमने मेज़र करने का तरीका बदल दिया है. पहले इसे पूरी गतिविधि स्क्रीन को भरना पड़ता था. अब यह इस तरह काम करता है, जैसे कि आपने अपने लेआउट को स्टैक के अंदर रखा हो: यह स्क्रीन से छोटा हो सकता है और इसे सबसे ऊपर बाईं स्क्रीन पर रखा जाता है. अगर आपको पुराना तरीका इस्तेमाल करना है, तो अपने लेआउट के लिए Modifier.fillMaxSize() लागू करें. (Ie88a7, b/153453714)

  • ui-text-compos मॉड्यूल का नाम बदलकर, ui-text कर दिया गया है. यूज़र इंटरफ़ेस (यूआई)-टेक्स्ट अब CoreText और CoreTextField कंपोज़ेबल (Ib7d47) शामिल हैं

  • ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है

  • ui-framework/CoreText, CoreTextField कंपोज़ेबल को इसके तहत ले जाया गया ui-टेक्स्ट-कंपोज़ करें. आप अपने प्रोजेक्ट. (I32042)

  • runOnIdleCompose और runOnUiThread अब ग्लोबल फ़ंक्शन हैं लिखने के लिए विकल्प पर क्लिक करें. (Icbe8f)

  • [Mutable]स्टेट प्रॉपर्टी डेलिगेट ऑपरेटर को एक्सटेंशन पर ले जाया गया Kotlin 1.4 प्रॉपर्टी डेलिगेट ऑप्टिमाइज़ेशन के साथ काम किया जा सकता है. कॉलर को सूची जोड़नी होगी by state { ... } या by mutableStateOf(...) का इस्तेमाल जारी रखने के लिए, इंपोर्ट किए जा सकते हैं. (I5312c)

  • DrawlayerModifier और Notlayer() अब डिफ़ॉल्ट ClipsToBounds औरClipToOutline गलत पर सेट करें. (I0eb8b, b/152810850)

  • LayoutLayout का नाम बदलकर,मेज़रमेंट नतीजा किया गया. (Id8c68)

  • बहिष्कृत केंद्र कंपोज़ेबल. इसे LayoutSize.Fill + LayoutLayout.Center मॉडिफ़ायर से बदला जाना चाहिए. इसके अलावा, सही मॉडिफ़ायर (Idf5e0) वाले किसी बॉक्स या स्टैक कंपोज़ेबल से भी बदला जाना चाहिए

  • LayoutBlogger का नाम बदलकर Layoutweight किया गया. भरने के लिए टाइट पैरामीटर का नाम बदला गया. (If4738)

  • ड्रॉवेक्टर को सामान्य से बदला गया है किसी ऐसे मॉड्यूल को बनाने के लिए इस्तेमाल किया जा सकने वाला फ़ंक्शन जो वेक्टर को बैकग्राउंड के तौर पर लेआउट में ड्रॉ कर देगा. (I7b8e0)

  • कंपोज़ेबल फ़ंक्शन क्लिप को मॉडिफ़ायर से बदलें ड्रॉक्लिप(). DrawClipToBounds एक सुविधाजनक मॉडिफ़ायर है जब आपको सिर्फ़ लेयर की सीमाओं से क्लिप बनाने की ज़रूरत हो, तब इस्तेमाल करें होता है. (If28eb)

  • DrawMode के कंपोज़ेबल फ़ंक्शन को getShadow() से बदला गया हो कार्रवाई बदलने वाली कुंजी. परछाइयों को अब लेयरModifier के हिस्से के तौर पर बनाया जाता है. (I0317a)

  • androidx.compos.ViewComposer को androidx.ui.node.UiComposer में ले जाया गया androidx.compos.Emittable को हटा दिया गया है. यह componentNode के साथ काम नहीं करता था. androidx.compos.ViewAdapters को हटा दिया गया है. इनका इस्तेमाल अब नहीं किया जा सकता. Compose.composInto को बंद कर दिया गया है. इसके बजाय, setContent या setViewContent का इस्तेमाल करें. Compose.disposPosition को हटा दिया गया है. इसके बजाय, setContent से मिले Composition पर, dispose तरीके का इस्तेमाल करें. androidx.compos.Compose.subcomposInto को androidx.ui.core.subcomposInto पर ले जाया गया है componentNode#emitInsertAt का नाम बदलकर componentNode#insertAt कर दिया गया है componentNode#emitRemoveAt का नाम बदलकर componentNode#removeAt हो गया है componentNode#emitMode का नाम बदलकर componentNode#move (Idef00) हो गया है

  • अवमानित रैप कंपोज़ेबल. इसे या तो LayoutLayout मॉडिफ़ायर या स्टैक कंपोज़ेबल (Ib237f) से बदला जा सकता है

  • लेआउट की दिशा को पैरंट लेआउट नोड से बच्चों में लागू किया गया हो. लेआउट डायरेक्शन मॉडिफ़ायर जोड़ा गया. (I3d955)

  • Painter.toModifier का नाम बदलकर Painter.asModifier रखें. ऐसा इसलिए, क्योंकि नए मॉडिफ़ायर में मूल पेंटर का रेफ़रंस दिया गया है. इसे एक से ज़्यादा मॉडिफ़ायर इंस्टेंस (I7195b) में शेयर किया जा सकता है.

  • LayoutPadding मॉडिफ़ायर (I9e8da) में दाईं से बाईं ओर जाने की सुविधा देना

  • डेंसिटी और डेंसिटीस्कोप को एक इंटरफ़ेस में मर्ज किया गया. Pendingdensity() के बजाय, DensityAmbient.current का इस्तेमाल करें. withडेंसिटी(डेंसिटी) के बजाय, सिर्फ़ with(डेंसिटी) (I11cb1)

  • ValueHolder क्लास हटाई गई. फिर से बनाई गई ऐनिमेटेडवैल्यू, ऐनिमेटेड फ़्लोट क्लास ऐनिमेशन वैल्यू फ़ील्ड को ऐब्स्ट्रैक्ट बनाएं, ताकि सब-क्लास वैल्यू अपडेट देख सकें.

    • एनिमेट की गई वैल्यू, AttributionFloat वगैरह के लिए जोड़ी गई मॉडल क्लास.
    • वैल्यू के बीच ऐनिमेट करने के लिए, लाइट-वेट @Composable API का नया सेट जोड़ा गया.
    • (I79530)
  • ऐंबियंट एपीआई में बदलाव किए जा रहे हैं. ज़्यादा जानकारी के लिए, लॉग और Ambient<T> का दस्तावेज़ देखें (I4c7ee, b/143769776)

  • Placesable#get(alignmentLine) से वापस लौटाए गए अलाइनमेंट लाइन की पोज़िशन खाली हैं. जिस अलाइनमेंट लाइन के लिए क्वेरी की गई है वह मौजूद न होने पर, alignmentLine.बताई गई जानकारी नहीं दिखाई जाएगी. (I896c5, b/158134875)

  • रीकंपोज़िशन पर क्रैश होने की वजह से आई ConstraintLayout की गड़बड़ी को ठीक किया गया. (Ibee5a, b/158164341)

  • WithConstraints पीछे lambda API को बदल दिया गया है. अब दो पैरामीटर के बजाय, इसका रिसीवर स्कोप है

  • LayoutModifier2 का नाम बदलकर LayoutModifier किया गया. (Id29f3)

  • Layout और LayoutModifier2 के इंट्रिंसिक मेज़रमेंट फ़ंक्शन में अब IntrinsicmeasureScope रिसीवर है. यह इंप्लिसिक्स क्वेरी एपीआई उपलब्ध कराता है, जिसमें लिखे गए लेआउट को पूरी तरह से प्रोसेस किया जाता है. (आईडी9945)

  • LayoutDirectionAmbient अब काम नहीं करता. स्थान-भाषा के हिसाब से तय किए गए लेआउट के निर्देश को पढ़ने के लिए, ConfigurationAmbient (I851b1) पर localLayoutDirection का इस्तेमाल करें

  • LayoutCoordanates के लिए statusInParent और boundsInParent जोड़ा गया. (Icacdd, b/152735784)

  • ParentData कंपोज़ेबल का इस्तेमाल नहीं किया जा सकता. आपको एक ऐसा मॉडिफ़ायर बनाना चाहिए जो ParentDataModifier इंटरफ़ेस को लागू करता हो. इसके अलावा, अगर आपको मेज़र ब्लॉक में लेआउट चाइल्ड को पहचानने के लिए उन्हें टैग करना है, तो LayoutTag मॉडिफ़ायर का इस्तेमाल करें. (I51368, b/150953183)

  • OnPositionedModifier और OnChildPositionedModifier जोड़ें OnPositioned और OnChildPositioned कंपोज़ेबल को बदलने के लिए फ़ंक्शन. (I2ec8f)

  • लेआउटपैडिंग में नेगेटिव पैडिंग की अनुमति न दें. नेगेटिव पोज़िशन ऑफ़सेट के बजाय, LayoutOffset का इस्तेमाल करना चाहिए. (Ifb5b1)

  • withConstraints को LayoutDirection पैरामीटर मिला (I6d6f7)

  • ComposeFlags.COMPOSER_PARAM फ़्लैग को true के तौर पर अपडेट किया गया है. इससे कंपोज़ प्लग इन के लिए कोड जनरेट करने की रणनीति बदल जाएगी. हाई लेवल पर, इसकी वजह से @Composable फ़ंक्शन, एक और सिंथेटिक पैरामीटर के साथ जनरेट होता है. इसे बाद में आने वाले @Composable कॉल में पास किया जाता है, ताकि रनटाइम सही तरीके से एक्ज़ीक्यूशन को मैनेज कर सके. हालांकि, यह बाइनरी ब्रेकिंग बदलाव की तरह है. हालांकि, इससे कंपोज़ की सुविधा के सभी पाबंदी वाले इस्तेमाल में, सोर्स-लेवल पर काम करने की सुविधा बनी रहेगी. (I7971c)

  • दिए गए अलाइनमेंटलाइन बनाने के लिए लेआउट कोऑर्डिनेट बदले गए के बजाय एक सेट बनाएं और LayoutCoordingates को कोई मान प्राप्त करने के बजाय get() ऑपरेटर का उपयोग करें. इससे यह आसान हो जाता है के लिए, सेट के एक या ज़्यादा मान को बिना हर मॉडिफ़ायर के लिए नया कलेक्शन बना सकते हैं. (I0245a)

  • Layoutकोऑर्डिनेटेड में अब पोज़िशन प्रॉपर्टी नहीं होती. कॉन्टेंट बनाने लेआउट मॉडिफ़ायर के बारे में विचार करते समय पोज़िशन प्रॉपर्टी का कोई मतलब नहीं बनता. रोटेशन या स्केलिंग. इसके बजाय, डेवलपर को parentनिर्देश का इस्तेमाल करना चाहिए और childToLocal() फ़ंक्शन की मदद से एक से ट्रांसफ़ॉर्म की गणना करें लेआउट को दूसरे से सिंक करें.

    लेआउट कोऑर्डिनेटर, साइज़ प्रॉपर्टी के लिए इसके बजाय IntPxSize का इस्तेमाल करता है PxSize. लेआउट, लेआउट के लिए पूर्णांक पिक्सल साइज़ का इस्तेमाल करते हैं, इसलिए सभी लेआउट साइज़ को पूर्णांक का इस्तेमाल करना चाहिए, फ़्लोटिंग पॉइंट वैल्यू का नहीं. (I9367b)

  • कंस्ट्रेंट के एपीआई सरफ़ेस में सुधार (I0fd15)

  • TextDirection.Content (I48f36) को जोड़ा गया

  • कॉपी करने, काटने, और ठीक से चिपकाने के लिए टूलबार मेन्यू में बदलाव करें. (आईडी3955)

  • टेक्स्ट फ़ील्ड चुनने के लिए फ़्लोटिंग टूलबार जोड़ें. (Ie8b07)

  • TextDirectionAlgorithm का नाम बदलकर TextDirection (I75ce8) कर दिया गया है

  • TextDirection का नाम बदलकर रिज़ॉल्व्डTextDirection किया गया (I3ff38)

  • टेक्स्ट फ़ील्ड चुनने में हैप्टिक फ़ीडबैक जोड़ें. (I58050)

  • टेक्स्ट फ़ील्ड चुनने में कॉपी, कट, और चिपकाने के तरीके जोड़ें. (आईडीb70b)

  • TestTag और सिमैंटिक मिटा दिए गए हैं. इसके बजाय, Modifier.testTag और Modifier.semantics का इस्तेमाल करें (I15ff0, b/158841414)

  • स्थान-भाषा और LocaleList के लिए पैकेज का नाम बदलकर androidx.ui.text से androidx.ui.intl (I8132c)

  • एपीआई में बदलाव: AnnotatedString(builder: Builder) का नाम बदलकर annotatedString(builder: Builder) कर दिया गया है. (Ia6377)

  • एपीआई में बदलाव: AnnotatedString.Item का नाम बदलकर AnnotatedString.Range कर दिया गया है. (I2d44d)

  • लेख से जुड़ी कार्रवाइयां करने के लिए टूलबार जोड़ें. (I49d53)

  • नया LifecycleOwnerAmbient अब उपलब्ध है. Compose के यूज़र इंटरफ़ेस (यूआई) के साथ इस्तेमाल की जा रही गतिविधि में, अब androidx.activity.componentActivity (या AppCompatActivity) को एक्सटेंड करना चाहिए. android.app.Activity पर setContent का इस्तेमाल अब बंद कर दिया गया है (Idb25a, b/153141084)

  • ui-android-text पैकेज का नाम (androidx.text) इससे बदला गया androidx नीति के मुताबिक काम करने के लिए androidx.ui.text.platform. (I42711)