कॉन्टेंट बनाएं
androidx.compos.material
androidx.compos.material.icons
(सभी कंपोज़ पैकेज के लिए एपीआई रेफ़रंस दस्तावेज़ देखें)
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
7 अगस्त, 2024 | 1.6.8 | - | 1.7.0-बीटा07 | - |
संरचना
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.runtime | Compose के प्रोग्रामिंग मॉडल और स्टेट मैनेजमेंट के बुनियादी बिल्डिंग ब्लॉक और टारगेट करने के लिए Compose कंपाइलर प्लगिन के कोर रनटाइम. |
compos.ui | डिवाइस से इंटरैक्ट करने के लिए कंपोज़ यूज़र इंटरफ़ेस (यूआई) के बुनियादी कॉम्पोनेंट की ज़रूरत होती है. इसमें लेआउट, ड्रॉइंग, और इनपुट शामिल हैं. |
डिपेंडेंसी तय करना
Compose पर डिपेंडेंसी जोड़ने के लिए, आपको Google Maven रिपॉज़िटरी को अपने प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.
उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle
फ़ाइल में ज़रूरत है
आपका ऐप्लिकेशन या मॉड्यूल:
ग्रूवी
dependencies { implementation "androidx.compose.material:material:1.6.8" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material:material:1.6.8") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.
समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.
वर्शन 1.7
वर्शन 1.7.0-beta07
7 अगस्त, 2024
androidx.compose.material:material-*:1.7.0-beta07
रिलीज़ हो गया है. वर्शन 1.7.0-beta07 में ये प्रतिबद्धताएं शामिल हैं.
वर्शन 1.7.0-beta06
24 जुलाई, 2024
androidx.compose.material:material-*:1.7.0-beta06
रिलीज़ हो गया है. वर्शन 1.7.0-beta06 में ये बातें शामिल की गई हैं.
वर्शन 1.7.0-beta05
10 जुलाई, 2024
androidx.compose.material:material-*:1.7.0-beta05
रिलीज़ हो गया है. वर्शन 1.7.0-beta05 में ये प्रतिबद्धताएं शामिल हैं.
वर्शन 1.7.0-beta04
26 जून, 2024
androidx.compose.material:material-*:1.7.0-beta04
रिलीज़ हो गया है. वर्शन 1.7.0-beta04 में ये बातें शामिल की गई हैं.
वर्शन 1.7.0-beta03
12 जून, 2024
androidx.compose.material:material-*:1.7.0-beta03
रिलीज़ हो गया है. वर्शन 1.7.0-beta03 में ये प्रतिबद्धताएं शामिल हैं.
वर्शन 1.7.0-beta02
29 मई, 2024
androidx.compose.material:material-*:1.7.0-beta02
रिलीज़ हो गया है. वर्शन 1.7.0-beta02 में ये प्रतिबद्धताएं शामिल हैं.
एपीआई में बदलाव
- लिंक को स्टाइल देने के लिए, एपीआई को अपडेट करें:
TextLinkStyles
कोTextStyle
में ले जाया औरTextDefaults
को कॉन्टेंट से हटाया (I5477b)
वर्शन 1.7.0-beta01
14 मई, 2024
androidx.compose.material:material-*:1.7.0-beta01
रिलीज़ हो गया है. वर्शन 1.7.0-beta01 में ये बातें शामिल हैं.
एपीआई में बदलाव
- टेक्स्ट में मटीरियल थीम वाले लिंक पाने के लिए, एपीआई को अपडेट किया गया. खास तौर पर,
LinkAnnotations
थीम को बनाने के लिएTextDefaults
से तरीके हटाए गए हैं और थीम वाले लिंक के साथ एचटीएमएल को पार्स करने का तरीका बताया गया है. इसके बजाय, एकTextLinkStyles
क्लास जोड़ी गई है, जो टेक्स्ट कंपोज़ेबल में पैरामीटर के तौर पर लिंक को स्टाइल करने की अनुमति देती है. (I31b93)
वर्शन 1.7.0-alpha08
1 मई, 2024
androidx.compose.material:material-*:1.7.0-alpha08
रिलीज़ हो गया है. वर्शन 1.7.0-alpha08 में ये कमिट मौजूद हैं.
एपीआई में बदलाव
TextFieldDecorationBox
औरOutlinedTextFieldDecorationBox
पर लागू नहीं होने वालेbackgroundColor
को ठीक करें. सजावट बॉक्स अबshape
पैरामीटर स्वीकार करते हैं. (I371c2, b/307694651)RippleConfiguration#isEnabled
को हटा दिया गया है औरLocalRippleConfiguration
को शून्य कर दिया गया है. किसी रिपल को बंद करने के लिए,isEnabled = false
के साथRippleConfiguration
देने के बजाय,LocalRippleConfiguration
कोnull
दें. (I22725)- टेक्स्ट लिंक में, सामान्य स्टाइलिंग के अलावा, कर्सर घुमाने पर और फ़ोकस करने के अलावा, एक दबाया गया स्टेट स्टाइलिंग विकल्प भी मौजूद होता है.
TextDefaults
तरीकों में से हर एक में इसके समर्थन के लिएpressedStyle
तर्क दिया गया है. (Ic473f, b/139312671)
गड़बड़ियां ठीक की गईं
- लेबल के लिए
OutlinedTextField
टॉप पैडिंग अब, सिस्टम के फ़ॉन्ट साइज़ के हिसाब से तय है. (Idc781)
वर्शन 1.7.0-alpha07
17 अप्रैल, 2024
androidx.compose.material:material-*:1.7.0-alpha07
रिलीज़ हो गया है. वर्शन 1.7.0-alpha07 में ये कमिट मौजूद हैं.
एपीआई में बदलाव
- टेक्स्ट लिंक को सामान्य स्टाइलिंग के अलावा, दबाया जा सकने वाला स्टाइल चुनने का विकल्प भी मिल जाता है. इस स्टाइलिंग के दौरान कर्सर को घुमाया और फ़ोकस किया जा सकता है. (I5f864, b/139312671)
- एक
TextDefaults
ऑब्जेक्ट जोड़ा गया, जिसमेंLinkAnnotation
बनाने और लिंक परMaterialTheme
लागू करने वाली एचटीएमएल टैग की गई स्ट्रिंग को पार्स करने के तरीके हैं. (I98532, b/139312671)
वर्शन 1.7.0-alpha06
3 अप्रैल, 2024
androidx.compose.material:material-*:1.7.0-alpha06
रिलीज़ हो गया है. वर्शन 1.7.0-alpha06 में ये कमिट मौजूद हैं.
सूचना
androidx.compose.material
को अब हर आर्टफ़ैक्ट के एक ही वर्शन का इस्तेमाल करने की ज़रूरत नहीं है. यह मेवन ग्रुप है. लोग, Compose की बुनियादी लाइब्रेरी के वर्शन को मिला-जुलाकर इस्तेमाल कर सकते हैं (Ie5fba)
एपीआई में बदलाव
ModalDrawer
औरBottomDrawer
को डिफ़ॉल्ट रूप सेDrawerDefaults
ऑब्जेक्ट में ले जाया गया. (Ib5b2e)
वर्शन 1.7.0-alpha05
20 मार्च, 2024
androidx.compose.material:material-*:1.7.0-alpha05
रिलीज़ हो गया है. वर्शन 1.7.0-alpha05 में ये कमिट मौजूद हैं.
एपीआई में बदलाव
ScaffoldSubcomposeInMeasureFix
फ़्लैग हटा दिया गया है. (I67363)
वर्शन 1.7.0-alpha04
6 मार्च, 2024
androidx.compose.material:material-*:1.7.0-alpha04
रिलीज़ हो गया है. वर्शन 1.7.0-alpha04 में ये कमिट मौजूद हैं.
नई सुविधाएं
- एक नया
androidx.compose.material:material-navigation
आर्टफ़ैक्ट जोड़ा गया, जो नेविगेशन कंपोज़ का इस्तेमाल करते समय बॉटम शीट के लिए डेस्टिनेशन के रूप में काम करता है. यह Accompanist नेविगेशन मटीरियल लाइब्रेरी की जगह ले लेता है. (d65d57, b/180247978)
वर्शन 1.7.0-alpha03
21 फ़रवरी, 2024
androidx.compose.material:material-*:1.7.0-alpha03
रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये कमिट हैं.
एपीआई में बदलाव
BottomDrawer
को प्रयोग से बदलकर स्थिर कर दिया गया है.BottomDrawerState
अब प्रोग्रेस को फ़ंक्शन के तौर पर दिखाता है, ताकि तय किए गए टारगेट के बीच प्रोग्रेस के बारे में क्वेरी की जा सके.BottomDrawerState
अब ऐनिमेशन की खास बातों को पसंद के मुताबिक बनाने की अनुमति देता है औरconfirmStateChange
अब पीछे Labda की तरह नहीं है. (I9c029, b/261423850)BackdropScaffold
को प्रयोग से बदलकर स्थिर कर दिया गया है. दिशा-निर्देशों के मुताबिक, ऐनिमेशन की खास जानकारी को अबtween
स्पेसिफ़िकेशन के तौर पर शामिल किया गया है. लैम्डा के बाद आने वाली भ्रम की स्थिति से बचने के लिए,BackdropScaffold
काsnackbarHost
पैरामीटर अब आखिरी पैरामीटर नहीं है.BackdropScaffoldState
, ऐंकर के बीच प्रोग्रेस को क्वेरी करने के लिएprogress(from, to)
एपीआई को दिखाता है. (I73f48, b/261423218)- स्टैंडर्ड बॉटम शीट को प्रयोग से बदलकर, स्टेबल किया गया है. अब काम नहीं करने वाले कंस्ट्रक्टर हटा दिए गए हैं. दिशा-निर्देशों के मुताबिक, ऐनिमेशन स्पेसिफ़िकेशन अब ट्वीन स्पेसिफ़िकेशन है. (I3c1a8, b/278692145, b/261409034)
- मोडल बॉटम शीट को प्रयोग से बदलकर स्थिर किया गया है. अब काम नहीं करने वाले कंस्ट्रक्टर हटा दिए गए हैं. दिशा-निर्देशों के मुताबिक, ऐनिमेशन की खास जानकारी को अब
tween
स्पेसिफ़िकेशन के तौर पर शामिल किया गया है. (Ic53f4, b/278692145, b/266780235, b/261409034)
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक किया गया है जिसकी वजह से
LookaheadScope
के साथ, कुछ खास स्थितियों मेंBackdropScaffold
क्रैश हो सकता है. (I51396) - परफ़ॉर्मेंस को बेहतर बनाने के लिए,
BottomSheetScaffold
का सब-कंपोज़िशन हटाया गया. उस समस्या को ठीक किया गया है जिसकी वजह से,LookaheadScope
के साथ कुछ खास स्थितियों मेंBottomSheetScaffold
क्रैश हो जाता था. (I2f90c) ModalBottomSheetLayout
का सबकंपोज़िशन हटाया गया, इससे परफ़ॉर्मेंस बेहतर हो रही है. (I7a025)
वर्शन 1.7.0-alpha02
7 फ़रवरी, 2024
androidx.compose.material:material-*:1.7.0-alpha02
रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये कमियां हैं.
वर्शन 1.7.0-alpha01
24 जनवरी, 2024
androidx.compose.material:material-*:1.7.0-alpha01
रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये कमियां हैं.
व्यवहार में होने वाले बदलाव
- नए Repple API का इस्तेमाल करने के लिए, मटीरियल कॉम्पोनेंट माइग्रेट कर दिए गए हैं. अब ये
RippleTheme
से जुड़ी क्वेरी नहीं करेंगे.
एपीआई में बदलाव
मटीरियल-रिपल से
rememberRipple
औरRippleTheme
को बंद कर दिया गया है. इसमें मटीरियल और अन्य डिज़ाइन सिस्टम लाइब्रेरी में नए रिपल औरRippleConfiguration
एपीआई जोड़े गए हैं.ऐसे मटीरियल कॉम्पोनेंट जो पहले
MutableInteractionSource
को स्वीकार करते थे और{ MutableInteractionSource() }
को याद रखने के लिए डिफ़ॉल्ट करते थे, अब शून्य करने लायकMutableInteractionSource
को स्वीकार करते हैं. इसके बजाय, उन्हें डिफ़ॉल्ट रूप से शून्य पर सेट किया जाता है. अगरMutableInteractionSource
को होस्ट नहीं किया जा रहा है और उसका इस्तेमाल नहीं किया जा रहा है, तो आपको शून्य को पास करना होगा. इससे कुछ कॉम्पोनेंट को ज़रूरत पड़ने पर ही लेज़ी तरीके से इंस्टेंस बनाने की सुविधा मिलती है. इससे परफ़ॉर्मेंस बेहतर होती है. हमारा सुझाव है कि आप अपने कॉम्पोनेंट में भी ऐसे ही बदलाव करें.
वर्शन 1.6
वर्शन 1.6.8
12 जून, 2024
androidx.compose.material:material-*:1.6.8
रिलीज़ हो गया है. वर्शन 1.6.8 में ये बातें शामिल हैं.
वर्शन 1.6.7
1 मई, 2024
androidx.compose.material:material-*:1.6.7
रिलीज़ हो गया है. वर्शन 1.6.7 में ये बातें शामिल हैं.
वर्शन 1.6.6
17 अप्रैल, 2024
androidx.compose.material:material-*:1.6.6
रिलीज़ हो गया है. पिछली बार रिलीज़ होने के बाद से कोई बदलाव नहीं किया गया है.
वर्शन 1.6.5
3 अप्रैल, 2024
androidx.compose.material:material-*:1.6.5
रिलीज़ हो गया है. वर्शन 1.6.5 में ये बातें शामिल हैं.
वर्शन 1.6.4
20 मार्च, 2024
androidx.compose.material:material-*:1.6.4
रिलीज़ हो गया है. वर्शन 1.6.4 में ये बातें शामिल हैं.
वर्शन 1.6.3
6 मार्च, 2024
androidx.compose.material:material-*:1.6.3
रिलीज़ हो गया है. वर्शन 1.6.3 में ये शर्तें शामिल हैं.
गड़बड़ियां ठीक की गईं
- इसे फिर से फ़ोकस करने लायक बनाने के लिए,
ExposedDropdownMenu
में रिग्रेशन की समस्या ठीक करें. (c0e0ed, b/323694447)
वर्शन 1.6.2
21 फ़रवरी, 2024
androidx.compose.material:material-*:1.6.2
रिलीज़ हो गया है. वर्शन 1.6.2 में ये कमिट हैं.
वर्शन 1.6.1
7 फ़रवरी, 2024
androidx.compose.material:material-*:1.6.1
रिलीज़ हो गया है. वर्शन 1.6.1 में ये कमियां शामिल हैं.
वर्शन 1.6.0
24 जनवरी, 2024
androidx.compose.material:material-*:1.6.0
रिलीज़ हो गया है. वर्शन 1.6.0 में ये कमियां शामिल हैं.
वर्शन 1.6.0-rc01
10 जनवरी, 2024
androidx.compose.material:material-*:1.6.0-rc01
रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये कमिट हैं.
वर्शन 1.6.0-beta03
13 दिसंबर, 2023
androidx.compose.material:material-*:1.6.0-beta03
रिलीज़ हो गया है. वर्शन 1.6.0-beta03 में ये कमिट हैं.
वर्शन 1.6.0-beta02
29 नवंबर, 2023
androidx.compose.material:material-*:1.6.0-beta02
रिलीज़ हो गया है. वर्शन 1.6.0-beta02 में ये तय किए गए अपडेट शामिल हैं.
वर्शन 1.6.0-beta01
15 नवंबर, 2023
androidx.compose.material:material-*:1.6.0-beta01
रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये कमिट हैं.
वर्शन 1.6.0-alpha08
18 अक्टूबर, 2023
androidx.compose.material:material-*:1.6.0-alpha08
रिलीज़ हो गया है. वर्शन 1.6.0-alpha08 में ये कमिट हैं.
एपीआई में बदलाव
- किसी
materialIcon
फ़ंक्शन को उसके ओवरलोड के लिए बंद कर दें, जोautoMirror
पैरामीटर लेता है. (Ia338d)
गड़बड़ियां ठीक की गईं - बड़े कॉन्टेंट के लिए नेविगेशन आइटम की ऊंचाई अपने-आप बढ़ाएं. (0c4ecc, b/272336962)
वर्शन 1.6.0-alpha07
4 अक्टूबर, 2023
androidx.compose.material:material-*:1.6.0-alpha07
रिलीज़ हो गया है. वर्शन 1.6.0-alpha07 में ये कमिट हैं.
- डिपेंडेंसी अपडेट
वर्शन 1.6.0-alpha06
20 सितंबर, 2023
androidx.compose.material:material-*:1.6.0-alpha06
रिलीज़ हो गया है. वर्शन 1.6.0-alpha06 में ये कमिट हैं.
व्यवहार में बड़ा बदलाव
- ड्रॉर से जुड़ी सुविधाओं को
BottomSheetScaffold
से हटाया गया. पिछले फ़ंक्शन को ऐक्सेस करने के लिए, अपनेBottomSheetScaffold
को ड्रॉर में रैप करें. उदाहरण के लिएBottomSheetScaffoldWithDrawerSample
देखें. (I1dcc8)
एपीआई में बदलाव
- यह कंट्रोल करने के लिए कि स्कैफ़ोल्ड को अपने बच्चों को मापना है या नहीं, यह मापने के दौरान एक अस्थायी फ़्लैग उपलब्ध कराया गया है. डिफ़ॉल्ट रूप से, इसे मेज़रमेंट में मेज़र किया जाएगा. अगर आपको नई सेटिंग में समस्याएं आ रही हैं, तो कृपया समस्या की शिकायत करें. (If6e3b)
वर्शन 1.6.0-alpha05
6 सितंबर, 2023
androidx.compose.material:material-*:1.6.0-alpha05
रिलीज़ हो गया है. वर्शन 1.6.0-alpha05 में ये कमियां हैं.
नई सुविधाएं
- दाएं से बाएं लेआउट में रेंडर किए जाने पर, ऑटो-मिरर किए गए आइकॉन के लिए सहायता जोड़ी गई. मटीरियल-आइकॉन-कोर और मटीरियल-आइकॉन- एक्सटेंडेड मॉड्यूल में मौजूद आइकॉन, अब ऑटो-मिररिंग के लिए अतिरिक्त आइकॉन सेट उपलब्ध करा रहे हैं. ऐसा तब किया जा रहा है, जब आइकॉन ऐसा करने की अनुमति दे. नए सेट की शुरुआत में
Icons.AutoMirrored.Filled...
वगैरह लगा होता है. साथ ही, उन आइकॉन को होल्ड करें जो आरटीएल लेआउट पर अपने-आप मिरर होंगे. उन आइकॉन की सूची के लिए मटीरियल आइकॉन की सूची देखें जो अपने-आप डुप्लीकेट हो सकते हैं (और किए जाने चाहिए).
एपीआई में बदलाव
- दाएं से बाएं लेआउट में रेंडर किए जाने पर, ऑटो-मिरर किए गए आइकॉन के लिए सहायता जोड़ी गई. मटीरियल-आइकॉन-कोर और मटीरियल-आइकॉन-एक्सटेंडेड मॉड्यूल में मौजूद आइकॉन, अब ऑटो-मिररिंग के लिए अतिरिक्त आइकॉन सेट उपलब्ध करा रहे हैं. ऐसा तब किया जा रहा है, जब आइकॉन ऐसा करने की अनुमति दे. नए सेट की शुरुआत में
Icons.AutoMirrored.Filled...
वगैरह लगा होता है. साथ ही, उन आइकॉन को होल्ड करें जो आरटीएल लेआउट पर अपने-आप मिरर होंगे. उन आइकॉन की सूची के लिए मटीरियल आइकॉन की सूची देखें जो अपने-आप डुप्लीकेट हो सकते हैं (और किए जाने चाहिए). उन आइकॉन के लिए पहले दी गई आइकॉन प्रॉपर्टी को अब 'अब काम नहीं करता' के तौर पर मार्क कर दिया गया है. साथ ही, माइग्रेशन में मदद के लिए, रीप्लेसमेंट-ब्लॉक करने का सुझाव देती है. अगर आपको आरटीएल पर आइकॉन शेयर करने के लिए कोई खास तरीका नहीं देना है, तो हमारा सुझाव है कि आइकॉन के नए सेट पर माइग्रेट करें. उदाहरण के लिए,Icons.Filled.ArrowBack
कोIcons.AutoMirrored.Filled.ArrowBack
में रीफ़ैक्टर किया जाना चाहिए. (I4b511)
वर्शन 1.6.0-alpha04
23 अगस्त, 2023
androidx.compose.material:material-*:1.6.0-alpha04
रिलीज़ हो गया है. वर्शन 1.6.0-alpha04 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से
LookaheadScope
के अंदर, स्केल के अंदरSubcomposition
(जैसे किBottomSheetScaffold
) का इस्तेमाल करने वाले कुछ कॉम्पोनेंट अपने साइज़ को जल्दी पढ़ने की कोशिश कर रहे थे. (If2c5d) DropdownMenu
केoffset
का कैलकुलेशन करने पर, x ऑफ़सेट पूरी तरह से आपके डिवाइस के लेआउट की दिशा के हिसाब से तय होते हैं. स्क्रीन के निचले हिस्से के पास मेन्यू होने पर, y ऑफ़सेट को उलटा नहीं किया जाएगा. (IFCC74, b/294103942)BottomSheetScaffold
के लेआउट के अंदरूनी हिस्सों को ऑप्टिमाइज़ किया गया. साथ ही,LookaheadLayout
मेंBottomSheetScaffold
से जुड़ी संभावित समस्या को ठीक किया गया. (Ic0afa)
वर्शन 1.6.0-alpha03
9 अगस्त, 2023
androidx.compose.material:material-*:1.6.0-alpha03
रिलीज़ हो गया है. वर्शन 1.6.0-alpha03 में ये कमियां हैं.
एपीआई में बदलाव
- Material2 के कॉम्पोनेंट में अब एक अलग एपीआई है, जो Android में एक से दूसरे किनारे तक की सुविधा के साथ काम करने के लिए
windowInsets
को पास करता है. content3 कॉम्पोनेंट के उलट, content2 कॉम्पोनेंट डिफ़ॉल्ट रूप से इनसेट के साथ काम नहीं करते हैं और वैल्यू को मैन्युअल रूप से पास किया जाना चाहिए. दिशा-निर्देश के लिए, इससे जुड़े सैंपल देखें. (I655e8)
वर्शन 1.6.0-alpha02
26 जुलाई, 2023
androidx.compose.material:material-*:1.6.0-alpha02
रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये कमियां हैं.
एपीआई में बदलाव
- हम डेंसिटी डिपेंडेंसी को कॉम्पोनेंट लेवल पर ले जा रहे हैं. यह इन कॉम्पोनेंट पर लागू होता है:
SwipeToDismiss
और शीट पर आधारित कॉम्पोनेंट. जहां सघनता एक पैरामीटर है, कृपया दिए गए नए ओवरलोड का इस्तेमाल करें. (I1846e) - कंपोज़ेबल में अनुमति वाले इनपुट के बारे में बताने के लिए अतिरिक्त एनोटेशन (I51109)
- काम करने की सुविधा में रुकावट की व्याख्या करने के लिए, एपीआई फ़ाइलों को अपडेट किया गया (I8e87a, b/287516207)
FabPosition
(Ib7aea, b/170592777) के लिए, नया स्टार्ट अलाइनमेंट जोड़ा गया- मटीरियल 2 में
TextFieldColorsWithIcons
की जगह अबTextFieldColors
का इस्तेमाल किया गया है.leadingIconColor
याtrailingIconColor
को ओवरराइड करते समय,interactionSource
से ओवरलोड को भी बदलें. (Id57ed, b/199377790)
वर्शन 1.6.0-alpha01
21 जून, 2023
androidx.compose.material:material-*:1.6.0-alpha01
रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये कमियां हैं.
व्यवहार में होने वाले बदलाव
- मटीरियल 2 की टाइपोग्राफ़ी में,
includeFontPadding
का नाम अब डिफ़ॉल्ट रूप सेfalse
हो गया है. लाइन की ऊंचाई की डिफ़ॉल्ट स्टाइल को भीTrim.None
औरAlignment.Center
में बदल दिया गया है. साथ ही,Typography
केTextStyle
में साफ़ तौर परlineHeight
(एसपी में) जोड़ दिया गया है. अगर आपको इन वैल्यू को अपनी पसंद के मुताबिक बनाना है, तो एपीआई के दस्तावेज़ देखें. साथ ही, इन बदलावों के बारे में ज़्यादा जानने के लिए, ब्लॉग पोस्ट देखें. (Icabc3, I3f801, I04c03)
एपीआई में बदलाव
- Material के
Swipeable
एपीआई बंद कर दिए गए हैं. कृपया फ़ाउंडेशन केAnchoredDraggable
एपीआई देखें. इन्हें आसान और मुश्किल, दोनों तरह के इस्तेमाल के लिए ऑप्टिमाइज़ किया गया है. (I732e0)
गड़बड़ियां ठीक की गईं
BottomSheetState
,ModalBottomSheetState
, औरBottomDrawerState
अब प्रोग्रेस प्रॉपर्टी दिखाते हैं, जो स्वाइप की दिशा में मौजूदा (सेट किए गए) ऐंकर और सबसे नज़दीकी ऐंकर के बीच की प्रोग्रेस को दिखाता है. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
संस्करण 1.5
वर्शन 1.5.4
18 अक्टूबर, 2023
androidx.compose.material:material-*:1.5.4
रिलीज़ हो गया है. वर्शन 1.5.4 में ये कमिट हैं.
वर्शन 1.5.3
4 अक्टूबर, 2023
androidx.compose.material:material-*:1.5.3
रिलीज़ हो गया है. इस वर्शन में कोई बदलाव नहीं है
संस्करण 1.5.2
27 सितंबर, 2023
androidx.compose.material:material-*:1.5.2
रिलीज़ हो गया है. वर्शन 1.5.2 में ये कमियां शामिल हैं.
संस्करण 1.5.1
6 सितंबर, 2023
androidx.compose.material:material-*:1.5.1
को बिना किसी बदलाव के रिलीज़ किया गया. वर्शन 1.5.1 में ये कमियां शामिल हैं.
वर्शन 1.5.0
9 अगस्त, 2023
androidx.compose.material:material-*:1.5.0
रिलीज़ हो गया है. वर्शन 1.5.0 में ये कमियां शामिल हैं.
1.4.0 के बाद के अहम बदलाव
एपीआई में बदलाव
BottomSheetScaffold
के स्वाइप किए जाने वाले 1 एपीआई में बदलाव शामिल किए गए.BottomSheetState
केconfirmStateChange
पैरामीटर का नाम बदलकरconfirmValueChange
कर दिया गया है.progress
को अब फ़्लोट वैल्यू के तौर पर दिखाया जाता है.animateTo
औरsnapTo
अंदरूनी हैं. इसके बजाय,expand()
औरcollapse()
का इस्तेमाल करें.direction
औरoverflow
को हटा दिया गया है.offset
कोrequireOffset()
से बदल दिया गया है. I323b4- ड्रॉर में,
snapTo
फ़ंक्शन को गैर-प्रयोग के तौर पर उपलब्ध एपीआई के तौर पर मार्क करें. (Ib9c18, b/261425368) - सर्कुलर प्रोग्रेस इंडिकेटर के लिए एक ट्रैक कलर पैरामीटर जोड़ा गया. साथ ही, सर्कुलर और लीनियर, दोनों तरह की प्रोग्रेस इंडिकेटर के लिए, स्ट्रोक कैप पैरामीटर जोड़ा गया. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState
,ModalBottomSheetState.Saver
औरrememberModalBottomSheetState
केconfirmStateChange
का नाम बदलकरconfirmValueChange
किया. (Ib48d1)Modifier.minimumInteractiveComponentSize
जोड़ें. अगर एलिमेंट का साइज़ छोटा होगा, तो टच इंटरैक्शन को अलग करने के लिए इसका इस्तेमाल कम से कम 48.dp का साइज़ रिज़र्व करने के लिए किया जा सकता है. (I33f58, b/258495559)ModalBottomSheetLayout
में, स्वाइप किए जा सकने वाले एपीआई में बदलाव शामिल किए गए.ModalBottomSheetState
का animateTo अबanimationSpec
पैरामीटर को नहीं लेता और दिखाए गए ऑफ़सेट को अब शून्य किया जा सकता है. ऑफ़सेट की ज़रूरत के लिए,requireOffset
का इस्तेमाल करें. (Ia2e79)@JvmDefaultWithCompatibility
एनोटेशन जोड़ा जा रहा है (I8f206)ModalDrawer. DrawerState
केanimateTo
में, स्वाइप किए जा सकने वाले एपीआई में शामिल किए गए बदलावों को ओपन और क्लोज़ तरीकों से बदल दिया गया है. साथ ही, ऑफ़सेट को अब शून्य किया जा सकता है. ऑफ़सेट की ज़रूरत के लिए,requireOffset
का इस्तेमाल करें. (I3de9e)- अगर जेस्चर, स्क्रोल इवेंट बन सकते हैं, तो ड्रॉर और शीट को अपडेट किया गया है, ताकि दबाए जाने पर सही तरीके से कार्रवाई को रोका जा सके.
- सामग्री और content3 Text,
TextField
, औरOutlinedTextField
मेंminLines
पैरामीटर को जोड़ा गया. इसकी मदद से लाइनों की संख्या (I4af1d) के हिसाब से कॉम्पोनेंट की कम से कम ऊंचाई सेट की जा सकती है
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक करता है जहां
pullRefresh
वेलोसिटी का इस्तेमाल नहीं कर रहा था, जिसकी वजह से ओवरस्क्रोल दिखता था. साथ ही, इस्तेमाल किए गए वेलोसिटी (I7db65, b/266874741) के लिए फ़्लोट लौटाने के लिए,Modifier.pullRefresh
मेंonRelease
Lambda फ़ंक्शन के एपीआई सिग्नेचर को भी बदला है BottomSheetState
,ModalBottomSheetState
, औरBottomDrawerState
अब प्रोग्रेस प्रॉपर्टी दिखाते हैं, जो स्वाइप की दिशा में मौजूदा (सेट किए गए) ऐंकर और सबसे नज़दीकी ऐंकर के बीच की प्रोग्रेस को दिखाता है. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)- 'पुष्टि करें' कार्रवाई के नीचे दिखने वाली,
AlertDialog
खारिज करने की कार्रवाई को ठीक किया गया है, ताकि डायलॉग की चौड़ाई में फ़िट होने के लिए, ऐक्शन को एक-दूसरे के ऊपर रखा जा सके. यह सुधार, लागू करने की प्रक्रिया को मटीरियल डिज़ाइन की खास बातों के साथ अलाइन करता है. (I029de, b/235454277) - अगर
gesturesEnabled
को 'गलत है' पर सेट किया जाता है, तोBottomSheetScaffold
नेस्ट किए गए स्क्रोल में हिस्सा नहीं लेगा. (I634f3, b/215403277) - उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, स्लॉट के लिए खाली कॉन्टेंट देने पर
BottomSheetScaffold
क्रैश हो जाता था. (Ib24a5, b/235588730) - क्लिक/पॉइंटर इवेंट को रोकने वाले
PullRefreshIndicator
को ठीक करता है. (2494256, b/271777421) - स्क्रीन की दिशा बदलने पर
ModalBottomSheetLayout
के क्रैश होने की समस्या ठीक कर दी गई है. शीट के कॉन्टेंट में/पर लेआउट ऐनिमेशन (जैसे किModifier.animateContentSize
) अब आसानी से काम करता है. (I2f981, b/266780234)
वर्शन 1.5.0-rc01
26 जुलाई, 2023
androidx.compose.material:material-*:1.5.0-rc01
रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये कमिट शामिल हैं.
वर्शन 1.5.0-beta03
28 जून, 2023
androidx.compose.material:material-*:1.5.0-beta03
रिलीज़ हो गया है. वर्शन 1.5.0-beta03 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
BottomSheetState
,ModalBottomSheetState
, औरBottomDrawerState
अब प्रोग्रेस प्रॉपर्टी दिखाते हैं, जो स्वाइप की दिशा में मौजूदा (सेट किए गए) ऐंकर और सबसे नज़दीकी ऐंकर के बीच की प्रोग्रेस को दिखाता है. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
वर्शन 1.5.0-beta02
7 जून, 2023
androidx.compose.material:material-*:1.5.0-beta02
रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये कमिट हैं.
वर्शन 1.5.0-beta01
24 मई, 2023
androidx.compose.material:material-*:1.5.0-beta01
रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये कमिट हैं.
एपीआई में बदलाव
DrawerState
औरBottomDrawerState
का ऑफ़सेट अब शून्य नहीं हो सकता. इसके बजाय, ये ऑफ़सेट के बिना बताने के लिएFloat.NaN
दिखाते हैं. (Ie9855)DropdownMenu
याExposedDropdownMenu
बनाते समय, मेन्यू में दिखाए गए आइटम की वर्टिकल स्क्रोल स्थिति को कंट्रोल करने के लिए,ScrollState
में पास करने का विकल्प जोड़ा गया. (Idb009, b/185304441)ModalBottomSheetLayout
के जेस्चर को चालू/बंद करने के लिए सहायता जोड़ें, ताकि उपयोगकर्ता इसे ज़्यादा चुनिंदा बॉटमशीट (I40af0) के लिए कॉन्फ़िगर कर सकेBasicText
में रंग का पैरामीटर जोड़ा गया है, ताकि टेक्स्ट के रंग को बेहतर तरीके से ऐनिमेट या सेट किया जा सके. (Iffd88, b/246961787)- सिमैंटिक प्रॉपर्टी का नाम
isContainer
सेisTraversalGroup
किया जा रहा है (I121f6)
गड़बड़ियां ठीक की गईं
- 'पुष्टि करें' कार्रवाई के नीचे दिखने वाली,
AlertDialog
खारिज करने की कार्रवाई को ठीक किया गया है, ताकि डायलॉग की चौड़ाई में फ़िट होने के लिए, ऐक्शन को एक-दूसरे के ऊपर रखा जा सके. यह सुधार, लागू करने की प्रक्रिया को मटीरियल डिज़ाइन की खास बातों से अलाइन करता है. (I029de, b/235454277)
वर्शन 1.5.0-alpha04
10 मई, 2023
androidx.compose.material:material-*:1.5.0-alpha04
रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये कमियां हैं.
एपीआई में बदलाव
- हम डेंसिटी डिपेंडेंसी को कॉम्पोनेंट लेवल पर ले जा रहे हैं. यह इन कॉम्पोनेंट पर लागू होता है:
BottomDrawer
,ModalBottomSheetLayout
,BottomSheetScaffold
,Switch
,ModalDrawer
. जहां सघनता एक पैरामीटर है, कृपया दिए गए नए ओवरलोड का इस्तेमाल करें. (I8fbd8)
वर्शन 1.5.0-alpha03
19 अप्रैल, 2023
androidx.compose.material:material-*:1.5.0-alpha03
रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये कमियां हैं.
एपीआई में बदलाव
- नए
SwipeableV2
एपीआई इस्तेमाल करने के लिए,BottomDrawer
इंटर्नल अपडेट करें. इसकी वजह सेBottomDrawerState
में अब सिर्फ़ क्लास लेवल पर APIS को ही तय किया जाएगा. इसलिए, यहSwipeableState
से मेथड/प्रॉपर्टी इनहेरिट नहीं करेगा. हम एक इंटरनलSwipeableV2State
के साथ कंपोज़िशन का इस्तेमाल कर रहे हैं. ऑफ़सेट अब शून्य करने लायक फ़्लोटिंग पॉइंट प्रॉपर्टी है. मौजूदा वैल्यू और स्वाइप टारगेट वैल्यू को अब भीcurrentValue और targetValue प्रॉपर्टी से ऐक्सेस किया जा सकता है. क्लास लेवल के पिछले तरीके काम करते रहेंगे. जैसे- खोलें/बड़ा करें/बंद करें औरisOpen/isClosed
जैसी प्रॉपर्टी. (Iad40c, b/178529942, b/220676296)
गड़बड़ियां ठीक की गईं
- स्विच कॉम्पोनेंट के अंदरूनी हिस्से अपडेट किए गए. खींचकर छोड़ने पर, स्विच अब सबसे नज़दीकी (टारगेट स्थिति) की झलक दिखाएगा. (आईडी90d4)
BottomSheetScaffold
में ऐनिमेशन वाली शीट (जैसे, शीट कॉन्टेंट परModifier.animateContentSize
) को ऑप्टिमाइज़ कर दिया गया है और अब यह ठीक से काम करता है. (Ia913c, b/270518202, b/254446195)- अगर
gesturesEnabled
कोfalse
पर सेट किया जाता है, तोBottomSheetScaffold
नेस्ट किए गए स्क्रोल में हिस्सा नहीं लेगा. (I634f3, b/215403277)
वर्शन 1.5.0-alpha02
5 अप्रैल, 2023
androidx.compose.material:material-*:1.5.0-alpha02
रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, स्लॉट के लिए खाली कॉन्टेंट देने पर
BottomSheetScaffold
क्रैश हो जाता था. (Ib24a5, b/235588730) - इंटरसेप्ट करने वाले क्लिक / पॉइंटर इवेंट (2494256, b/271777421) को ठीक करता है
PullRefreshIndicator
वर्शन 1.5.0-alpha01
22 मार्च, 2023
androidx.compose.material:material-*:1.5.0-alpha01
रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- चिपग्रुप रीफ़्लो सैंपल जोड़ें. सिंगल लाइन वाले चिपग्रुप सैंपल में चाइल्ड चिप के बीच हॉरिज़ॉन्टल पैडिंग को अपडेट करें, ताकि स्पेसिफ़िकेशन से मैच किया जा सके. (I3b155)
- स्क्रीन की दिशा बदलने पर
ModalBottomSheetLayout
के क्रैश होने की समस्या ठीक कर दी गई है. शीट के कॉन्टेंट में/पर लेआउट ऐनिमेशन (जैसे किModifier.animateContentSize
) अब आसानी से काम करता है. (I2f981, b/266780234)
वर्शन 1.4
वर्शन 1.4.3
3 मई, 2023
androidx.compose.material:material-*:1.4.3
को बिना किसी बदलाव के रिलीज़ किया गया है (सिर्फ़ वर्शन बंप).
वर्शन 1.4.2
19 अप्रैल, 2023
androidx.compose.material:material-*:1.4.2
रिलीज़ हो गया है. वर्शन 1.4.2 में ये कमिट हैं.
वर्शन 1.4.1
5 अप्रैल, 2023
androidx.compose.material:material-*:1.4.1
रिलीज़ हो गया है. वर्शन 1.4.1 में ये कमियां शामिल हैं.
वर्शन 1.4.0
22 मार्च, 2023
androidx.compose.material:material-*:1.4.0
रिलीज़ हो गया है. वर्शन 1.4.0 में ये कमियां शामिल हैं.
1.3.0 के बाद से हुए अहम बदलाव
एपीआई में बदलाव
Modifier.minimumInteractiveComponentSize
जोड़ें. अगर एलिमेंट का साइज़ छोटा होगा, तो टच इंटरैक्शन को अलग करने के लिए इसका इस्तेमाल कम से कम 48.dp का साइज़ रिज़र्व करने के लिए किया जा सकता है. (I33f58, b/258495559)ModalDrawer
में, स्वाइप किए जा सकने वाले एपीआई में बदलाव शामिल किए गए.DrawerState
केanimateTo
को 'ओपन और क्लोज़' तरीकों से बदल दिया गया है. साथ ही, ऑफ़सेट को अब शून्य किया जा सकता है. ऑफ़सेट की ज़रूरत के लिए,requireOffset
का इस्तेमाल करें. (I3de9e)- सामग्री और content3 Text,
TextField
, औरOutlinedTextField
मेंminLines
पैरामीटर को जोड़ा गया. इसकी मदद से लाइनों की संख्या (I4af1d) के हिसाब से कॉम्पोनेंट की कम से कम ऊंचाई सेट की जा सकती है BasicText
औरBasicTextField
मेंminLines
पैरामीटर जोड़ा गया. यह लाइनों की संख्या (I24294, b/122476634) के हिसाब से, इन कंपोज़ेबल की कम से कम ऊंचाई सेट करने की अनुमति देता है
वर्शन 1.4.0-rc01
8 मार्च, 2023
androidx.compose.material:material-*:1.4.0-rc01
को बिना किसी बदलाव के रिलीज़ किया गया. वर्शन 1.4.0-rc01 में ये कमिट शामिल हैं.
वर्शन 1.4.0-beta02
22 फ़रवरी, 2023
androidx.compose.material:material-*:1.4.0-beta02
रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये कमिट हैं.
एपीआई में बदलाव
BottomSheetScaffold
में, स्वाइप किए जा सकने वाले एपीआई में बदलाव शामिल किए गए.BottomSheetState
केconfirmStateChange
पैरामीटर का नाम बदलकरconfirmValueChange
कर दिया गया है.progress
को अब फ़्लोट वैल्यू के तौर पर दिखाया जाता है.animateTo
औरsnapTo
अंदरूनी हैं. इसके बजाय,expand()
औरcollapse()
का इस्तेमाल करें.direction
औरoverflow
को हटा दिया गया है.offset
कोrequireOffset()
से बदल दिया गया है. (I323b4)
गड़बड़ियां ठीक की गईं
- क्लिक किए जा सकने वाले और चुने जा सकने वाले प्लैटफ़ॉर्म से सिमैंटिक भूमिकाओं को हटाया गया. साथ ही, अपडेट किए गए कॉम्पोनेंट को हटाया गया. ये कॉम्पोनेंट, मॉडिफ़ायर. सिमैंटिक्स (Ibb4ba) का इस्तेमाल करके भूमिकाएं सेट करने के लिए इस्तेमाल किए जाते थे.
- एक्सटेंडेड मटीरियल आइकॉन में एक छोटा सा अपडेट, जो भरे हुए
desktop_mac
,directions
, औरkitchen
आइकॉन में बदलाव करता है. (I65f5e)
वर्शन 1.4.0-beta01
8 फ़रवरी, 2023
androidx.compose.material:material-*:1.4.0-beta01
रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये कमिट मौजूद हैं.
एपीआई में बदलाव
- उस समस्या को ठीक करता है जहां
pullRefresh
वेलोसिटी का इस्तेमाल नहीं कर रहा था, जिसकी वजह से ओवरस्क्रोल दिखता था. साथ ही, इस्तेमाल किए गए वेलोसिटी (I7db65, b/266874741) के लिए फ़्लोट लौटाने के लिए,Modifier.pullRefresh
मेंonRelease
Lambda फ़ंक्शन के एपीआई सिग्नेचर को भी बदला है - वापस लाया गया प्रॉपर्टी गैटर
LocalMinimuTouchTargetEnforcement
. इसे 'अब काम नहीं करता' के तौर पर मार्क करके,LocalMinimumInteractiveComponentEnforcement
पर रीडायरेक्ट करें. (I60dd5)
वर्शन 1.4.0-alpha05
25 जनवरी, 2023
androidx.compose.material:material-*:1.4.0-alpha05
रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से
ModalBottomSheetLayout's HalfExpanded
के स्टेटस का हिसाब गलत तरीके से लगाया गया था और शीट फ़्लोटिंग दिख रही थी. (I8c615, b/265610459) ModalBottomSheetLayout
की उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, कुछ स्थितियों में शीट के छिपे हुए से दिखने वाली स्थिति में जाने पर, वह क्रैश हो जाता था. (Ia9265, b/265444789)
वर्शन 1.4.0-alpha04
11 जनवरी, 2023
androidx.compose.material:material-*:1.4.0-alpha04
रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये कमियां हैं.
एपीआई में बदलाव
- Surfaces पर
IsContainer
सिमैंटिक प्रॉपर्टी में जोड़ा गया. इस प्रॉपर्टी का इस्तेमाल बाद के किसी बदलाव में किया जाएगा. यह बदलाव, सरफ़ेस जैसे एलिमेंट के मतलब के आधार पर ट्रैवर्सल ऑर्डर को तय करता है. (I63379) - ड्रॉर में,
snapTo
फ़ंक्शन को गैर-प्रयोग के तौर पर उपलब्ध एपीआई के तौर पर मार्क करें. (Ib9c18, b/261425368) - सर्कुलर प्रोग्रेस इंडिकेटर के लिए एक ट्रैक कलर पैरामीटर जोड़ा गया. साथ ही, सर्कुलर और लीनियर, दोनों तरह की प्रोग्रेस इंडिकेटर के लिए, स्ट्रोक कैप पैरामीटर जोड़ा गया. (Ie668c, b/216325962, b/222964817)
ModalBottomSheetState
,ModalBottomSheetState.Saver
औरrememberModalBottomSheetState
केconfirmStateChange
का नाम बदलकरconfirmValueChange
किया. (Ib48d1)- काम न करने वाले छिपे हुए फ़ंक्शन की ज़्यादा रिटर्न टाइप शून्यता (Ibf7b0)
Modifier.minimumInteractiveComponentSize
जोड़ें. अगर एलिमेंट का साइज़ छोटा होगा, तो टच इंटरैक्शन को अलग करने के लिए इसका इस्तेमाल कम से कम 48.dp का साइज़ रिज़र्व करने के लिए किया जा सकता है. (I33f58, b/258495559)ModalBottomSheetLayout
में, स्वाइप किए जा सकने वाले एपीआई में बदलाव शामिल किए गए.ModalBottomSheetState
काanimateTo
, अबanimationSpec
पैरामीटर का इस्तेमाल नहीं करता है. साथ ही,offset
का एक्सपोज़र अब शून्य हो सकता है.offset
को ज़रूरी बनाने के लिए,requireOffset
का इस्तेमाल करें. (Ia2e79)
गड़बड़ियां ठीक की गईं
ModalBottomSheetLayout
की शीट की चौड़ाई अब ज़्यादा से ज़्यादा 640 dp है. (I71a4f, b/234927577)- उस समस्या को ठीक करता है जिसकी वजह से
rememberPullRefreshState
,refreshThreshold
औरrefreshingOffset
को समय के साथ अपडेट नहीं कर रहा था. (Ifed10, b/263159832) - प्रोग्रेस इंडिकेटर की प्रोग्रेस को अब उसकी अनुमानित रेंज के हिसाब से तय किया गया है. (I8a7eb, b/262262727)
- अगर
ModalBottomSheetState
को अब तक कोई ऐंकर नहीं मिला है, तो अपवाद लागू करने के बजायsnapTo
याanimateTo
को कॉल करने पर, यहcurrentValue
को बिना ऐनिमेशन के अपडेट कर देगा. (I2c91b) - Material 2
FilterChip
लागू करने के दौरान, चालू होने की स्थिति को ठीक किया गया. (Id326a, b/261329817) - उस गड़बड़ी को ठीक किया गया है जिसकी वजह से पोर्ट्रेट से लैंडस्केप मोड में घुमाने पर,
ModalBottomSheetLayout
क्रैश हो जाता था. ऐसाHalfExpanded
होने पर होता था. कृपया पक्का करें कि आपने सहीinitialValue
पास किया हो. उदाहरण के लिए, कॉन्फ़िगरेशन की जांच करके. (Ie8df7, b/182882364) - शीट का कॉन्टेंट खाली होने पर
ModalBottomSheetLayout
क्रैश होने की समस्या को ठीक कर दिया गया है.ModalBottomSheetLayout
अब खाली शीट सामग्री की अनुमति देता है. अगर शीट में मौजूद कॉन्टेंट खाली है, तो उसमें सिर्फ़ 'छिपाया गया' स्टेटस दिखेगा. (Ic2288, b/200980998, b/216693030)
आम समस्या
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.material:material-*:1.4.0-alpha03
रिलीज़ हो गया है. वर्शन 1.4.0-alpha03 में ये कमियां हैं.
एपीआई में बदलाव
@JvmDefaultWithCompatibility
एनोटेशन जोड़ा जा रहा है (I8f206)ModalDrawer
में,Swipeable
एपीआई में बदलाव शामिल किए गए.DrawerState
केanimateTo
कोopen
औरclose
तरीकों से बदल दिया गया है. इसलिए, ऑफ़सेट को अब शून्य किया जा सकता है. ऑफ़सेट की ज़रूरत के लिए,requireOffset
का इस्तेमाल करें. (I3de9e)- क्वेरी ऐन्सेस्टर की स्क्रोल जानकारी में मॉडिफ़ायर एपीआई जोड़ा गया. (I2ba9d, b/203141462)
Clickable
में इस्तेमाल किया जाता है, ताकि प्रेस इंटरैक्शन में देरी हो सके. ऐसा तब होता है, जब जेस्चर, स्क्रोल इवेंट बन सकते हैं.Scrollable ViewGroup
में इस्तेमाल किए जाने पर,Clickables
को ठीक किया गया है, जिससे रिपल में देरी नहीं हो रही है.- अगर जेस्चर, स्क्रोल इवेंट बन सकते हैं, तो ड्रॉर और शीट को अपडेट किया गया है, ताकि दबाए जाने पर सही तरीके से कार्रवाई को रोका जा सके.
गड़बड़ियां ठीक की गईं
- उस समस्या को ठीक कर दिया गया है जिसकी वजह से रीफ़्रेश करने की स्थिति को बदलकर, 'सही' नहीं किया गया था. हालांकि,
onRefresh
को कॉल करने के बाद,PullRefreshIndicator
रुक सकता था. (Ie2416, b/248274004)
डिपेंडेंसी से जुड़े अपडेट
- यूज़र इंटरफ़ेस (यूआई) और कंपोज़ मटीरियल अब लाइफ़साइकल 2.5.1 पर निर्भर करते हैं. (I05ab0, b/258038814)
वर्शन 1.4.0-alpha02
9 नवंबर, 2022
androidx.compose.material:material-*:1.4.0-alpha02
रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये कमियां हैं.
एपीआई में बदलाव
awaitFirstDown
औरwaitForUpOrCancellation
अबPointerEventPass
को स्वीकार करते हैं, ताकि ज़्यादा आसानी से पेमेंट किया जा सके. (I7579a, b/212091796)- सामग्री और content3 Text,
TextField
, औरOutlinedTextField
मेंminLines
पैरामीटर को जोड़ा गया. इसकी मदद से लाइनों की संख्या (I4af1d) के हिसाब से कॉम्पोनेंट की कम से कम ऊंचाई सेट की जा सकती है minLines
पैरामीटर कोBasicTex
t औरBasicTextField
में जोड़ा गया. इससे कंपोज़ेबल की कम से कम ऊंचाई सेट की जा सकती है लाइनों की संख्या (I24294, b/122476634)
वर्शन 1.4.0-alpha01
24 अक्टूबर, 2022
androidx.compose.material:material-*:1.4.0-alpha01
रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये कमियां हैं.
एपीआई में बदलाव
- जेस्चर डिटेक्टर के लिए एक नई विधि
awaitEachGesture()
को जोड़ा गया. यहforEachGesture()
की तरह काम करता है. हालांकि, जेस्चर (हाव-भाव) पर लूप पूरी तरह सेAwaitPointerEventScope
के अंदर काम करता है. इसलिए, बार-बार होने वाले इवेंट से कोई फ़र्क़ नहीं पड़ता. forEachGesture()
की जगह अबawaitEachGesture()
का इस्तेमाल किया जा रहा है, क्योंकि यह जेस्चर के बीच इवेंट को छोड़कर जाने की अनुमति देता है. (Iffc3f, b/251260206)
वर्शन 1.3
वर्शन 1.3.1
9 नवंबर, 2022
androidx.compose.material:material-*:1.3.1
रिलीज़ हो गया है. वर्शन 1.3.1 में ये कमियां शामिल हैं.
वर्शन 1.3.0
24 अक्टूबर, 2022
androidx.compose.material:material-*:1.3.0
रिलीज़ हो गया है. वर्शन 1.3.0 में ये कमियां शामिल हैं.
01.2.0 के बाद से हुए अहम बदलाव
व्यवहार पर असर डालने वाले बदलाव
- डायलॉग और पॉप-अप में काम करने की सीमा को घटाकर 8dp कर दिया गया है.
एपीआई में बदलाव
- Compose में पुल-टू-रीफ़्रेश करने के लिए कोई कॉम्पोनेंट जोड़ें (I29168).
- RangeSlider (I3b79a) में पैरामीटर के नाम को वैल्यू से वैल्यू में बदलें.
वर्शन 1.3.0-rc01
5 अक्टूबर, 2022
androidx.compose.material:material-*:1.3.0-rc01
रिलीज़ हो गया है. वर्शन 1.3.0-rc01 में ये कमिट हैं.
वर्शन 1.3.0-beta03
21 सितंबर, 2022
androidx.compose.material:material-*:1.3.0-beta03
रिलीज़ हो गया है. वर्शन 1.3.0-beta03 में ये कमिट हैं.
एपीआई में बदलाव
- Compose में पुल-टू-रीफ़्रेश करने की सुविधा वाला कॉम्पोनेंट जोड़ें (I29168)
वर्शन 1.3.0-beta02
7 सितंबर, 2022
androidx.compose.material:material-*:1.3.0-beta02
रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये कमिट हैं.
1.3.0-beta01 के बाद से कोई बदलाव नहीं
वर्शन 1.3.0-beta01
24 अगस्त, 2022
androidx.compose.material:material-*:1.3.0-beta01
रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये कमिट हैं.
व्यवहार पर असर डालने वाले बदलाव
डायलॉग और पॉप-अप में काम करने की सीमा को घटाकर 8dp कर दिया गया है.
'लिखें' डायलॉग और पॉप-अप के लिए, सुझाई गई ऊंचाई को 30 डीपी से घटाकर 8 डीपी पर कर दिया गया है. इस बदलाव से मटीरियल और यूज़र इंटरफ़ेस (यूआई) के कस्टम डायलॉग और पॉप-अप, दोनों पर असर पड़ेगा. यह बदलाव Android के S से पहले के वर्शन पर सुलभता की गड़बड़ी को कम करने के लिए किया गया है. इसका मकसद यह भी पक्का करना है कि उन विंडो में सुलभता सेवाएं, डायलॉग या पॉप-अप में मौजूद कॉन्टेंट के साथ इंटरैक्ट कर सकें.
इस बदलाव का असर आप पर सिर्फ़ तब पड़ेगा, जब 8dp से ज़्यादा के लेवल पर पसंद के मुताबिक डायलॉग या पॉप-अप लागू किया जाएगा. अपने डायलॉग या पॉप-अप की ऊंचाई को कम करें. अगर आपको इस नई सुविधा से ऑप्ट-आउट करना है, तो अपने डायलॉग या पॉप-अप को अपनी पसंद के हिसाब से सेट करें. हालांकि, इसका सुझाव नहीं दिया जाता है, क्योंकि सुलभता पर बुरा असर पड़ सकता है. साथ ही, यह डेवलपर की ज़िम्मेदारी होती है कि डायलॉग या पॉप-अप के निचले हिस्से से इंटरैक्ट किया जा सके और सुलभता सेवाओं उसे आसानी से पढ़ा जा सके.
वर्शन 1.3.0-alpha03
10 अगस्त, 2022
androidx.compose.material:material-*:1.3.0-alpha03
रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये कमियां हैं.
वर्शन 1.3.0-alpha02
27 जुलाई, 2022
androidx.compose.material:material-*:1.3.0-alpha02
रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये कमियां हैं.
बाहरी योगदान
- स्कैफ़ोल्ड में मौजूद
FloatingActionButton
से जुड़ीAnimatedVisibility
समस्या को ठीक करें (I3a0ae, b/224005027)
वर्शन 1.3.0-alpha01
29 जून, 2022
androidx.compose.material:material-*:1.3.0-alpha01
रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये कमियां हैं.
एपीआई में बदलाव
RangeSlider
में पैरामीटर के नाम को वैल्यू से बदलकर (I3b79a) करें
गड़बड़ियां ठीक की गईं
- कॉन्टेंट की बेहतर जानकारी देने के लिए, बैज का सैंपल अपडेट करें. (I10b9d)
वर्शन 1.2
वर्शन 1.2.1
10 अगस्त, 2022
androidx.compose.material:material-*:1.2.1
रिलीज़ हो गया है. वर्शन 1.2.1 में ये कमियां शामिल हैं.
वर्शन 1.2.0
27 जुलाई, 2022
androidx.compose.material:material-*:1.2.0
रिलीज़ हो गया है. वर्शन 1.2.0 में ये कमियां शामिल हैं.
वर्शन 1.2.0-rc03
29 जून, 2022
androidx.compose.material:material-*:1.2.0-rc03
रिलीज़ हो गया है. वर्शन 1.2.0-rc03 में ये कमिट हैं.
- 1.2.0-rc02 के बाद से कोई बदलाव नहीं किया गया है.
वर्शन 1.2.0-rc02
22 जून, 2022
androidx.compose.material:material-*:1.2.0-rc02
रिलीज़ हो गया है. वर्शन 1.2.0-rc02 में ये कमिट हैं.
वर्शन 1.2.0-rc01
15 जून, 2022
androidx.compose.material:material-*:1.2.0-rc01
रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.
एपीआई में बदलाव
- लिखने की लाइब्रेरी में इंटरफ़ेस अब jdk8 डिफ़ॉल्ट इंटरफ़ेस तरीकों (I5bcf1) का इस्तेमाल करके बनाए जाते हैं
गड़बड़ियां ठीक की गईं
- बैज को आइकॉन के बजाय लेबल पर लगाने के लिए, सबसे पहले मौजूद आइकॉन टैब वाला बैज अपडेट करता है. (I90993)
वर्शन 1.2.0-beta03
1 जून, 2022
androidx.compose.material:material-*:1.2.0-beta03
रिलीज़ हो गया है. वर्शन 1.2.0-beta03 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- उस गड़बड़ी को ठीक किया गया है जहां
BottomSheetScaffold
सबसे ऊपर मौजूद ऐप्लिकेशन बार के शैडो पर ड्रॉइंग कर रहा था.BottomSheetScaffold
अब स्नैकबार को डालते समय, शीट की स्थिति को भी ध्यान में रखता है: 'छोटा किया गया' स्थिति में, स्नैकबार को शीट और एफ़एबी के ऊपर रखा जाता है; बड़ा करने पर, स्नैकबार शीट के निचले हिस्से में लगा दिए जाते हैं. (Ia80b5, b/187771422)
वर्शन 1.2.0-beta02
18 मई, 2022
androidx.compose.material:material-*:1.2.0-beta02
रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये कमिट हैं.
वर्शन 1.2.0-beta01
11 मई, 2022
androidx.compose.material:material-*:1.2.0-beta01
रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये कमिट मौजूद हैं.
नई सुविधाएं
- यह 1.2 की पहली बीटा रिलीज़ है!
एपीआई में बदलाव
TextFieldDefaults.BorderStroke
कंपोज़ेबल का नाम बदला गया, जोOutlinedTextField
सेTextFieldDefaults.BorderBox
में बॉर्डर स्ट्रोक बनाता है. (I5f295)
वर्शन 1.2.0-alpha08
20 अप्रैल, 2022
androidx.compose.material:material-*:1.2.0-alpha08
रिलीज़ हो गया है. वर्शन 1.2.0-alpha08 में ये कमियां हैं.
एपीआई में बदलाव
PointerInputChange
में कुछ हद तक इस्तेमाल (डाउन या पोज़िशन) पर रोक लगा दी गई है. इस बदलाव का पूरा इस्तेमाल करने के लिए,consume()
का इस्तेमाल किया जा सकता है.isConsumed
का इस्तेमाल करके, यह पता लगाया जा सकता है कि पहले किसी दूसरे व्यक्ति ने इस बदलाव का इस्तेमाल किया है या नहीं.PointerInputChange::copy()
अब हमेशा कम जानकारी वाली कॉपी बनाता है. इसका मतलब है कि अगर किसी वीडियो की कॉपी मिटा दी जाती है, तो उस वीडियो कीPointerInputChange
कॉपी इस्तेमाल कर ली जाएंगी. अगर आपको अनबाउंडPointerInputChange
बनाना है, तो इसके बजाय कंस्ट्रक्टर का इस्तेमाल करें. (Ie6be4, b/225669674)
वर्शन 1.2.0-alpha07
6 अप्रैल, 2022
androidx.compose.material:material-*:1.2.0-alpha07
रिलीज़ हो गया है. वर्शन 1.2.0-alpha07 में ये कमिट हैं.
वर्शन 1.2.0-alpha06
23 मार्च, 2022
androidx.compose.material:material-*:1.2.0-alpha06
रिलीज़ हो गया है. वर्शन 1.2.0-alpha06 में ये कमियां हैं.
एपीआई में बदलाव
- Surface API (I56bcb) में किए गए बदलावों को फ़ॉलो करने के लिए, क्लिक किए जा सकने वाले Card API से जुड़े अपडेट
- Material 2 Surface API में अपडेट किए गए हैं. इसमें, चुने जा सकने वाले और टॉगल किए जा सकने वाले प्लैटफ़ॉर्म के लिए, ज़रूरत से ज़्यादा लोड होने वाले अन्य फ़ंक्शन जोड़े गए हैं. (Ifcca5)
वर्शन 1.2.0-alpha05
9 मार्च, 2022
androidx.compose.material:material-*:1.2.0-alpha05
रिलीज़ हो गया है. वर्शन 1.2.0-alpha05 में ये कमियां हैं.
एपीआई में बदलाव
LazyVerticalGrid
औरLazyHorizontalGrid
की स्थिति में अब कोई बदलाव नहीं हुआ है. (I307c0)LazyVerticalGrid/LazyHorizontalGrid
और इससे जुड़े सभी एपीआई को .grid सबपैकेज में ले जाया गया. कृपया अपने इंपोर्ट को androidx.compos.foundation.lazy से androidx.compos.foundation.lazy.grid में अपडेट करें. (I2d446, b/219942574)- पिछली बार कन्वर्ज़न वैल्यू के तौर पर व्यू के आधार पर किए गए बदलाव को वापस लाया गया
WindowInsetsControllerCompat
को इस्तेमाल किया है और फिर से एक ऐसी विंडो की ज़रूरत है जो कुछ विंडो फ़्लैग को प्रबंधित करने के लिए ज़रूरी है. अब काम नहीं करताViewCompat.getWindowInsetsController
का इस्तेमालWindowCompat.getInsetsController
के पक्ष में करें, ताकि यह पक्का किया जा सके कि सही विंडो इस्तेमाल किया गया हो (जैसे कि व्यू किसी डायलॉग में हो). (I660ae, b/219572936) - टेक्स्ट:
includeFontPadding
अब डिफ़ॉल्ट रूप से बंद है. कॉन्टेंट बनानेincludeFontPadding=false
की वजह से क्लिप बनाने से जुड़ी समस्याएं ठीक की गईं साथ ही, लंबी स्क्रिप्ट के लिए कोई क्लिपिंग नहीं होनी चाहिए. (I31c84, b/171394808) - क्रॉस-ऐक्सिस के साइज़ तय करने के लिए, नया
LazyVerticalGrid
एपीआई जोड़ा गया (I17723)
वर्शन 1.2.0-alpha04
23 फ़रवरी, 2022
androidx.compose.material:material-*:1.2.0-alpha04
रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये कमियां हैं.
एपीआई में बदलाव
Add support for filter chips
(I39a6e, b/192585545)TextFieldDecorationBox
और को जोड़ा गयाOutlinedTextFieldDecorationBox
.BasicTextField
के साथ इनका इस्तेमाल करना मटीरियल डिज़ाइन टेक्स्ट के आधार पर कस्टम टेक्स्ट फ़ील्ड बनाने में आपकी मदद करेगा लेकिन कस्टमाइज़ेशन के लिए ज़्यादा विकल्प के साथ फ़ील्ड.- यह टेक्स्ट फ़ील्ड में हॉरिज़ॉन्टल और वर्टिकल पैडिंग (जगह) अडजस्ट करने का तरीका बताता है. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/1798825976, b/1680036
ComposableTarget
,ComposableTargetMarker
, और लोगों को जोड़ा गयाComposableOpenTarget
जो कब के समय की रिपोर्टिंग को इकट्ठा करने की अनुमति देता है कंपोज़ेबल फ़ंक्शन को किसी ऐसे एप्लीयर को टारगेट करना कहते हैं जो पहले नहीं था जिन्हें इस्तेमाल करने के लिए डिज़ाइन किया गया है.ज़्यादातर मामलों में एनोटेशन का अनुमान लगाने के लिए, कंपाइलर प्लगिन इसलिए यह ज़रूरी है कि इन एनोटेशन का सीधे इस्तेमाल करने पर दुर्लभ . जिन मामलों का अनुमान नहीं लगाया जा सकता उनमें बनाना और एक कस्टम उपकरणर, ऐब्स्ट्रैक्ट कंपोज़ेबल फ़ंक्शन का इस्तेमाल करके, जैसे कि इंटरफ़ेस मेथड), फ़ील्ड या ग्लोबल वैरिएबल कंपोज़ेबल लैम्डा (लोकल वैरिएबल और पैरामीटर का अनुमान लगाया जाता है), या
ComposeNode
या इससे जुड़े कंपोज़ेबल फ़ंक्शन का इस्तेमाल करते समय.कस्टम ऐप्लायर के लिए, कंपोज़ेबल फ़ंक्शन
ComposeNode
याReusableComposeNode
को जोड़ने की ज़रूरत है फ़ंक्शन और किसी भी फ़ंक्शन के लिए,CompoableTarget
एनोटेशन कंपोज़ेबल लैम्डा पैरामीटर प्रकार. हालांकि, हमारा सुझाव है कि के साथ एक ऐसी व्याख्या बनाएंComposableTargetMarker
और फिर मार्क की गई जानकारी का इस्तेमाल करेंComposableTarget
लिखने के बजाय बनाया गया है. कंपोज़ेबल एनोटेशनComposableTargetMarker
से मार्क की गई वैल्यू, इसके बराबर है एट्रिब्यूट के पूरी तरह क्वालिफ़ाइड नाम के साथComposbleTarget
क्लास का इस्तेमाल applier पैरामीटर के तौर पर करें. उदाहरण के लिए,ComposableTargetMarker
anroidx.compose.ui.UiComposable
देखें. (I38f11)
वर्शन 1.2.0-alpha03
9 फ़रवरी, 2022
androidx.compose.material:material-*:1.2.0-alpha03
रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- जोड़े गए चिप के ग्रुप का सैंपल (I97080, b/192585545)
वर्शन 1.2.0-alpha02
26 जनवरी, 2022
androidx.compose.material:material-*:1.2.0-alpha02
रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये कमियां हैं.
एपीआई में बदलाव
- ओवरलोड वाले तरीकों में
NonRestartableComposable
को जोड़ा गया इस्तेमाल कर सकते हैं. यह कंपाइलर को कम करता है उन सभी पैरामीटर के लिए जनरेट की गई मेमोाइज़ेशन जांच (इसके बराबर है) को अंदरूनी फ़ंक्शन में दोहराया जाता है. (I90490) - ऐक्शन चिप के लिए सहायता जोड़ें (I07100, b/192585545)
वर्शन 1.2.0-alpha01
12 जनवरी, 2022
androidx.compose.material:material-*:1.2.0-alpha01
रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये कमियां हैं.
डिपेंडेंसी से जुड़े अपडेट
- अब Kotlin
1.6.10
पर निर्भर करता है.
बाहरी योगदान
- अब
ModalBottomSheetState
मेंisSkipHalfExpanded
फ़्लैग मौजूद है. इसे कंस्ट्रक्टर की मदद से सेट किया जा सकता है या बाद में,ModalBottomSheetState
कीisSkipHalfExpanded
प्रॉपर्टी कोtrue
पर सेट करके इसे अपडेट किया जा सकता है.isSkipHalfExpanded
की वैल्यू अपडेट करने पर, शीट फिर से बन जाती है. (I18b86, b/186669820)
वर्शन 1.1
वर्शन 1.1.1
23 फ़रवरी, 2022
androidx.compose.material:material-*: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.material:material-*: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.material:material-*:1.1.0-rc03
रिलीज़ हो गया है. वर्शन 1.1.0-rc03 में ये कमिट शामिल हैं.
ऐप्लिकेशन के व्यवहार में बदलाव
ध्यान दें कि Compose 1.0 के हिसाब से, मटीरियल कॉम्पोनेंट अपने लेआउट स्पेस को बड़ा करेंगे, ताकि मटीरियल सुलभता से जुड़े दिशा-निर्देश टच टारगेट के साइज़ को पूरा कर सके. उदाहरण के लिए, बटन के टच टारगेट का साइज़ कम से कम 48x48dp तक हो जाएगा, भले ही आपने बटन का साइज़ छोटा सेट किया हो. यह कंपोज़ मटीरियल को मटीरियल डिज़ाइन कॉम्पोनेंट के समान व्यवहार से अलाइन करता है, ताकि व्यू और कंपोज़ को मिक्स करने पर उन्हें एक जैसा व्यवहार मिले. इस बदलाव से यह भी पक्का होगा कि जब Compose मटीरियल कॉम्पोनेंट का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाया जाता है, तब टच टारगेट की सुलभता से जुड़ी कम से कम ज़रूरी शर्तें पूरी हो जाएं.
गड़बड़ियां ठीक की गईं
- कम से कम टच टारगेट मॉडिफ़ायर की जांच करते समय, लेआउट इंस्पेक्टर के लिए कुछ बेहतर डीबग जानकारी जोड़ी गई. (aosp/1955036)
वर्शन 1.1.0-rc01
15 दिसंबर, 2021
androidx.compose.material:material-*:1.1.0-rc01
रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
Checkbox
(I38b03, b/175198975, b/202309440) के लिए लागू किए गए कोने की रेडियस को ठीक करें
वर्शन 1.1.0-beta04
1 दिसंबर, 2021
androidx.compose.material:material-*:1.1.0-beta04
रिलीज़ हो गया है. वर्शन 1.1.0-beta04 में ये कमिट हैं.
नई सुविधाएं
- Kotlin
1.6.0
के साथ काम करने के लिए अपडेट किया गया
वर्शन 1.1.0-beta03
17 नवंबर, 2021
androidx.compose.material:material-*:1.1.0-beta03
रिलीज़ हो गया है. वर्शन 1.1.0-beta03 में ये कमिट शामिल हैं.
वर्शन 1.1.0-beta02
3 नवंबर, 2021
androidx.compose.material:material-*:1.1.0-beta02
रिलीज़ हो गया है. वर्शन 1.1.0-beta02 में ये तय किए गए हिस्से शामिल हैं.
गड़बड़ियां ठीक की गईं
- रिपल्स और अन्य संकेतों को अब सिर्फ़ तभी देरी से दिखाया जाएगा, जब वे Modifier.scrollable() कंटेनर के अंदर होंगे, न कि डाउन इवेंट के लिए हमेशा देर से. (Ibefe0, b/203141462)
वर्शन 1.1.0-beta01
27 अक्टूबर, 2021
androidx.compose.material:material-*:1.1.0-beta01
रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये कमिट हैं.
नई सुविधाएं
- अब रिपल्स पर कर्सर घुमाने और फ़ोकस की स्थितियों का इस्तेमाल करने की सुविधा मिलती है. इसलिए, बटन जैसे कॉम्पोनेंट पर कर्सर घुमाने / उस पर फ़ोकस करने से, अब सही स्थिति का ओवरले दिखेगा.
वर्शन 1.1.0-alpha06
13 अक्टूबर, 2021
androidx.compose.material:material-*:1.1.0-alpha06
रिलीज़ हो गया है. वर्शन 1.1.0-alpha06 में ये कमियां हैं.
एपीआई में बदलाव
- लेआउट के लिए चाइल्ड-लेस ओवरलोड जोड़ा गया. साथ ही, इसकी क्षमता को बेहतर बनाया गया (Ib0d9a)
TextField
और अंदरDropdownMenu
के साथExposedDropdownMenuBox
के आधार परExposedDropdownMenu
को लागू करना (If60b2)PopupProperties
मेंdismissOnOutsideClick
को जोड़ दिया गया. पहले यहdismissOnClickOutside
हटा दिया गया, जो अब काम नहीं करता. नई प्रॉपर्टी को क्लिक का क्रम और ऐंकर बाउंड मिल जाते हैं. इससे, यह बेहतर कंट्रोल मिलता है कि onखारिजRequest को शुरू किया जाना चाहिए या नहीं. उदाहरण के लिए, इसका इस्तेमाल करके, ऐंकर को उसके टच को खारिज होने से रोका जा सकता है.updateAndroidWindowManagerFlags
कोPopupProperties
में जोड़ा गया. इसमें Android WindowManager को पॉप-अप से भेजे गए फ़्लैग पर कम लेवल का कंट्रोल मिलता है. लैम्डा का पैरामीटर, पॉपअप प्रॉपर्टी की उन वैल्यू से तय किए गए फ़्लैग होंगे जिनकी वजह से WindowManager फ़्लैग बनते हैं: जैसे, फ़ोकस करने लायक. Lambda फ़ंक्शन का नतीजा, आखिरी फ़्लैग होगा, जिसे Android WindowManager को भेजा जाएगा. डिफ़ॉल्ट रूप से, UpdateAndroidWindowManagerFlags पैरामीटर से तय किए गए फ़्लैग में कोई बदलाव नहीं करता. इस एपीआई का इस्तेमाल सावधानी से किया जाना चाहिए. यह सिर्फ़ उन मामलों में होना चाहिए जहां पॉप-अप के काम करने के लिए ज़रूरी शर्तें पूरी होती हों. (I6e9f9)
वर्शन 1.1.0-alpha05
29 सितंबर, 2021
androidx.compose.material:material-*:1.1.0-alpha05
रिलीज़ हो गया है. वर्शन 1.1.0-alpha05 में ये कमियां हैं.
एपीआई में बदलाव
- इसमें ऐसे मटीरियल कॉम्पोनेंट के लिए कम से कम टच टारगेट का साइज़ जोड़ा जाता है जिनमें ऐक्सेस किया जा सकने वाला टच टारगेट नहीं होता. यह कॉम्पोनेंट के आस-पास ज़्यादा स्पेस जोड़ता है, ताकि यह पक्का किया जा सके कि उनमें ज़रूरत के मुताबिक टच टारगेट है. इस वजह से, ऐसे मौजूदा यूज़र इंटरफ़ेस (यूआई) बदल सकते हैं जो यह मानते हैं कि इन कॉम्पोनेंट का साइज़, उनके विज़ुअल साइज़ के मुताबिक है और टच टारगेट के साइज़ के हिसाब से इसमें शामिल नहीं किया जाता. पूरे हैरारकी में इस व्यवहार को बंद करने के लिए, एक्सपेरिमेंटल
LocalMinimumTouchTargetEnforcement
कंपोज़िशन लोकल का इस्तेमाल किया जा सकता है. हालांकि, इसका मकसद मौजूदा यूज़र इंटरफ़ेस (यूआई) को नए कम से कम साइज़ के हिसाब से अपडेट करते समय सिर्फ़ कुछ समय के लिए एस्केप हैच करना है. (I9b966, b/149691127, b/171509422) - प्रयोग के तौर पर TextFieldColorsWithIcons इंटरफ़ेस जोड़ा गया. इसमें, LeadColor और TrailColors में, इंटरैक्शनSource उपलब्ध कराने के लिए, TextFieldColors का इस्तेमाल किया जा रहा है. यह फ़ोकस स्थिति के हिसाब से, TextField के रंग-रूप को बदलने को चालू करता है. (I66923, b/198402662)
वर्शन 1.1.0-alpha04
15 सितंबर, 2021
androidx.compose.material:material-*:1.1.0-alpha04
रिलीज़ हो गया है. वर्शन 1.1.0-alpha04 में ये कमियां हैं.
एपीआई में बदलाव
performGesture
औरGestureScope
अब सेवा में नहीं हैं. इनमें ये शामिल हैंperformTouchInput
औरTouchInjectionScope
से बदल दिया गया है. (Ia5f3f, b/190493367)SemanticsNode
मेंtouchBoundsInRoot
को जोड़ा में कम से कम टच टारगेट साइज़ शामिल होता है, ताकि डेवलपर यह भी पक्का किया जा सकता है कि टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई कार्रवाई होती है) सुलभता के कम से कम थ्रेशोल्ड को पूरा करते हैं. (I2e14b, b/197751214)
गड़बड़ियां ठीक की गईं
- क्लिप को टच टारगेट की सीमाओं को पार करने की अनुमति दें टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई कार्रवाई होती है) के लिए, क्लिप का हिस्सा. (I43e10, b/171509422)
- कंपोज़ेबल
Divider
को इस पर अपडेट किया गया मोटाई पैरामीटर के लिएDp.Hairline
का पालन करें सिंगल पिक्सल डिवाइडर बनाने के लिए सहायता पाएं इससे कोई फ़र्क़ नहीं पड़ता कि डिसप्ले सघनता कितनी है. (I16ffb, b/196840810)
वर्शन 1.1.0-alpha03
1 सितंबर, 2021
androidx.compose.material:material-*:1.1.0-alpha03
रिलीज़ हो गया है. वर्शन 1.1.0-alpha03 में ये कमियां हैं.
नई सुविधाएं
- Kotlin
1.5.30
पर निर्भर करने के लिए, कंपोज़1.1.0-alpha03
को अपडेट किया गया. (I74545)
एपीआई में बदलाव
- क्लिप की गई सीमाएं पाने के लिए, जांच का तरीका जोड़ा गया. (I6b28e)
- ViewConfiguration में कम से कम टच टारगेट साइज़ जोड़ा गया को सिमैंटिक और पॉइंटर इनपुट में इस्तेमाल किया जा सकता है. (Ie861c)
वर्शन 1.1.0-alpha02
18 अगस्त, 2021
androidx.compose.material:material-*:1.1.0-alpha02
रिलीज़ हो गया है. वर्शन 1.1.0-alpha02 में ये कमियां हैं.
बाहरी योगदान
- जहां स्वाइप ऑफ़सेट किसी ऐंकर की राउंडिंग गड़बड़ी के अंदर हो, तब स्वाइप करने लायक स्टेट के व्यवहार को ठीक करें. (I03d39, b/191993377)
वर्शन 1.1.0-alpha01
4 अगस्त, 2021
androidx.compose.material:material-*:1.1.0-alpha01
रिलीज़ हो गया है. वर्शन 1.1.0-alpha01 में ये कमियां हैं.
एपीआई में बदलाव
DrawScope#drawImage
तरीका अपडेट किया गया सोर्स और डेस्टिनेशन रेक्टैंगल का इस्तेमाल करता है फ़िल्टर क्वालिटी का इस्तेमाल करने के लिए पैरामीटर. यह Pixel के लिए काम का है पिक्सलेट करने के लिए डिज़ाइन किया गया आर्ट जब इसे पिक्सल आधारित आर्ट के लिए बढ़ाया जा सकता हो. अपडेट किया गया BitmapPainter + इमेज कंपोज़ेबल इसके अलावा, फ़िल्टर क्वालिटी का एक वैकल्पिक फ़िल्टर भी इस्तेमाल किया जा सकता है. पैरामीटर (Ie4fb0, b/180311607)- BadgeBox का नाम बदलकर BadgedBox किया गया. हालांकि, बैज कंपोज़ेबल को स्वीकार करने के लिए, पैरामीटर में बदलाव किया गया. बैज कॉम्पोनेंट जोड़ा गया, जो किसी बैजेडबॉक्स का खास बैज कॉन्टेंट है. (I639c6)
- नेविगेशन रेल कॉम्पोनेंट जोड़ा गया, इस्तेमाल की जानकारी के लिए दस्तावेज़ और नमूने देखें (I8de77)
गड़बड़ियां ठीक की गईं
- नीचे की ओर अलाइन किया गया नेविगेशन रेल सैंपल और कैटलॉग ऐप्लिकेशन जोड़ा गया डेमो. (I3cffc)
- डायलॉग, अब प्लैटफ़ॉर्म के साइज़ से जुड़े व्यवहार के हिसाब से होंगे. इस व्यवहार को बदलने के लिए, isPlatformDefaultwidth को 'गलत' पर सेट करें. (इफ़फ़ेड, b/192682388)
- कैटलॉग ऐप्लिकेशन में नेविगेशन-रेल डेमो जोड़ा गया. (I04960)
- कैटलॉग ऐप्लिकेशन में बैज डेमो जोड़ा गया. (If285d)
संस्करण 1.0
वर्शन 1.0.5
3 नवंबर, 2021
androidx.compose.material:material-*:1.0.5
रिलीज़ हो गया है. वर्शन 1.0.5 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- getStateOf इंस्टेंस से जुड़ी क्रैश ट्रैकिंग को ठीक किया गया. (aosp/1792247)
वर्शन 1.0.4
13 अक्टूबर, 2021
androidx.compose.material:material-*:1.0.4
रिलीज़ हो गया है. वर्शन 1.0.4 में ये कमियां शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.31
पर निर्भर करने के लिए अपडेट किया गया
वर्शन 1.0.3
29 सितंबर, 2021
androidx.compose.material:material-*:1.0.3
रिलीज़ हो गया है. वर्शन 1.0.3 में ये कमियां शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.30
पर निर्भर करने के लिए अपडेट किया गया
वर्शन 1.0.2
1 सितंबर, 2021
androidx.compose.material:material-*:1.0.2
रिलीज़ हो गया है. वर्शन 1.0.2 में ये कमियां शामिल हैं.
कंपोज़ 1.0.2
रिलीज़ के साथ काम करने के लिए अपडेट किया गया. 1.0.2
लिखें, Kotlin 1.5.21
के साथ अब भी काम करता है.
वर्शन 1.0.1
4 अगस्त, 2021
androidx.compose.material:material-*:1.0.1
रिलीज़ हो गया है. वर्शन 1.0.1 में ये कमियां शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- Kotlin
1.5.21
पर निर्भर करने के लिए अपडेट किया गया.
वर्शन 1.0.0
28 जुलाई, 2021
androidx.compose.material:material-*: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 और AGP7.1
के अगले वर्शन में ठीक कर दी जाएगी. (b/194289155)
वर्शन 1.0.0-rc02
14 जुलाई, 2021
androidx.compose.material:material-*:1.0.0-rc02
रिलीज़ हो गया है. वर्शन 1.0.0-rc02 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- डायलॉग, अब प्लैटफ़ॉर्म के साइज़ से जुड़े व्यवहार के हिसाब से होंगे. इस व्यवहार को बदलने के लिए,
usePlatformDefaultWidth
को 'गलत' पर सेट करें. (इफ़फ़ेड, b/192682388)
वर्शन 1.0.0-rc01
1 जुलाई, 2021
androidx.compose.material:material-*:1.0.0-rc01
रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये कमिट शामिल हैं.
एपीआई में बदलाव
BadgeBox
कॉम्पोनेंट जोड़ा गया. इसके इस्तेमाल की जानकारी पाने के लिए, दस्तावेज़ और सैंपल देखें (I5e284)PopupProperties
मेंuseDefaultMaxWidth
का नाम बदलकरusePlatformDefaultWidth
कर दिया गया. (I05710)- डायलॉग बॉक्स अब स्क्रीन की पूरी चौड़ाई का इस्तेमाल कर सकते हैं. (I83929, b/190810877)
- एक्सपेरिमेंटल रेंज स्लाइडर लागू करना (I2f4b3) जोड़ा गया
गड़बड़ियां ठीक की गईं
- मटीरियल डिज़ाइन की विशेषताओं के हिसाब से अलाइन करने के लिए, अमान्य इनपुट वाले OutlinedTextField को प्लेसहोल्डर के तौर पर इस्तेमाल करते समय लेबल के लिए गड़बड़ी वाले रंग का इस्तेमाल करना बंद कर दिया गया है. बाद वाला टेक्स्ट तब लागू होता है, जब टेक्स्ट फ़ील्ड में कोई इनपुट टेक्स्ट न हो और टेक्स्ट फ़ील्ड फ़ोकस में न हो. इस बदलाव के साथ ही,
TextFieldColors.labelColor()
फ़ंक्शन मेंerror:Boolean
पैरामीटर का मतलब भी बदल गया: अगर लेबल का इस्तेमाल प्लेसहोल्डर के तौर पर किया जा रहा है, तो इनपुट के अमान्य होने पर भी यहfalse
दिखाएगा. (I45f78)
वर्शन 1.0.0-beta09
16 जून, 2021
androidx.compose.material:material-*:1.0.0-beta09
रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये कमिट हैं.
एपीआई में बदलाव
- बॉर्डर के आकार को पसंद के मुताबिक बनाने के लिए, OutlinedTextField में आकार पैरामीटर जोड़ा गया (I8f39e, b/181322957)
- TextOverflow को इनलाइन क्लास में बदला गया. (I433af)
गड़बड़ियां ठीक की गईं
- Bottomड्रॉर में Scrim, BackdropScaffold और ModalBottomSheetLayout गायब हो जाएंगे, फिर Color.Unspecified पास किया जाता है (I2d899, b/182063309)
प्रोफ़ाइल के नियम जोड़े गए
इस रिलीज़ में, कंपोज़ की सुविधा वाले इन मॉड्यूल में प्रोफ़ाइल के नियम जोड़े गए हैं (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
फ़्लैग होता है वह बताता है कि यह एक तरीका है जिसे स्टार्टअप के बाद कॉल किया जाता है.इस फ़ाइल में मौजूद क्लास से पता चलता है कि इसका इस्तेमाल स्टार्टअप के दौरान किया जाता है. साथ ही, क्लास को लोड होने में आने वाले खर्च से बचने के लिए, इस क्लास को हीप में पहले से ही तय किया जाना चाहिए.
यह कैसे काम करता है?
- लाइब्रेरी ये नियम तय कर सकती हैं, जिन्हें एएआर आर्टफ़ैक्ट में पैकेज किया जाएगा. जब इन आर्टफ़ैक्ट वाले APK बनाए जाते हैं, तो इन नियमों को एक साथ मर्ज कर दिया जाता है. इसके बाद, इन नियमों का इस्तेमाल एक ऐसी कॉम्पैक्ट बाइनरी ART प्रोफ़ाइल बनाने के लिए किया जाता है जो खास तौर पर APK के लिए होती है. इसके बाद, डिवाइसों पर APK इंस्टॉल होने पर ART इस प्रोफ़ाइल का इस्तेमाल कर सकता है, ताकि समय से पहले ऐप्लिकेशन के एक खास सबसेट को कंपाइल कर सके. इससे ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है, ताकि उसे पहली बार इस्तेमाल किया जा सके. ध्यान दें कि डीबग करने लायक ऐप्लिकेशन पर इसका कोई असर नहीं होगा.
वर्शन 1.0.0-beta08
2 जून, 2021
androidx.compose.material:material-*:1.0.0-beta08
रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये कमिट हैं.
नई सुविधाएं
ऐप्लिकेशन के व्यवहार से जुड़े नुकसान पहुंचाने वाले एपीआई में बदलाव
- व्यवहार उल्लंघन: कार्ड अब क्लिक का उपयोग करता है, जिससे
Card(Modifier.clickable)
के ज़रिए जोड़े गए क्लिक नो-ऑप होते हैं. कृपया, onClick स्वीकार करने वाले कार्ड के नए एक्सपेरिमेंटल ओवरलोड का इस्तेमाल करें. (Ia8744, b/183775620)- एक नया कार्ड ओवरलोड जोड़ा गया, जो क्लिक के साथ-साथ क्लिक किए जा सकने वाले अन्य फ़ंक्शन को भी हैंडल करता है: संकेत, InteractiveSource, चालू/बंद किया गया.
Modifier.clickable
के साथ ऐसे सामान्य कार्ड का इस्तेमाल नहीं किया जा सकता जिसे क्लिक नहीं किया जा सकता. ऐसा इसलिए, क्योंकि कार्ड उन मामलों में रिपल संकेत को क्लिप नहीं करेगा.
- एक नया कार्ड ओवरलोड जोड़ा गया, जो क्लिक के साथ-साथ क्लिक किए जा सकने वाले अन्य फ़ंक्शन को भी हैंडल करता है: संकेत, InteractiveSource, चालू/बंद किया गया.
- व्यवहार उल्लंघन: प्लैटफ़ॉर्म अब क्लिक का इस्तेमाल करता है, जिससे
Surface(Modifier.clickable)
के ज़रिए जोड़े गए क्लिक नो-ऑप होते हैं. कृपया onClick स्वीकार करने वाले Surface के नए एक्सपेरिमेंटल ओवरलोड का इस्तेमाल करें. (I73e6c, b/183775620)- नया सरफ़ेस ओवरलोड जोड़ा गया, जो क्लिक के साथ-साथ क्लिक किए जा सकने वाले अन्य फ़ंक्शन को भी हैंडल करता है: संकेत, इंटरैक्शन सोर्स, चालू/बंद.
Modifier.clickable
के साथ ऐसे सामान्य प्लैटफ़ॉर्म का इस्तेमाल नहीं किया जा सकता जिन पर क्लिक नहीं किया जा सकता. ऐसा इसलिए, क्योंकि ऐसे मामलों में सर्फ़ेस रिपल संकेत को क्लिप नहीं करेगा.
- नया सरफ़ेस ओवरलोड जोड़ा गया, जो क्लिक के साथ-साथ क्लिक किए जा सकने वाले अन्य फ़ंक्शन को भी हैंडल करता है: संकेत, इंटरैक्शन सोर्स, चालू/बंद.
एपीआई में बदलाव
FabPosition
को enum से इनलाइन क्लास में बदला गया, ताकि आने वाले समय में इसे बढ़ाया जा सके (I030fb)- इनम के इस्तेमाल से बचने के लिए, इनलाइन क्लास में फिर से इस्तेमाल किया गया की वजह से, स्टेटमेंट में और चीज़ों को ईनम की नई वैल्यू जोड़ी गई हैं. (I2b5eb)
- स्क्रोल करने / ड्रैग करने के दौरान रिपल दिखने से रोकने के लिए, क्लिक किए जा सकने वाले / टॉगल किए जा सकने वाले मोड में टैप का टाइम आउट जोड़ता है (Ia2704, b/168524931)
- ContentDescription और टेक्स्ट सिमैंटिक्स प्रॉपर्टी अब मौजूद नहीं हैं एकल मान लेकिन सूचियां. इससे, वे मैसेज को पहले जैसा होने के लिए मर्ज किया जा सकता है जोड़ने के तरीके हैं. साथ ही, बेहतर टेस्ट एपीआई भी उपलब्ध कराए, ताकि इनका इस्तेमाल किया जा सके बदलाव (Ica6bf, b/184825850)
Modifier.focusModifier()
अब काम नहीं करता. इसेModifier.focusTarget()
(I6c860) से बदल दिया गया हैFocusState
enum कोFocusState
इंटरफ़ेस से बदला गया (IFCC1a, b/187055290)- अब
LocalRippleNativeRendering
को हटाया गया, क्योंकि व्यू-बैक्ड रिपल लागू करने की प्रोसेस सही तरीके से काम कर रही है (I7fab3, b/188569367)
गड़बड़ियां ठीक की गईं
- सभी मॉडिफ़ायर लागू करने के बाद, लेआउट कोऑर्डिनेट को शामिल करने के बजाय,
Modifier.onGloballyPositioned()
को मॉडिफ़ायर चेन में इस मॉडिफ़ायर के कोऑर्डिनेट की रिपोर्ट देने के लिए बदला गया है. इसका मतलब है कि अब मॉडिफ़ायर के क्रम से उन निर्देशांकों पर असर पड़ रहा है जिनके बारे में रिपोर्ट की जाएगी. (Ieb67d, b/177926591) - Compose मटीरियल के मौजूदा कैटलॉग के लिए, README जोड़ा गया. (If9191)
वर्शन 1.0.0-beta07
18 मई, 2021
androidx.compose.material:material-*:1.0.0-beta07
रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये कमिट हैं.
एपीआई में बदलाव
- रास्ते से जुड़ी सहायता पाने के लिए, अब आपको एक्सटेंशन के तरीकों का इस्तेमाल करने की ज़रूरत नहीं है नेविगेशन कंपोज़िशन में. (I22beb, b/172823546)
वर्शन 1.0.0-beta06
5 मई, 2021
androidx.compose.material:material-*:1.0.0-beta06
रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये तय किए गए हैं.
एपीआई में बदलाव
- Android डिवाइसों पर आंतरिक तौर पर
RippleDrawable
का इस्तेमाल करने के लिए, Ripple को माइग्रेट कर दिया गया है. इसका मतलब है कि RenderThread पर रिपल ऐनिमेशन रिकॉर्ड किए जाएंगे. यूज़र इंटरफ़ेस (यूआई) थ्रेड के लोड होने पर भी ऐसा ही होगा. जैसे, स्क्रीन के बीच नेविगेट करते समय. इससे रिपल के एपीआई प्लैटफ़ॉर्म में कोई बदलाव नहीं होता. हालांकि, इस बदलाव की वजह से व्यवहार में बदलाव हो सकते हैं. माइग्रेशन में मदद करने के लिए,LocalRippleNativeRendering
को जोड़ा गया है - CompositionLocalProvider में पिछले रिपल लागू करने के लिए, इस ComposeLocal मेंfalse
की वैल्यू सबमिट करें. यह एपीआई कुछ समय के लिए है और इसे आने वाले समय में हटा दिया जाएगा. इसलिए, अगर आपको इस एपीआई का इस्तेमाल करने में समस्या होती है, तो कृपया गड़बड़ी की शिकायत करें. (I902f8, b/168777351, b/183019123) - संग्रह जानकारी और collectionsItemInfo सुलभता एपीआई जोड़े गए हैं, जिनकी मदद से संग्रह और उसके आइटम को सुलभता सेवाओं के लिए मार्क किया जा सकता है (Id54ef, b/180479017)
- Accessibility API
error
जोड़ा गया, जो अमान्य इनपुट वाले नोड को मार्क करने की अनुमति देता है (I12997, b/180584804, b/182142737)
गड़बड़ियां ठीक की गईं
- Compose मटीरियल कैटलॉग को इनसेट से लागू करने की प्रोसेस, यहां से अपडेट की गई: https://github.com/google/accompanist/pull/365. (I25dc3)
- पंक्ति & वज़न(भरें = गलत) वाले कॉलम चाइल्ड, अब पैरंट को पूरे मुख्य ऐक्सिस स्पेस को नहीं भर रहे हैं. (Ied94d, b/186012444, b/184355105)
वर्शन 1.0.0-beta05
21 अप्रैल, 2021
androidx.compose.material:material-*:1.0.0-beta05
रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
- 'लिखें' कॉन्टेंट के मौजूदा कैटलॉग में कॉम्पोनेंट टाइल इमेज, थीम पिकर, और मेन्यू के खास यूआरएल जोड़े गए. (I9b58e)
वर्शन 1.0.0-beta04
7 अप्रैल, 2021
androidx.compose.material:material-*:1.0.0-beta04
रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये कमिट हैं.
एपीआई में बदलाव
- एपीआई में बदलाव:
DrawerState
की स्थिति, अब प्रयोग के तौर पर स्वाइप किए जाने वाले स्टेट को आगे नहीं बढ़ा सकती.- एपीआई में बदलाव:
BottomDrawerState
को अब प्रयोग के तौर पर मार्क कर दिया गया है, ताकि पहले से ही प्रयोग वाले BottomDrawer कॉम्पोनेंट से मेल खा सके (I81114, b/181656094)
- एपीआई में बदलाव:
hideSoftwareKeyboard
औरshowSoftwareKeyboard
का नाम बदलेंSoftwareKeyboardController
सेhide()
औरshow()
.- इसके लिए, कंपोज़िशन Local का पूरा इंटरफ़ेस उपलब्ध कराएं LocalSoftwareClassroomController, इसे सेट करने की अनुमति देता है (खास तौर पर) टेस्ट में उपयोगी) (I579a6)
- LiveRegion का सुलभता एपीआई जोड़ा गया है. अगर नोड को लाइव क्षेत्र के तौर पर मार्क किया गया है, तो सुलभता सेवाएं उपयोगकर्ता को उसके बदलावों के बारे में अपने-आप सूचना देगा (Idcf6f, b/172590946)
गड़बड़ियां ठीक की गईं
- मौजूदा मॉड्यूल में, Compose मटीरियल कैटलॉग को लागू करने की सुविधा जोड़ी गई. फ़िलहाल, यह मौजूद नहीं है: कॉम्पोनेंट टाइल इमेज, थीम पिकर (फ़ॉलो-अप बदलावों में जोड़ा जाना है). (Ie7a94)
वर्शन 1.0.0-beta03
24 मार्च, 2021
androidx.compose.material:material-*:1.0.0-beta03
रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये कमिट हैं.
एपीआई में बदलाव
DefaultMonotonicFrameClock
के इस्तेमाल पर रोक लगा दी गई है. कॉल से जुड़ी सुविधाwithFrameNanos
याRecomposer.runRecomposeAndApplyChanges
, जिसमें कोई मैसेज नहीं हैMonotonicFrameClock
अबIllegalStateException
फेंक देगा. (I4eb0d)- टैब में आइकॉन और इनलाइन टेक्स्ट दिखाने के लिए, नया एपीआई
LeadingIconTab
जोड़ा गया. (I23267)
बाहरी योगदान
- [Jossi Verf के ज़रिए]
BottomDrawer
अब ड्रॉर स्लॉट का कॉन्टेंट भी रैप करता है. पैरंट की लंबाई बहुत ज़्यादा होने पर,BottomDrawer
मेंIllegalStateException
नहीं मिलता है. सबसे नीचे मौजूद पैनल, अपने पैरंट फ़ोल्डर के 50% से कम होने पर बड़ा हो जाएगा.BottomDrawerState
औरModalBottomSheetLayoutState
के आस-पास के दस्तावेज़ अपडेट कर दिए गए हैं. अगरBottomDrawerState#isOpen
, खुली या बड़ी की स्थिति में है, तो यह वैल्यू 'सही' के तौर पर दिखेगी. (I87241)
वर्शन 1.0.0-beta02
10 मार्च, 2021
androidx.compose.material:material-*:1.0.0-beta02
रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये कमिट हैं.
एपीआई में बदलाव
- नई
LocalSoftwareKeyboardController
कंपोज़िशन स्थानीय भाषा में जोड़ा गया पिछलेSoftwareKeyboardController
इंटरफ़ेस को बदलने के लिए एपीआई टेक्स्ट फ़ील्ड. (I5951e, b/168778053)
गड़बड़ियां ठीक की गईं
- एक्सपेरिमेंटल एपीआई के सार्वजनिक इस्तेमाल पर पाबंदियां लागू करें (I6aa29, b/174531520)
- TopAppBar और BottomAppBar के डिफ़ॉल्ट हॉरिज़ॉन्टल अलाइनमेंट को बदलकर 'शुरू करें' पर सेट किया गया. यह लाइन पंक्ति (Ib2dc7) के मुताबिक होना चाहिए
- Compose मटीरियल कैटलॉग के लिए नया मॉड्यूल और प्लेसहोल्डर यूज़र इंटरफ़ेस (यूआई) जोड़ा गया. फ़िलहाल, यह इंटिग्रेशन की जांच के मौजूदा डेमो में नेस्ट किया गया है. (आईडीएफ़सीबी3)
androidx.compose.ui:ui
अब AppCompat या फ़्रैगमेंट पर निर्भर नहीं है. अगर आपके ऐप्लिकेशन में ComposeView का इस्तेमाल किया जा रहा है और फ़्रैगमेंट और/या AppCompat का इस्तेमाल किया जा रहा है, तो पक्का करें कि AppCompat 1.3+ / फ़्रैगमेंट 1.3+ का इस्तेमाल किया जा रहा हो - ये वर्शन ComposeView के लिए ज़रूरी लाइफ़साइकल और सेव किए गए स्टेट मालिकों को सेट करने के लिए ज़रूरी हैं. (I1d6fa, b/161814404)
वर्शन 1.0.0-beta01
24 फ़रवरी, 2021
androidx.compose.material:material-*:1.0.0-beta01
रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये कमिट मौजूद हैं.
यह Compose 1.0.0 बीटा की पहली रिलीज़ है.
एपीआई में बदलाव
- साइज़ मॉडिफ़ायर के नाम बदले गए. Modifier.width/height/size का नाम बदलकर, बचाने के लिए ज़रूरी चौड़ाई/ज़रूरी/ज़रूरी/ज़रूरत वाला साइज़ कर दिया गया है. Modifier.referwidth/PreferenceHight/प्राथमिकता साइज़ का नाम बदलकर, चौड़ाई/height/size में बदल दिया गया. (I5b414)
- ImageResource और vectorResource अब एक्सटेंशन फ़ंक्शन हैं पर इस्तेमाल किया जा सकता है. लोड{Image,Image,Font}संसाधन फ़ंक्शन हटा दिए गए हैं. (I89130)
- एलिमेंट का साइज़ बताने वाले मॉडिफ़ायर को अब एक्सपेरिमेंट के तौर पर इस्तेमाल नहीं किया जा रहा है. (I15744)
- dp दावे हटाए गए (I798d2)
- सभी टेक्स्ट से सॉफ़्टवेयर कीबोर्ड कंट्रोलर कॉलबैक हटाया गया फ़ील्ड को जल्द ही नए एपीआई से बदला जाएगा. (Iae869, b/168778053)
- स्विच, चेकबॉक्स, और RadioButton कार्रवाई lambdas को अब इस्तेमाल करने के बारे में जानकारी अमान्य है. इसका इस्तेमाल करने के लिए, चेकबॉक्स में क्लिक किए जा सकने वाले पंक्ति के सैंपल अपडेट किए गए सुविधा. (If601b, b/171819073)
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)
- Accessibility Manager इंटरफ़ेस जोड़ें और LocalAccessibilityMannger in ComposeLocals (I53520)
- अब काम नहीं करने वाले LayoutCoordanates के तरीकों को हटाए गए. इसके लिए, स्थिति
- स्लाइडर अब चालू या बंद होने की स्थिति (I6d56b, b/179793072) के साथ काम करता है
- CoreTextField जैसे लो लेवल के टेक्स्ट कॉम्पोनेंट से इनपुट सेशन के लिए, नया Textइनपुटसेशन बनाया गया. (I8817f, b/177662148)
- AttributionEndReason.बाधित को हटा दिया गया है. अगर ऐनिमेशन में रुकावट आती है, तो मिटाने के बाद अपवाद (रद्द करने की कार्रवाई) दिखाया जाएगा. (I2cbbc, b/179695417)
@ExperimentalRippleApi
को हटाया गया. साथ ही,RippleAlpha
को इंटरफ़ेस के बजाय प्रॉपर्टी वाली क्लास में बदला गया. (I6df7c)- अलग-अलग स्थितियों में TextField और OutlinedTextField में इस्तेमाल किए गए अलग-अलग रंगों को दिखाने के लिए TextFieldColors इंटरफ़ेस जोड़ा गया. अमान्य लागू करने के लिए TextFieldDefaults.textFieldColors और TextFieldDefaults.outinlineTextFieldColors देखें.
- TextField और OutlinedTextField के अंदर isErrorValue पैरामीटर का नाम बदला गया isError में. (I831f9, b/171305338, b/168004067)
- SelectGroup मॉडिफ़ायर जोड़ें, जो सुलभता के मकसद से टैब या रेडियोबटन इकट्ठा करने की अनुमति देता है (Ie5c29)
LaziListState.animatescrollToItem जोड़ें
इस तरीके से, सूची में मौजूद किसी आइटम पर आसानी से स्क्रोल किया जा सकता है. (I4bfd7)
ScrollableState.smoothScrollBy()
का नाम बदलकरanimateScrollBy()
किया गयाLazyListState.snapToItemIndex()
का नाम बदलकरscrollToItem()
कर दिया गयाScrollState.smoothScrollTo()
का नाम बदलकरanimateScrollTo()
किया गया (I35ded)@ReadOnlyComposable
के तौर पर मार्क किए गए सभी कंपोज़ेबल को कंपाइल-टाइम के तौर पर मार्क किया जाता है, ताकि यह पक्का किया जा सके कि वे सिर्फ़ अन्य@ReadOnlyComposables
(I58961) को कॉल करेंTargetAnimation API को हटा दिया गया है. (If47d1, b/177457083)
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)
ओरिएंटेशन को फ़ाउंडेशन पैकेज पर ले जाया गया. VerocirtTracker को ui.जेस्चर से, ui.input.pointer पर ले जाया गया. (Iff4a8, b/175294473)
{/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)ZoomableController.smoothScaleBy और ZoomableController.stopAnimation अब निलंबित फ़ंक्शन है. (I7f970, b/177457083)
पहले से काम न करने वाले कुछ एपीआई मिटाए गए (Ice5da, b/178633932)
Material API में ये बदलाव किए गए हैं:
- डिफ़ॉल्ट पैडिंग को पसंद के मुताबिक बनाने के लिए, Top/BottomAppBar में contentPadding पैरामीटर जोड़ा गया है.
- ज़रूरी पैरामीटर से पहले, वैकल्पिक पैरामीटर में होने वाले एपीआई के दिशा-निर्देशों का पालन करने के लिए, BackdropScaffold में फिर से क्रम में लगाए गए पैरामीटर.
- BottomनेविगेशनItem में
icon
पैरामीटर कोselected
औरonClick
के बाद ले जाया गया. - BottomनेविगेशनItem में
alwaysShowLabels
पैरामीटर का नाम बदलकरalwaysShowLabel
किया गया. - कुछ कॉम्पोनेंट में
bodyContent
पैरामीटर का नाम बदलकर, सिर्फ़content
किया गया. ButtonDefaults.buttonColors()
में पैरामीटर फिर से क्रम में लगाए गए. कृपया ध्यान दें कि पैरामीटर के टाइप में बदलाव नहीं होने की वजह से, आपके कोड में कोई गड़बड़ी नहीं होगी. कृपया पक्का करें कि नाम वाले पैरामीटर का इस्तेमाल किया जा रहा हो या मैन्युअल तरीके से ऑर्डर को अपडेट किया जा रहा हो. अगर ऐसा नहीं होता है, तो आपका कोड पहले की तरह काम नहीं करेगा.darkColors()
मेंsecondaryVariant
पैरामीटर जोड़ा गया. आम तौर पर, गहरे रंग वाली थीम का यह रंगsecondary
जैसा ही होता है. हालांकि, इसे एक जैसा रखने और अपनी पसंद के मुताबिक बनाने के लिए, इस रंग का इस्तेमाल किया जा सकता है.- ElegationDefaults और animateElegation() को सार्वजनिक एपीआई की प्लैटफ़ॉर्म से हटा दिया गया है. ऐसा इसलिए किया गया, क्योंकि इनका इस्तेमाल आम तौर पर नहीं किया जाता था या ये काम के नहीं होते थे.
Slider
में मौजूदonValueChangeEnd
का नाम बदलकर,onValueChangeFinished
कर दिया गया है. साथ ही, इसे शून्य कर दिया गया है.Snackbar
में मौजूदtext
पैरामीटर का नाम बदलकरcontent
किया गया, ताकि सब कुछ एक जैसा रखा जा सके.- डिफ़ॉल्ट पैडिंग को पसंद के मुताबिक बनाने की अनुमति देने के लिए,
contentPadding
पैरामीटर कोDropdownMenuItem
में जोड़ा गया. साथ ही,content
कोRowScope
पर एक्सटेंशन के तौर पर बनाया गया. ModalDrawerLayout
का नाम बदलकरModalDrawer
किया गया.BottomDrawerLayout
का नाम बदलकरBottomDrawer
किया गया.- (I1cc66)
BasicTextField को पसंद के मुताबिक बनाने के लिए अब कलर के बजाय ब्रश का इस्तेमाल किया जाता है (I83a36)
ImageResource और vectorResource अब एक्सटेंशन फ़ंक्शन हैं पर इस्तेमाल किया जा सकता है. लोड{Image,Image,Font}संसाधन फ़ंक्शन हटा दिए गए हैं. (I89130)
Indic#createIn कोडिंग() को Indic#rememberUpdatedInउदाहरण(InteractState) में बदला गया और In इलाकेटोन में दिए गए InteractState पैरामीटर को हटाया गया#drawIndic(). इंडेक्स इंस्टेंस सिर्फ़ विज़ुअल इफ़ेक्ट बनाने के लिए ज़िम्मेदार होना चाहिए, न कि इंटरैक्शन स्टेट बदलावों की वजह से ऐनिमेशन / राइटिंग लॉन्च करने के लिए. ये ऐनिमेशन और स्टेट राइट, इसके बजाय
rememberUpdatedIndication()
के अंदर होने चाहिए.Modifier.indication
मेंindication
पैरामीटर को भी ज़रूरी पैरामीटर में बदल दिया गया. (Ic1764, b/152525426)
गड़बड़ियां ठीक की गईं
- नया LocalSoftwareClassroomController कंपोज़िशन जोड़ा गया पुराने सॉफ़्टवेयर कीबोर्ड कंट्रोलर इंटरफ़ेस को बदलने के लिए एपीआई चालू करें टेक्स्ट फ़ील्ड. (I658b6, b/168778053)
वर्शन 1.0.0-alpha12
10 फ़रवरी, 2021
androidx.compose.material:material-*:1.0.0-alpha12
रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये कमियां हैं.
एपीआई में बदलाव
- Modifier.pointerइनपुट को संकेत करने के लिए अब याद रखने वाली कुंजियों की ज़रूरत है जब पॉइंटर इनपुट डिटेक्शन कोरूटीन नए के लिए रीस्टार्ट होना चाहिए निर्भरता. (I849cd)
- BottomDrawerLayout और ListItem को @ExternalMaterialApi (Id766e) के तौर पर मार्क किया गया है
- PaddingValues.Total को जोड़ा गया था. इसका इस्तेमाल, PजगहValues को स्वीकार करने वाले एपीआई में किया जा सकता है. (Ia5f30)
- onImeAction Performanceed अब काम नहीं करता है. इसके बजाय Keyboard Actions का इस्तेमाल करें (If0bbd, b/179071523)
- नाम का बेहतर तरीके से मिलान करने के लिए ImageBitmap और Image पक्ष के साथ कन्वेंशन, ImagePainter का नाम बदलकर BitmapPainter कर दिया गया है साथ-साथ वेक्टरPainter. (Iba381, b/174565889)
- Animatable.stapTo और Animatable.stop अब सस्पेंड फ़ंक्शन (If4288) हैं
- componentActivity.setContent इस जगह पर भेजा गया androidx.activity.compos.setContent में androidx.activity:activity-compos मॉड्यूल में नहीं है. (Icf416)
- डिस्ट्रक्चरिंग और Copy() तरीके को इस यूआरएल से हटा दिया गया है ऐसी क्लास के बारे में बात करते हैं जहाँ इनका इस्तेमाल बहुत कम किया जाता था. (I26702, b/178659281)
- ModleBottomSheetState के इंटरनल वर्शन (Ic914e) में, हाफ़ एक्सप्लोरेशन() और एक्सपैंशन() बनाएं
- इंडिकेशन#createइंस्टेंस को @Composable में बदला गया है, और LocalIndic को बदलकर कोई इंडिकेशन शामिल किया गया है, न कि () -> संकेत. (I5eeea, b/157150564)
- AlertsDialog और ड्रॉपडाउनमेन्यू को अभी के लिए, सिर्फ़ Android पर ले जाया गया. मौजूदा पॉप-अप को और कॉन्फ़िगर करने के लिए, ड्रॉपडाउन मेन्यू में PopupProperties पैरामीटर जोड़ा गया. (I9c443)
- loadFontResource अब काम नहीं करता. इसके बजाय, fontResource का इस्तेमाल करें. ImageResource, loadImageResource, vectorResource, और loadvectorResource के इस्तेमाल पर रोक लगा दी गई है. इसके बजाय, PaintterResource का इस्तेमाल करें. (I6b809)
- ड्रॉपडाउन मेन्यू से
toggle
औरtoggleModifier
पैरामीटर को हटाया गया. साथ ही,dropdownModifier
,dropdownOffset
औरdropdownContent
का नाम बदलकर,modifier
,offset
औरcontent
कर दिया गया. ड्रॉपडाउन मेन्यू अबPopup
के हिसाब से काम करता है, जहां मेन्यू की जगह के लिए पैरंट लेआउट का इस्तेमाल किया जाता है. ज़्यादातर मामलों में,toggle
कोDropdownMenu
का सिबलिंग बनाया जा सकता है और दोनों कोBox
में रैप किया जा सकता है. इस एपीआई के इस्तेमाल के बारे में ज़्यादा जानकारी के लिए, दस्तावेज़ में अपडेट किया गया सैंपल देखें. (I884fb) - toIntPx() का नाम बदलकर, {8/}ToPx() किया गया. (I9b7e4, b/173502290)
- IntBounds का नाम बदलकर IntRect किया गया. एपीआई को बेहतर बनाया गया. (I1f6ff)
- 'बड़ा करें और छोटा करें' सुविधा जोड़ी गई. जोड़े गए ModleBottomSheetState (Ib5064) में, बड़ा करें और थोड़ा बड़ा करें
- 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) - AccessibilityBarRangeInfo.सुलभता के लिए अनिश्चित प्रोग्रेस बार को मार्क करने के लिए इसे जोड़ा गया (I6fe05)
@ComposableConact की जगह, अब तीन और खास एनोटेशन का इस्तेमाल किया जाता है.
@ComposableContract(restartable = false)
,@NonRestartableComposable
हो गया है@ComposableContract(readonly = true)
,@ReadOnlyComposable
हो गया है@ComposableContract(preventCapture = true)
,@DisallowComposableCalls
हो गया है@ComposableContract(tracked = true)
को हटा दिया गया है.- (I60a9d)
emptyContent()
और(@Composable () -> Unit).orEmpty()
सुविधाएं बंद कर दी गई हैं, क्योंकि अब इनकी परफ़ॉर्मेंस पर कोई अच्छा असर या वैल्यू नहीं है (I0484d)याद रखें कि सेव किए गए उदाहरण() का नाम बदलकर, RememberSaveable() का नाम बदला गया और androidx.compos.runtime.saveable पैकेज पर ले जाया गया. (I1366e, b/177338004)
सेवर, listSaver(), MapSaver(), autoSaver को androidx.compos.runtime.Savedinstancestate से androidx.compos.runtime.saveable (I77fe6) में ले जाया गया है
राउंडर कॉर्नर शेप, कट कॉर्नर शेप, और कॉर्नर बेस्ड शेप के पैरामीटर का नाम, बाएं/दाएं से बदलकर, शुरू/खत्म हो गया. ऐसा इसलिए किया गया, ताकि आरटीएल की दिशा में शेप के ऑटो मिररिंग को काम किया जा सके. जब ऑटो-मिररिंग की सुविधा काम नहीं करती, तब ऐसे मामलों के लिए शेड्यूल होने वाली कूलरूंडिंग कॉर्नर और TotalCutCornerSize की सुविधा शुरू की गई है. (I61040, b/152756983)
टैब के
text
औरicon
पैरामीटर और BottomनेविगेशनItem केlabel
पैरामीटर को शून्य करने लायक बनाया गया है. ऐसा इसलिए किया गया है, ताकि इन पैरामीटर के दिए या न दिए जाने पर कॉम्पोनेंट के व्यवहार के बारे में बेहतर तरीके से बताया जा सके. ऐसा इसलिए, क्योंकि इससे कॉम्पोनेंट के साइज़ और लेआउट पर असर पड़ता है. अगर आपने किसी टेक्स्ट / आइकॉन / लेबल को दिखाने के लिए,emptyContent()
को पास किया है, तो आपको इसके बजायnull
का इस्तेमाल करना चाहिए. (I57ed4)contentColorFor color पैरामीटर का नाम backgroundColor (I5bb67)
यह सुविधा अब काम नहीं करती है. साथ ही, इसे TabRowDefaults से बदल देती है. (I0f189)
इस्तेमाल किया गया ColorMatrix API का इस्तेमाल सोर्स कॉन्टेंट की आरजीबी वैल्यू में बदलाव करने के लिए रीफ़ैक्टर किया गया ColorFilter API को इंटरफ़ेस और इंप्लिमेंटेशन से मैच करता है पाथइफ़ेक्ट की ज़रूरत है. (Ica1e8)
ऐनिमेटेडValue/Float अब काम नहीं करता. कृपया इस्तेमाल करें इसके बजाय, ऐनिमेट किया जा सकता है. (I71345, b/177457083)
SemanticsProperties.PaneTitle API जोड़ें. (I20d5a)
Tab और BottomनेविगेशनItem में चालू पैरामीटर जोड़े गए, ताकि उन पर क्लिक न किया जा सके. अपने एपीआई में लेआउट की ज़रूरतों को बेहतर तरीके से बताने के लिए, Bottom BardItem को RowScope.Bottom समाधानItem में बदला गया. (Id683d)
टैपजेस्चर, डबल टैपजेस्चरFilter, longPress प्रोसेसFilter, और PressIndicaitonCatFilter काम नहीं कर रहा है. इसके बजाय, preventTap Gesturess फ़ंक्शन के साथ, Modifier.clickable या Modifier.pointerइनपुट का इस्तेमाल करें. (I6baf9, b/175294473)
आकृति के createOutline में defaultDirection पैरामीटर जोड़ें. इससे लेआउट दिशा निर्देश वाले आकार बनाए जा सकते हैं. (I57c20, b/152756983)
Recomposer.current()
को हटा दिया गया है. [ऐब्स्ट्रैक्ट]अभी लिखें डिफ़ॉल्ट रूप से, लेज़ी तरीके से बनाए गए विंडो के स्कोप वाले रीकंपोज़र, विंडो के लिए ViewTreelifecycleOwner. चीज़ों को फिर से व्यवस्थित करें और होस्ट लाइफ़साइकल के दौरान, withFrameNanos पर आधारित ऐनिमेशन के टिक रोक दिए गए हैं को रोक दिया गया है. (I38e11)
गड़बड़ियां ठीक की गईं
- आइकॉन को अब अपने साइज़ के हिसाब से बड़ा किया जाएगा. ऐसा, उस पर लागू किए गए साइज़ मॉडिफ़ायर के हिसाब से किया जाएगा. उदाहरण के लिए,
Icon(.., modifier = Modifier.size(50.dp)
अब 50x50dp की जगह में ड्रॉ करेगा. (Ib2ba9, b/178796190)
वर्शन 1.0.0-alpha11
28 जनवरी, 2021
androidx.compose.material:material-*:1.0.0-alpha11
रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये कमियां हैं.
एपीआई में बदलाव
- कुछ Material API को
@Experimental
(I5d20e) में प्रमोट करता है - इमेज और आइकॉन में कॉन्टेंट की जानकारी वाला पैरामीटर जोड़ दिया गया है. इसका इस्तेमाल सुलभता सेवाओं का ब्यौरा देने के लिए किया जाता है (I2ac4c)
- यह मटीरियल स्टेटफ़ुल पैरामीटर इंटरफ़ेस को बदलता है, ताकि
State<T>
नतीजे देने वाले @Composable फ़ंक्शन हों. किसी ऐनिमेशन को स्टेट में बदलना आसान बनाने के लिए,Animatable.asState()
को जोड़ता है. साथ ही, ऐनिमेट किए जाने वाले डिवाइस पर, एनिमेटेडएलिवेशन को निलंबित एक्सटेंशन में बदल दिया जाता है. (If613c) - अब Snackbar, SnackbarHost, और SnackbarHostState
@ExperimentalMaterialAPI
नहीं हैं (Id1fb5) - टाइपोग्राफ़ी, आकार, और TabPosition को बदलकर, डेटा क्लास नहीं रखता है. जनरेट किए गए आकार को बदलने के लिए, टाइपोग्राफ़ी और आकारों के लिए कॉपी फ़ंक्शन जोड़ता है. (I40037)
- कुछ पुराने मटीरियल एपीआई मिटाए गए (Ifaa25)
गड़बड़ियां ठीक की गईं
- onCommit, onDispos, और onActive को SideEffect और Disposableimpact API (If760e) के लिए बंद कर दिया गया है
- ट्रांज़िशन की परिभाषा पर आधारित ट्रांज़िशन की सुविधा अब काम नहीं करती (I0ac57)
- अपडेट का शुरुआती स्टेटस अब काम करता है (Ifd51d)
- withConstraints को BoxWithConstraints के तौर पर फिर से बनाया गया और फ़ाउंडेशन के लेआउट का इस्तेमाल शुरू किया गया. (I9420b, b/173387208)
नॉन-सस्पेंड ScrollBy का उपयोग न करें, नॉन-सस्पेंड ScrollTo को हटाएं
हमारा सुझाव है कि स्क्रोलिंग और इंतज़ार को कंट्रोल करने के लिए, सस्पेंड फ़ंक्शन का इस्तेमाल करें पूरा करने के लिए. हम पहले से मौजूद इस ट्रांज़िशन के हिस्से के तौर पर, इन फ़ंक्शन के नॉन-सस्पेंड वर्शन का इस्तेमाल भी कर सकते हैं. (Ie9 कंपनियों)
नॉन-सस्पेंड smoothscrollBy का बहिष्कार करें हमारा सुझाव है कि स्क्रोलिंग और इंतज़ार को कंट्रोल करने के लिए, सस्पेंड फ़ंक्शन का इस्तेमाल करें पूरा करने के लिए. हम ऐसे वर्शन बंद कर रहे हैं जो निलंबित नहीं हैं कुछ इस ट्रांज़िशन है. (I12880)
ComposeContentTestRule
के बारे में जानकारी. यह विस्तार से भी उपलब्ध होगाComposeTestRule
औरsetContent
को परिभाषित करता है, जिसे यहां से हटा दिया गया हैComposeTestRule
.createEmptyComposeRule()
एट्रिब्यूट की वैल्यू में फ़ैक्ट्री का तरीका जोड़ा गया जोComposeTestRule
दिखाता है और आपको. इसका इस्तेमाल तब करें, जब आपको टेस्ट के दौरान अपनी ऐक्टिविटी लॉन्च करनी हो, उदाहरण के लिए,ActivityScenario.launch
(I9d782, b/174472899) का इस्तेमाल करकेबटन और BloingActionButton में इस्तेमाल किए जाने वाले रिपल को अब AmbientIndic के ज़रिए नया इंडिकेशन देकर पसंद के मुताबिक नहीं बनाया जा सकता - इसे इन कॉम्पोनेंट को पसंद के मुताबिक बनाने के तरीके के तौर पर कभी नहीं बनाया गया था. इसकी वजह से अब ये कॉम्पोनेंट दूसरे मटीरियल कॉम्पोनेंट के साथ एक जैसे हो गए हैं. किसी ऐप्लिकेशन में रिपल को पसंद के मुताबिक बनाने के लिए, RippleTheme देखें. (I546c5)
animateAsState का नाम अब animateFooAsState हो गया है, जहां Foo यह है ऐनिमेट किए जा रहे वैरिएबल का टाइप. उदाहरण के लिए, फ़्लोट, Dp, ऑफ़सेट वगैरह (Ie7e25)
BasicTextField को
decorationBox
नाम का नया पैरामीटर मिला है. यह आइकॉन, प्लेसहोल्डर, लेबल, और टेक्स्ट फ़ील्ड से मिलती-जुलती सजावट जोड़ने की सुविधा देता है. साथ ही, इसका हिट टारगेट एरिया भी बढ़ा देता है. (I16996)उस गड़बड़ी को ठीक किया गया है जिसकी वजह से मटीरियल के टेक्स्ट फ़ील्ड की चौड़ाई 280.dp (I78373) से कम सेट नहीं हो पा रही थी
कैन खींचें पैरामीटर को Modifier.draggable (Ic4bec, b/175294473) से हटा दिया गया है
DisplaySize को हटाएं, क्योंकि इससे बचना चाहिए. आम तौर पर, यह समय होता है बेहतर होगा कि onRoot() के साइज़ या विंडो के साइज़ का कम से कम इस्तेमाल किया जाए. (I62db4)
सरफ़ेस में अब एक से ज़्यादा लेआउट हो सकते हैं. (I66a92, b/144488459)
इन अमान्य और कंपोज़िशन रेफ़रंस() की जगह को अबcurrentRecomposScope और RememberPositionReference की जगह रोक दिया जाता है. (I583a8)
विंडो-रिलेटिव निर्देशांक इस्तेमाल करने के लिए, पॉप-पोज़िशन प्रोवाइडर को बदलता है, न कि ग्लोबल निर्देशांक का. parentGlobalBounds का नाम बदलकर anchorBounds करता है, और windowGlobalBounds को
windowSize: IntSize
(I2994a) में बदल देता हैअवधि और अपटाइम को लंबे मिलीसेकंड से बदल दिया जाएगा. इससे, उन पर पॉइंटर इनपुट की डिपेंडेंसी हट जाती है क्लास. (Ia33b2, b/175142755, b/177420019)
FingConfig को स्वीकार करने वाले ऐनिमेटेडFloat.fling को हटा दिया गया है. कृपया निलंबित करें का इस्तेमाल करें इसके बजाय, Animatable.animatedecay. (I4659b, b/177457083)
कंपोज़िशन के बाहर (I0a130, b/172938345, b/175294473) के बाहर ऐसे बनाए जा सकते हैं जिन्हें क्लिक किया जा सकता है, टॉगल किया जा सकता है, और चुना जा सकता है
ईज़िंग को फ़ंक्शनल इंटरफ़ेस (Ib14e5) में बदल दिया गया है
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)एक्सपेरिमेंट के लिए, monotonicFrameAnimationClockOf तरीके हटाए गए (Ib753f, b/170708374)
ग्लोबल कोऑर्डिनेट के वे तरीके जिन्हें अब इस्तेमाल नहीं किया जा रहा है और बनाया गया है नए विंडो-आधारित कोऑर्डिनेट के तरीके का इस्तेमाल करता है. (Iee284)
Modifier.toolingGraphicslayer को जोड़ा गया जो जांच के चालू होने पर ग्राफ़िक लेयर मॉडिफ़ायर जोड़ता है. (I315df)
FocusRequester.createRefs को अब प्रयोग के तौर पर मार्क कर दिया गया है, क्योंकि यह बदल सकता है. (I2d898, b/177000821)
SemanticspropertyReceiver.hidden का नाम invisibleToUser में बदल दिया गया है और @ExampleComposeUiApi को मार्क किया गया है. AccessibilityRangeInfo का नाम बदलकर, ProgressBarRangeInfo. statusDescriptionRange का नाम बदलकर, ProgressBarRangeInfo. Accessibility ScrollState का नाम बदलकर, ScrollAxisRange किया गया. हॉरिज़ॉन्टलAccessibility ScrollState का नाम बदलकर हॉरिज़ॉन्टल ScrollAxisRange किया गया. वर्टिकलAccessibility ScrollState का नाम बदलकर,verticalscrollAxisRange किया गया. (आईडी3148)
टेस्टिंग में TestCoroutineDispatcher का फ़ायदा लें (I532b6)
अपडेट किए गए वेक्टर ग्राफ़िक टिनिंग को पार्स करने की सुविधा के लिए एपीआई वेक्टर ग्राफ़िक के रूट पर लागू होता है. (Id9d53, b/177210509)
वर्शन 1.0.0-alpha10
13 जनवरी, 2021
androidx.compose.material:material-*:1.0.0-alpha10
रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये कमियां हैं.
एपीआई में बदलाव
- कॉम्पोनेंट पार्ट और गणित के लिए वेलोसिटी में बदलाव किया गया कार्रवाइयां. (Ib0447)
@ExperimentalTesting
का नाम बदलकर@ExperimentalTestApi
किया इससे मिलते-जुलते एक्सपेरिमेंट वाले एपीआई एनोटेशन (Ia4502, b/171464963) से मेल खाते हैं- पोज़िशन का नाम बदलकर DpOffset किया गया और getडिस्टेंस() (Ib2dfd) को हटाया गया
- Ranamed Color.useOrElse() से Color.takeOrElse() (Ifdcf5)
- Foundation Strings.kt (I4a5b7, b/172366489) में टॉगल जोड़ें
- FlowRow और FlowColumn का इस्तेमाल नहीं किया जा सकता. इसके बजाय, कृपया कस्टम लेआउट का इस्तेमाल करें. (I09027)
- Modifier.focus() और Modifier.focusRequester() अब काम नहीं करती है. इसके बजाय, Modifier.focusModifier() और Modifier.focusReference() का इस्तेमाल करें. (I75a48, b/175160751, b/175160532, b/175077829)
- NativeClass को यहां ले जाया गया ui मॉड्यूल और इसे अंदरूनी बनाया गया है. NativeClass के अपडेट किए गए इस्तेमाल लागू करने के लिए बराबर कार्रवाइयां 'क्या MyClass है' आज़माएं. (I4f734)
गड़बड़ियां ठीक की गईं
- बंद किए गए और रीड-ओनली टेक्स्ट फ़ील्ड (I35279, b/171040474, b/166478534) के लिए सहायता जोड़ी गई
animate()
को अबanimateAsState()
से बदल दिया गया है, इससेT
के बजाय,State<T>
दिखेगा. इससे बेहतर तरीके से परफ़ॉर्मेंस बेहतर न हो, क्योंकि अमान्य होने के दायरे को कम किया जा सकता है जहां स्टेट वैल्यू को पढ़ा जाता है. (Ib179e)- सिमैंटिक रोल एपीआई जोड़ें और इसमें पैरामीटर के तौर पर भूमिका जोड़ें क्लिक किया जा सकने वाला, चुना जा सकने वाला, और टॉगल किया जा सकने वाला SemanticsModifier. बदल दिया जाए Modifier.progressSemantics ताकि स्लाइडर भी इसका इस्तेमाल कर सके. (I216cd)
वर्शन 1.0.0-alpha09
16 दिसंबर, 2020
androidx.compose.material:material-*:1.0.0-alpha09
रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये कमियां हैं.
एपीआई में बदलाव
- एपीआई को मैन्युअल तरीके से सेटलमेंट के ऐनिमेशन को ट्रिगर करने और Modifier.s दिनों (Iaa17a, b/162408885) में ड्रैग करने की सुविधा से जोड़ा गया
- इसका नाम बदला गया *Constants जैसे ऑब्जेक्ट और बटनों को डिफ़ॉल्ट के साथ खत्म करने के लिए, जैसे कि ButtonDefaults. साथ ही, इन नए ऑब्जेक्ट में प्रॉपर्टी से ग़ैर-ज़रूरी
default
प्रीफ़िक्स भी हटा देता है. (Ibb915, b/159982740) Compose, प्रॉपर्टी गैटर के साथ काम करता है. इनकी मदद से, कंपोज़ेबल प्रॉम्प्ट बनाए जा सकते हैं. इसके लिए सहायता मिलती रहेगी, लेकिन प्रॉपर्टी गैटर के @Composable के तौर पर एलान करने का सिंटैक्स बदल रहा है.
ऐसा करने के लिए, अब इस्तेमाल नहीं किया जाने वाला सिंटैक्स, प्रॉपर्टी की जानकारी देता था:
@Composable val someProperty: Int get() = ...
ऐसा करने के लिए अब सही सिंटैक्स, प्रॉपर्टी के गैटर के बारे में बताना है:
val someProperty: Int @Composable get() = ...
दोनों सिंटैक्स कुछ समय तक काम करते रहेंगे. हालांकि, पुराना सिंटैक्स बाद में कंपाइल गड़बड़ी में बदल जाएगा. (आईडी9197)
androidx.compose.material:material-ripple
लाइब्रेरी को जोड़ा गया, जिसमें रीपल एपीआई शामिल है. इससे इंटरैक्टिव कॉम्पोनेंट बनाने के लिए, बाकी मटीरियल लाइब्रेरी की ज़रूरत नहीं पड़ती. RememberRippleIneration को बंद कर दिया गया है और इसे RememberRipple से बदल दिया गया है. (Ibdf11)
गड़बड़ियां ठीक की गईं
- ऑफ़सेट मॉडिफ़ायर में Lambdas, अब फ़्लो के बजाय IntOffset को लौटाता है. (Ic9ee5, b/174137212, b/174146755)
इसके लिए ShaderBrush का रिफ़ैक्टर किया गया जब लेज़ी तरीके से शेडर इंस्टेंस बनाया जाता है, ड्रॉइंग के साइज़ की जानकारी आस-पास की कोई जगह उपलब्ध हो. यह ऐसे ग्रेडिएंट निर्धारित करने में उपयोगी होता है किसी कंपोज़ेबल की ड्रॉइंग का पूरा हिस्सा इस्तेमाल करें कंपोज़िशन के समय पर, पसंद के मुताबिक DrawModifier लागू करने होंगे.
अब काम नहीं करने वाले ग्रेडिएंट फ़ंक्शन कंस्ट्रक्टर एपीआई एक ग्रेडिएंट ऑब्जेक्ट पर फैक्ट्री तरीकों के पक्ष में. (I511fc, b/173066799)
Modifier.focusObserver अब काम नहीं करता. इसके बजाय, Modifier.onFocusChanged या Modifier.onFocusEvent का इस्तेमाल करें (I30f17, b/168511863, b/168511484)
LaZColumnFor, LazyRowFor, LazyColumnForIndexed, और LazyRowForIndexed का इस्तेमाल बंद कर दें. इसके बजाय, LaZColumn और LazyRow का इस्तेमाल करें (I5b48c)
Dp.vectorConverter, स्थिति.vectorConverter, वगैरह को यहां ले जाया गया ऐनिमेशन-कोर का इस्तेमाल किया है और पुराने वेक्टरConveters (If0c4b) का इस्तेमाल नहीं किया है
'ऑटोमैटिक भरने की सुविधा' एपीआई अब एक प्रयोग के तौर पर उपलब्ध एपीआई है और इसके लिए ऑप्ट-इन करना ज़रूरी है (I0a1ec)
FocusRequester इंस्टेंस बनाने के लिए, नुकसान पहुंचाने वाले एलान जोड़ना (I35d84, b/174817008)
AccessibilityLabel का नाम बदलकर contentDescription कर दिया गया है. AccessibilityValue का नाम बदलकर statusDescription कर दिया गया है. (I250f2)
InfiniteRepableSpecification (I668e5) बनाने के लिए नया infinite Chatable फ़ंक्शन
ड्रॉपडाउन मेन्यू का पोज़िशनिंग व्यवहार, मटीरियल स्पेसिफ़िकेशन के हिसाब से थोड़ा बदल गया था. (I34c72, b/168594123)
TextFields के लिए इंटरैक्शनState सपोर्ट जोड़ दिया गया है. (I61d91)
डिसेंडेंट 'साफ़ तौर पर तय करें' में Modifier.clearAndSetSemantics जोड़ा गया और नए वाक्य सेट करें. (I277ca)
ContentDrawScope को यूज़र इंटरफ़ेस (यूआई-ग्राफ़िक) में ले जाया गया मॉड्यूल को DrawScope के साथ जोड़ना होता है. (Iee043, b/173832789)
वर्शन 1.0.0-alpha08
2 दिसंबर, 2020
androidx.compose.material:material:1.0.0-alpha08
, androidx.compose.material:material-icons-core:1.0.0-alpha08
, और androidx.compose.material:material-icons-extended:1.0.0-alpha08
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha08 में ये कमियां हैं.
एपीआई में बदलाव
- Materialथीम अब चुने गए हैंडल और बैकग्राउंड के लिए सही रंग सेट करती है. चुने गए कलर को पसंद के मुताबिक बनाने के लिए, नॉन-मटीरियल ऐप्लिकेशन मैन्युअल तरीके से AmbientTextSelectionColors इस्तेमाल कर सकते हैं. (I1e6f4, b/139320372, b/139320907)
- कंपोज़ेबल लैम्डा पैरामीटर के नाम और उसकी पोज़िशन के लिए लिंट की जांच जोड़ी गई, ताकि यह पता लगाया जा सके कि वह कंपोज़ेबल के दिशा-निर्देशों के मुताबिक है या नहीं.
साथ ही, लिंट की जांच और दिशा-निर्देश के मुताबिक, कुछ एपीआई को
children
का इस्तेमाल करके उनके पीछे के लैम्डा के नाम के तौर परcontent
पर माइग्रेट किया गया. (Iec48e) - वेक्टरAsset का नाम बदलकर ImageImage किया गया वेक्टरAsset को बिल्डर में ले जाया गया और इसका नाम बदला गया के अनुसार Imageवेक्टर की आंतरिक क्लास होनी चाहिए एपीआई काउंसिल के दिशा-निर्देश. वेक्टरAssetबिल्डर के टाइपalias को इसमें जोड़ा गया Compat के लिए Imageवेक्टर.Builder का लिंक. (Icfdc8)
- ImageAsset का नाम बदला और से संबंधित तरीके का इस्तेमाल करें. (Ia2d99)
- फ़ाउंडेशन सिमेंटिक्स प्रॉपर्टी को ui (I6f05c) में ले जाया गया
- अन्य एपीआई के साथ समानता बनाए रखने के लिए,
fun RippleIndication()
को बंद कर दिया गया है. साथ ही, इसेrememberRippleIndication()
से बदल दिया गया है. (Id8e2c) - BasicTextField, TextField, और OutlinedTextField में singeLine पैरामीटर जोड़ा गया. इस पैरामीटर को 'सही' पर सेट करें, ताकि टेक्स्ट फ़ील्ड को हॉरिज़ॉन्टल तौर पर स्क्रोल की जा सके. (I57004, b/168187755)
गड़बड़ियां ठीक की गईं
- सिमेंटिक्स कार्रवाई खारिज करें (I2b706)
- 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)- Modifier.Scale/स्क्रीन को जोड़ा गया
आरेखण के लिए सुविधा के तौर पर API.
Modifier.drawOpacity
का नाम बदलकरModifier.alpha
किया गयाModifier.drawShadow
का नाम बदलकरModifier.shadow
किया गया (I264ca, b/173208140)
- Box के अलाइनमेंट पैरामीटर का नाम बदलकर, contentalignment कर दिया गया है. (I2c957)
- ऑफ़सेटPx मॉडिफ़ायर का नाम बदलकर ऑफ़सेट कर दिया गया. वे अब स्टेट के बजाय, लैम्डा पैरामीटर को इस्तेमाल कर रहे हैं. (Ic3021, b/173594846)
- पेश किया गया SweepgradientShader और SweepGradientBrush API का इस्तेमाल करना चाहिए. (Ia22c1)
- कंपोज़ेबल फ़ंक्शन में मॉडिफ़ायर पैरामीटर के लिए लिंट की जांच जोड़ी गई. यह लिंट जांच, कंपोज़ के दिशा-निर्देशों के हिसाब से पैरामीटर के नाम, रिटर्न टाइप, डिफ़ॉल्ट वैल्यू, और ऑर्डर की जांच करती है. (If493b)
- अपडेट किया गया TextFieldValue API
- TextFieldValue.composition को रीड ओनली किया गया
- चुनी गई रेंज (I4a675, b/172239032) की वजह से, हटाया गया अपवाद
- नया
Modifier.drawLayer()
ओवरलोड जोड़ा गया. यह एक नए GraphicslayerScope पर एक लैम्डा ब्लॉक लेता है, जहां आप लेयर पैरामीटर को इस तरह से तय करते हैं कि स्थिति बदलने पर, लेयर के रीकंपोज़िशन और रिलेआउट को स्किप किया जा सकता है. DrawlayerModifier अब अंदरूनी तौर पर अपने लॉजिक को LayoutModifier (I15e9f, b/173030831) केplaceable.placeWithLayer()
तरीके में माइग्रेट करने की तैयारी में है - अब काम नहीं करने वाले ऐंबियंट के नाम के तौर पर
Ambient
को सफ़िक्स के तौर पर रखा गया है. ऐंबियंट और कंपोज़ एपीआई के दिशा-निर्देशों के मुताबिक, इनकी जगह ऐंबियंट प्रीफ़िक्स के तौर पर नई प्रॉपर्टी जोड़ी गई हैं. (I33440) - यह जांचने के लिए लिंट चेक जोड़ा गया कि मॉडिफ़ायर कारखाने
@Composable
के तौर पर मार्क होने के बजाय,androidx.compose.ui.composed {}
का अंदरूनी तौर पर इस्तेमाल करते हैं. (I3c4bc) - सिमैंटिक आर्ग्युमेंटmergeAllDescendants का नाम बदलकर यह किया गया MergeDescendants. (आईबी6250)
- टेस्ट में समय नियंत्रण (TestAnimationClock और इसके इस्तेमाल) है अब प्रयोग के तौर पर उपलब्ध (I6ef86, b/171378521)
- पुराना ui-test मॉड्यूल और उसके स्टब हटाएं (I3a7cb)
- TextUnit.Inherit का नाम बदलकर, TextUnit.Unपिन किया गया है, ताकि यह अन्य यूनिट के साथ एक जैसा हो. (Ifce19)
- अलाइनमेंट इंटरफ़ेस को अपडेट करके चालू कर दिया गया है. (I46a07, b/172311734)
- LayoutIdParentData के लिए आईडी का नाम बदलकर,LayoutId कर दिया गया है. Measurable.id का नाम बदलकर Measurable.layoutId कर दिया गया. (Iadbcb, b/172449643)
वर्शन 1.0.0-alpha07
11 नवंबर, 2020
androidx.compose.material:material:1.0.0-alpha07
, androidx.compose.material:material-icons-core:1.0.0-alpha07
, और androidx.compose.material:material-icons-extended:1.0.0-alpha07
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha07 में ये कमिट हैं.
एपीआई में बदलाव
- ज़ोर देने की सुविधा को बंद कर दिया गया है और इसकी जगह AmbientContentAlpha का इस्तेमाल किया गया है. AmbientContentAlpha एक आसान तरीका है, जो हैरारकी के हिस्से के लिए पसंदीदा कॉन्टेंट ऐल्फ़ा के बारे में बताता है. यह ठीक वैसे ही है जैसे AmbientContentColor पसंदीदा कॉन्टेंट के रंग को दिखाता है. टेक्स्ट और आइकॉन, अब डिफ़ॉल्ट रूप से AmbientContentAlpha की मौजूदा वैल्यू का इस्तेमाल करते हैं. साथ ही, मैन्युअल तरीके से
color.copy(alpha = AmbientContentAlpha.current)
ऐसा कर सकते हैं, ताकि आपके कॉम्पोनेंट में यही असर पड़े. ProtectEmphasis का इस्तेमाल करने के बजाय, सिर्फ़ AmbientContentAlpha के ज़रिए कोई वैल्यू दी जा सकती है. साथ ही, पुराने EmphasisLevels की जगह ContentAlpha में नए डिफ़ॉल्ट लेवल इस्तेमाल किए जा सकते हैं. (Idf03e, b/159017896) - androidx.compos.foundation.AmbientContentColor (I84f7b, b/172067770) को बदलने के लिए, androidx.compos.material.AmbientContentColor जोड़ता है
- यह androidx.compos.material.Text को जोड़ता है. ऐसा इसलिए, ताकि यह androidx.compos.foundation.Text को, हाई लेवल और थीम किए जा सकने वाले टेक्स्ट कॉम्पोनेंट के तौर पर बदल सके. ऐसे बेसिक टेक्स्ट कॉम्पोनेंट के लिए जो थीम से रंग / टेक्स्ट स्टाइल का इस्तेमाल नहीं करता, BasicText का इस्तेमाल करें. (Ie6ae0)
- TextFields (Ib2a5b) में maxLines जोड़ी गई
- KeyboardOptions (Ida7f3) को स्वीकार करने के लिए, TextFields को अपडेट करें
- ऊंचाई ओवरले की गणना करते समय सतह अब निरपेक्ष (कुल) ऊंचाई का उपयोग करता है, इसलिए किसी अन्य सतह में नेस्ट की गई सतह ओवरले बनाने के लिए संयुक्त ऊंचाई का उपयोग करेगी. (I7bd2b, b/171031040)
गड़बड़ियां ठीक की गईं
captureToBitmap
कोcaptureToImage
में ले जाया गया. (I86385)- फ़ाउंडेशन AmbientTextStyle, इसमें शामिल टेक्स्ट स्टाइल, और AmbientContentColor अब काम नहीं करता. इसके बजाय, Material लाइब्रेरी में मौजूद नए वर्शन का इस्तेमाल करें. नॉन-मटीरियल ऐप्लिकेशन के लिए, आपको खुद के डिज़ाइन सिस्टम के हिसाब से थीम बनाने वाले ऐंबियंट बनाने चाहिए, जिन्हें आपके खुद के कॉम्पोनेंट में इस्तेमाल किया जा सके. (I74acc, b/172067770)
- Foundation.Text को अब हटा दिया गया है और उसे content.Text से बदल दिया गया है. ऐसे बेसिक और बिना डायलॉग वाले टेक्स्ट एपीआई के लिए, androidx.compos.foundation.BasicText देखें, जो किसी थीम की वैल्यू का इस्तेमाल नहीं करता. (If64cb)
- KeyboardOptions का नाम बदलकर ImeOptions (I82f36) रखें
- KeyboardType और ImeAction को KeyboardOptions (I910ce) में ले जाया गया
- BaseTextField को बंद कर दिया गया है. इसके बजाय, BasicTextField का इस्तेमाल करें. (I896eb)
- प्रयोग के तौर पर इस्तेमाल किया जाने वालाSubcomposLayoutApi एनोटेशन को हटाया गया. SubcomposLayout को अब बिना @OptIn (I708ad) जोड़े इस्तेमाल किया जा सकता है
- FirstBaseline और LastBaseline को androidx.compos.ui.layout पैकेज (Ied2e7) में ले जाया गया है
- Color.Unspecified के लिए आइकॉन एपीआई को अपडेट किया गया को संभावित रंग के रूप में दिखाया जा सकता है, जो दिए गए बिना ColorFilter वाली ऐसेट या पेंटर. पहले यह, रंग की टिनिंग को अनदेखा करने की कोशिश करता है. जो पारदर्शी रंग में बदल जाएगा और कुछ भी रेंडर नहीं हुआ. (I049e2, b/171624632)
- रिलेटिवपैडिंग फ़्रॉम का नाम बदलकर पैडिंग कर दिया गया. लेआउट बाउंड से टेक्स्ट बेसलाइन तक की दूरी तय करने में सुविधा के तौर पर, जगहFromBaseline मॉडिफ़ायर जोड़ा गया है. (I0440a, b/170633813)
- एक जैसी सुविधाओं का इस्तेमाल करने के लिए, LaunchedTask का नाम बदलकर Launchedimpact का इस्तेमाल करें. बिना किसी के लॉन्च किया गया इफ़ेक्ट सबसे सही तरीकों को बढ़ावा देने के लिए, विषय पैरामीटर की अनुमति नहीं है. (Ifd3d4)
- मेज़रमेंटनतीजे को MeasurementScope से बाहर ले जाया गया. (Ibf96d, b/171184002)
- लेआउट से जुड़े कई सिंबल को androidx.compos.ui से androidx.compos.layout.ui में ट्रांसफ़र कर दिया गया है. (I0fa98, b/170475424)
वर्शन 1.0.0-alpha06
28 अक्टूबर, 2020
androidx.compose.material:material:1.0.0-alpha06
, androidx.compose.material:material-icons-core:1.0.0-alpha06
, और androidx.compose.material:material-icons-extended:1.0.0-alpha06
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha06 में ये कमियां हैं.
एपीआई में बदलाव
- androidx.compos.foundation.Icon को androidx.compos.material.Icon में ले जाया गया है. अगर आपको मटीरियल लाइब्रेरी का इस्तेमाल नहीं करना है, तो पेंटर के साथ इमेज कॉम्पोनेंट / Modifier.Paint() का इस्तेमाल भी किया जा सकता है. (I9f622)
- अलग-अलग राज्यों में एफ़एबी में इस्तेमाल की जाने वाली ऊंचाई को दिखाने के लिए, FlowingActionButtonELEation को जोड़ता है. डिफ़ॉल्ट तौर पर लागू करने के लिए, FlowingActionButtonConstants.defaultElegation() देखें (I2d4f5)
- अलग-अलग स्थितियों में स्विच में इस्तेमाल किए गए रंगों को दिखाने के लिए, SwitchColors इंटरफ़ेस जोड़ता है. इन रंगों को पसंद के मुताबिक बनाने के लिए, SwitchConstants.defaultColors देखें. (I93805)
- अलग-अलग स्थितियों में बटनों के लिए इस्तेमाल की जाने वाली ऊंचाई और रंगों को दिखाने के लिए, बटन की ऊंचाई और बटन के रंग को इंटरफ़ेस में जोड़ता है. इन पैरामीटर को कस्टमाइज़ करने के लिए, ButtonConstants में डिफ़ॉल्ट फ़ंक्शन देखें. (Ic5b7b)
- अलग-अलग स्थितियों में RadioButton में इस्तेमाल किए गए रंगों को दिखाने के लिए, RadioButtonColors इंटरफ़ेस जोड़ता है. अलग-अलग स्थितियों में इस्तेमाल किए गए रंगों को पसंद के मुताबिक बनाने के लिए, RadioButtonConstants.defaultColors() देखें. (I74130)
- अलग-अलग स्थितियों में, चेकबॉक्स में इस्तेमाल होने वाले रंगों को दिखाने के लिए, CheckboxColors इंटरफ़ेस जोड़ता है. अलग-अलग स्थितियों में इस्तेमाल किए गए रंगों को पसंद के मुताबिक बनाने के लिए, CheckboxConstants.defaultColors() देखें. (I7dbdb)
गड़बड़ियां ठीक की गईं
- सामग्री कॉम्पोनेंट ऊंचाई को अब zIndex के रूप में सेट नहीं करते हैं. इसका मतलब है कि एक ही पैरंट में, बड़े शैडो साइज़ वाला चाइल्ड अपने-आप छोटे साइज़ वाले बच्चे के ऊपर नहीं ड्रॉ होगा. अगर आपको अब भी इस तरीके की ज़रूरत है, तो कृपया ज़रूरत पड़ने पर Modifier.zIndex() को मैन्युअल तरीके से सेट करें (I70417, b/170623932)
- इसमें वेक्टरPainter का बहिष्कार करें याद रखें कि वे बेहतर यह बताता है कि कंपोज़ेबल एपीआई 'याद रखें' का इस्तेमाल करता है डेटा को हर तरह के उपयोगकर्ताओं के लिए कंपोज़िशन. (Ifda43)
- ComposeTestRule में ट्रांज़िशन चालू करें; इसका विकल्प हटाएं ComposeTestRule से ब्लिंक करने वाले कर्सर को चालू करें. (If0de3)
- CoreTextField (I72e6d) में सिंगल लाइन वाले कीबोर्ड का विकल्प जोड़ा गया
- दायरा एपीआई का नाम बदलकर यह किया गया बेहतर तरीके से अपनी भावनाएं ज़ाहिर करने के लिए CornerRadious चैनल इसका इस्तेमाल कैसे किया जाता है. यह बताने के लिए दस्तावेज़ अपडेट किए गए नेगेटिव कोने की रेडिया को आपस में जोड़ा गया है शून्य तक. (I130c7, b/168762961)
- DrawScope का रीफ़ैक्टर किया गया और
इंटरफ़ेस बनाने के लिए ContentDrawScope
एब्सट्रैक्ट क्लास के बजाय
- CanvasDrawScope लागू करने की नई प्रोसेस बनाई गई DrawScope का
- नए तरीकों से लागू करना इसके बजाय, CanvasScope का इस्तेमाल करने के लिए DrawScope
- डिपेंडेंसी रैप करने के लिए DrawContext बनाया गया DrawScope के लिए
- DrawScope (I56f5e) पर अब काम नहीं करने वाले तरीके हटाए गए
- Box को एक इनलाइन फ़ंक्शन बनाया गया. (Ibce0c, b/155056091)
वर्शन 1.0.0-alpha05
14 अक्टूबर, 2020
androidx.compose.material:material:1.0.0-alpha05
, androidx.compose.material:material-icons-core:1.0.0-alpha05
, और androidx.compose.material:material-icons-extended:1.0.0-alpha05
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha05 में ये कमियां हैं.
एपीआई में बदलाव
- पॉप-अप और डायलॉग अब FLAG_SECURE को पैरंट विंडो से इनहेरिट करते हैं. इसे साफ़ तौर पर कॉन्फ़िगर करने के लिए भी विकल्प जोड़ा गया (I64966, b/143778148, b/143778149)
- Modifier.s{/6}able में अब डिफ़ॉल्ट रूप से राज्यों के लिए 56.dp थ्रेशोल्ड हैं (Iab825, b/168610267)
- सभी स्कैफ़ोल्ड स्टेट को @Stable के तौर पर मार्क किया गया है. ScaffoldState में Drawings के जेस्चर को खुद Scaffold में ले जाया जाता है. (I36645, b/168297016)
- यह Scaffold lambda पैरामीटर से शून्य होने वाला टाइप हटा देता है. किसी दिए गए पैरामीटर के लिए कोई कॉन्टेंट नहीं दिखाने के लिए, खालीContent() का इस्तेमाल किया जा सकता है. (I2b318, b/157633857, b/158551084)
contentColor() और currentTextStyle() एपीआई को बंद करता है. साथ ही, इन्हें AmbientContentColor और AmbientTextStyle एंबिएंट से बदल देता है. किसी भी दूसरे ऐंबियंट की तरह, ऐंबियंट प्रॉपर्टी पर
.current
का इस्तेमाल करके, मौजूदा वैल्यू को ऐक्सेस किया जा सकता है. यह बदलाव इसलिए किया गया था, ताकि एक जैसा काम करने के साथ-साथ एक ही काम करने के कई तरीकों से बचा जा सके. इसके अलावा, यह कुछ ऐंबियंट प्रॉपर्टी के नाम बदल देता है, ताकि उनके मकसद को इस तरह समझा जा सके:- ContentColorAmbient -> ऐंबियंट कॉन्टेंट कलर
- टेक्स्टस्टाइल ऐंबियंट -> ऐंबियंटटेक्स्ट स्टाइल
- इंडिकेटर ऐंबियंट -> ऐंबियंटइंडिकेशन
- प्रमुखता से दिखाएं -> ऐंबियंटएसिसलेवल
- रिपलथीमएम्बिएंट -> AmbientRippleTheme (I37b6d)
AmbientElegationOverlay जोड़ता है, जिससे गहरे रंग वाली थीम में प्लैटफ़ॉर्म पर लागू किए गए डिफ़ॉल्ट ऊंचाई ओवरले को पसंद के मुताबिक बनाने / बंद करने की सुविधा मिलती है. (I5b74d)
गड़बड़ियां ठीक की गईं
- मानक तय करने के हिस्से के तौर पर , तो इनलाइन क्लास के लिए सेंटिनल वैल्यू रंग का नाम बदलें.रंग को अनसेट करें.इसकी जानकारी नहीं है अन्य इनलाइन क्लास (I97611, b/169797763) के साथ समानता के लिए
- TextOverflow.कोई जानकारी नहीं दी गई है. जब ओवरफ़्लो कोई नहीं होता है, तो टेक्स्ट ओवरफ़्लो को हैंडल नहीं करेगा और यह LayoutNode को अपने असली आकार की रिपोर्ट करेगा. (I175c9, b/158830170)
- Compose से मेल खाने के लिए LaunchInकंपोज़िशन का नाम बदलकर LaunchedTask किया गया एपीआई से जुड़े दिशा-निर्देश (I99a8e)
- OnPositionedModifier का नाम बदलकर OnGloballyPositionedModifier किया गया और onPositioned() का नाम बदलकर, onGloballyPositioned() कर दिया जाता है. (I587e8, b/169083903)
वर्शन 1.0.0-alpha04
1 अक्टूबर, 2020
androidx.compose.material:material:1.0.0-alpha04
, androidx.compose.material:material-icons-core:1.0.0-alpha04
, और androidx.compose.material:material-icons-extended:1.0.0-alpha04
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha04 में ये कमियां हैं.
एपीआई में बदलाव
- स्थिति को इकट्ठा करने और उसे कंट्रोल करने की अनुमति देने के लिए, स्टेटफ़ुल मटीरियल कॉम्पोनेंट में InteractState पैरामीटर दिखाता है. (Iaca5f, b/168025711, b/167164434)
- हर स्टेट में इस्तेमाल किए गए कलर को पूरी तरह से पसंद के मुताबिक बनाने के लिए, RadioButton और TriStateCheckbox पर
*color
पैरामीटर में बदलाव करता है. साथ ही, अपनी ज़रूरत के हिसाब से राज्यों के बीच कलर ऐनिमेट होने का तरीका भी बदलता है. ज़्यादा जानकारी के लिए, चेकबॉक्स और RadioButtonConstants में नए animateDefault* रंग फ़ंक्शन देखें. (I1c532) - याद रखें कि याद है बैकड्रॉपस्टेट का नाम याद रखा गया बैकड्रॉपस्केफ़ोल्डस्टेट और ऐनिमेशन घड़ी के लिए एक अतिरिक्त पैरामीटर जोड़ा. पैरामीटर का नाम बदला गया BackdropScaffoldState of BackdropScaffold करने के लिए, बस scaffoldState के साथ इसे इस्तेमाल किया जा सकता है. नाम बदला गया BackdropScaffoldConstants के लिए BackdropConstants. (Ib644d)
- प्रयोग के तौर पर जोड़ा गया BottomSheetScaffold कॉम्पोनेंट जोड़ा गया है. (Ie02f0, b/148996320)
- प्रयोग के तौर पर ModleBottomSheetLayout कॉम्पोनेंट जोड़ा गया. (Ic209e, b/148996320)
- इस बटन से, ButtonConstants/FlotingActionButtons.defaultAnimatedEdivation बदलकर, defaultEevation किया जाता है. साथ ही, ऐनिमेटेडValue की जगह Dp वैल्यू मिलती है. (I5f3ed)
गड़बड़ियां ठीक की गईं
- कई Graphics API को अपडेट किया गया
- अपडेट किया गया स्केल और रोटेशन एक ही डेटा का इस्तेमाल करने के लिए ट्रांसफ़ॉर्मेशन एपीआई पिवट दिखाने के लिए ऑफ़सेट पैरामीटर अलग फ़्लोट के बजाय निर्देशांक x/y निर्देशांक के लिए पैरामीटर DrawScope और DrawTransform
- Rect.expandToInclude और Rect.join को हटाया गया तरीका
- ओवल दिखाने के लिए, रेडियस के दस्तावेज़ अपडेट किए गए एलिप्टिकल ट्रेनर के अलावा
- यह जानकारी देने के लिए दस्तावेज़ जोड़े गए इनलाइन रेडियस के लिए सार्वजनिक कंस्ट्रक्टर class का इस्तेमाल सीधे तौर पर नहीं किया जाना चाहिए. इसके बजाय, इसे सीधे कॉल किया जाना चाहिए दायरा वाले ऑब्जेक्ट के ज़रिए इंस्टैंशिएट किया जाना चाहिए उनके फ़ंक्शन कंस्ट्रक्टर
- टॉपराइट की क्वेरी करने के लिए, राउंडआरेक्ट एपीआई हटाया गया, बॉटमराइट, बॉटमसेंटर वगैरह.
- Rect.translate के पक्ष में Rect.shift को रोक दिया गया
- OutlineRect.grow और Rect.shrink एपीआई हटाए गए
- LevelRect.outerRect का नाम बदलकर Rect.boundingRect किया गया
- राउंडआरेक्ट.मिडिलरेक्ट/tallMiddleRect/wideMiddleRect को हटाया गया और Rect.isStadium तरीके
- राउंडRect.longestSide का नाम बदलकर राउंडRect.max जबकि किया गया
- इसका नाम राउंडRect.shortestSide से बदलकर राउंडआरेक्ट.मिनिएशन किया गया
- ScoreRect.center को फ़ंक्शन के बजाय प्रॉपर्टी में बदला गया
- रेडियस प्रॉपर्टी का इस्तेमाल करने के लिए, राउंडआररेक्टर को अपडेट किया गया x/y दायरे के मानों के लिए अलग-अलग पैरामीटर के बजाय
- साइज़ एपीआई हटाए गए, जो यह मानते थे कि यह एक रेक्टैंगल है 0,0 पर मूल
- रेडियस में नुकसान पहुंचाने वाला एपीआई जोड़ा गया
- कई राउंड-आरेक्ट एक्सटेंशन फ़ंक्शन को माइग्रेट किया गया इसके बजाय प्रॉपर्टी
- (I8f5c7, b/168762961)
- Foundation.Box का इस्तेमाल नहीं किया जा सकता. इसके बजाय, कृपया Foundation.layout.Box का इस्तेमाल करें. (Ie5950, b/167680279)
- स्टैक का नाम बदलकर Box किया गया. लिखें.foundation.layout में, नए Box की जगह, पहले से मौजूद Box की जगह हटा दी जाएगी. नए Box का तरीका यह है कि एक से ज़्यादा बच्चे होने पर, बच्चों को एक के ऊपर एक स्टैक किया जाए - यह पिछले Box से अलग है, जो कॉलम की तरह व्यवहार कर रहा था. (I94893, b/167680279)
- बॉक्स डेकोरेशन पैरामीटर अब काम नहीं करते. अगर आपको अपने बॉक्स पर सजावट/पैडिंग की सुविधा चाहिए, तो इसके बजाय मॉडिफ़ायर का इस्तेमाल करें (Modifier.background, Modifier.background, Modifier.जगह) (Ibae92, b/167680279)
- कई Graphics API को अपडेट किया गया
- स्कोप वाले DrawScope के एपीआई अपडेट किए गए बदलाव के तरीकों से पता चलता है कि ट्रांसफ़ॉर्मेशन ऐक्शन सिर्फ़ कॉलबैक किया जाता है और कॉलबैक शुरू होने के बाद हटा दिया जाता है
- पाथ के बारे में बताने के लिए,ClipPath से जुड़ा दस्तावेज़ अपडेट किया गया राउंडेड रेक्टैंगल के बजाय
- सही पैरामीटर के लिए, दस्तावेज़ में तय की गई स्पेसिंग क्लिप पाथ में
- DrawScope.drawCanvas का नाम बदलकर,draIntoCanvas और साइज़ पैरामीटर हटाया गया
- इनसेट तरीके में dx/dy पैरामीटर का नाम बदलकर यह किया गया हॉरिज़ॉन्टल और वर्टिकल
- इनसेट ओवरलोड जोड़ा गया, जो एक जैसा काम करता है सभी चार सीमाओं के लिए इनसेट वैल्यू
- इनसेट तरीके से जुड़े दस्तावेज़ हटाए गए जो दिखाते हैं वह इनसेट सभी चारों तरफ़ लागू होगा
- Rect क्लास के लिए अपडेट किए गए दस्तावेज़
- kdoc से मेल खाने के लिए, Rect पैरामीटर पर की गई टिप्पणियों को अपडेट किया गया स्टाइल
- Rect.join और Rect.expandToInclude को हटाया गया
- Rect.translate(offset) के लिए ओवरलोड बनाया गया और Rect.shift अब काम नहीं करता
- (If086a, b/167737376)
- हमने लेआउट स्कोप के कॉन्टेंट को स्टैटिक तरीके से इंपोर्ट करने से रोका. उदाहरण के लिए, RowScope में अलाइनमेंट को एक जगह से दूसरी जगह भेजने पर. इसके बजाय, साफ़ तौर पर स्कोप वाले विकल्प का इस्तेमाल किया जाना चाहिए:
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
. (I216be, b/166760797)
वर्शन 1.0.0-alpha03
16 सितंबर, 2020
androidx.compose.material:material:1.0.0-alpha03
, androidx.compose.material:material-icons-core:1.0.0-alpha03
, और androidx.compose.material:material-icons-extended:1.0.0-alpha03
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha03 में ये कमियां हैं.
एपीआई में बदलाव
BottomNavigationItem
केonSelect
पैरामीटर का नाम बदलकरonClick
(I91925, b/161809324) कर देता है- इस स्थिति को बनाए रखने और अलग-अलग स्थितियों में कॉम्पोनेंट के दिखने के तरीके को अडजस्ट करने के लिए, InteractionState पैरामीटर को BottomनेविगेशनItem और Tab में जोड़ता है. (Ia3e9e, b/168025711)
- बटन से
disabledBackgroundColor
औरdisabledContentColor
पैरामीटर हटाता है. इसके बजाय, आपको ButtonConstants के अंदर नए डिफ़ॉल्ट कलर फ़ंक्शन का इस्तेमाल करना चाहिए. अगर आपने पहले से ही contentColor / backgroundColor सेट किया था, तो आपको इन डिफ़ॉल्ट फ़ंक्शन का इस्तेमाल करना चाहिए. साथ ही, कुछ / सभी पैरामीटर को पसंद के मुताबिक बनाना चाहिए, ताकि चालू / बंद, दोनों स्थितियों के लिए कलर को ओवरराइट होने से रोका जा सके. (If9b52) - Textfield का बैकग्राउंड रंग अब स्पष्ट रूप से पारदर्शिता ऐल्फ़ा लागू नहीं करता. इसके बजाय, backgroundColor पैरामीटर से दिया गया कोई भी रंग सीधे तौर पर लागू हो जाएगा. (Iecee9, b/167951441)
- इनरपैडिंग का नाम बदलकर PendingValues कर दिया गया है. (I195f1, b/167389171)
resistanceFactorAtMin
औरresistanceFactorAtMax
पैरामीटरModifier.swipeable
में, को एक रेसिस्टेंस पैरामीटर से बदला गया.SwipeableConstants
मेंdefaultResistanceConfig
का एक नया तरीका जोड़ा गया. (I54238)- बटन और फ़्लोटिंग एक्शन बटन के लिए, ऐनिमेशन वाली स्टेटफ़ुल ऊंचाई वाली सुविधा जोड़ता है. ऊंचाई अब डिफ़ॉल्ट और दबाई गई स्थितियों के बीच ऐनिमेट होती है. राज्यों के बीच की ऊंचाई को ज़रूरत के मुताबिक बनाने के लिए, कृपया सभी मामलों में फ़्लैट डीपी वैल्यू सेट करने के बजाय
ButtonConstants.defaultAnimatedElevation()
औरFloatingActionButtonConstants.defaultAnimatedElevation()
का इस्तेमाल करें. (I37925) - TextField और OutlinedTextField (I267f6, b/162234081) के अंदर लेबल एक वैकल्पिक पैरामीटर बन गया है
गड़बड़ियां ठीक की गईं
- ग्लोबल टेस्टिंग फ़ंक्शन, जैसे कि
onNode
याwaitForIdle
अब इस्तेमाल किए जा सकते हैं तो कृपया इनके नए वर्शन पर माइग्रेट करें. इनके बारे में ComposeTestRule (I7f45a) - इसका इस्तेमाल करने वाले DpConstraints और एपीआई अब काम नहीं करते. (I90cdb, b/167389835)
- minwidth और maxwidth के पैरामीटर का नाम बदलकर, min और max कर दिया गया है. इसी तरह प्राथमिकताएं widthIn, heightIn, खान-पान की पसंद के मुताबिक ली जाती हैं. (I0e5e1, b/167389544)
- आगे/पीछे जाने वाली सिमेंटिक्स कार्रवाइयों को हटाएं. जोड़े गए चरण AccessibilityRangeInfo में. (Ia47b0)
- लेआउट एपीआई को अलाइन या अलाइन करने के लिए, गुरुत्वाकर्षण के इस्तेमाल के नाम लगातार बदले गए. (I2421a, b/164077038)
- ComposeTestRule पर onNode और अन्य ग्लोबल तरीके इस तौर पर जोड़े गए हैं दुनिया भर में इस्तेमाल होने वाली टेक्नोलॉजी को बंद कर दिया जाएगा. (Ieae36)
createAndroidComposeRule
औरAndroidInputDispatcher
को यहां से ले जाया गयाandroidx.ui.test.android
सेandroidx.ui.test
(Idef08, b/164060572)
वर्शन 1.0.0-alpha02
2 सितंबर, 2020
androidx.compose.material:material:1.0.0-alpha02
, androidx.compose.material:material-icons-core:1.0.0-alpha02
, और androidx.compose.material:material-icons-extended:1.0.0-alpha02
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha02 में ये कमियां हैं.
एपीआई में बदलाव
- एक प्रयोग के तौर पर BackdropScaffold कॉम्पोनेंट जोड़ा गया है. (Iad908)
गड़बड़ियां ठीक की गईं
- Matrix4 को Matrix से बदल दिया गया. अन्य सभी हिस्से में से वेक्टरmath पैकेज हटा दिया गया है. (Ibd665, b/160140398)
वर्शन 1.0.0-alpha01
26 अगस्त, 2020
androidx.compose.material:material:1.0.0-alpha01
, androidx.compose.material:material-icons-core:1.0.0-alpha01
, और androidx.compose.material:material-icons-extended:1.0.0-alpha01
रिलीज़ हुए हैं. वर्शन 1.0.0-alpha01 में ये कमिट शामिल हैं.
आम समस्या
= सामग्री TextField
के पहले वर्ण को बैकस्पेस (b/165956313) का इस्तेमाल करके नहीं हटाया जा सकता
वर्शन 0.1.0-dev
वर्शन 0.1.0-dev17
19 अगस्त, 2020
androidx.compose.material:material:0.1.0-dev17
, androidx.compose.material:material-icons-core:0.1.0-dev17
, और androidx.compose.material:material-icons-extended:0.1.0-dev17
रिलीज़ हुए हैं. वर्शन 0.1.0-dev17 में ये कमियां शामिल हैं.
एपीआई में बदलाव
- इससे पहले, बंद किए गए RadioGroup और RadioGroupItem को हटा दिया गया था. इसके बजाय, Row और RadioBotton का इस्तेमाल करें (I381b7, b/163806637)
- TextField से onFocusChanged कॉलबैक को हटाया गया. इसके बजाय, Modifier.focusObserver का इस्तेमाल करें. (I51089, b/161297615)
- Modifier.drawBorder की सुविधा अब काम नहीं करती. इसके बजाय, Modifier.background का इस्तेमाल करें. बॉर्डर डेटा क्लास को BorderStroke से बदल दिया गया है (I4257d, b/158160576)
- स्वाइप करने लायक स्टेट में कुछ प्रॉपर्टी का नाम बदला गया: स्वाइप टारगेट -> targetValue, स्वाइप प्रोग्रेस -> आगे बढ़ें, दिशा को स्वाइप करें -> दिशा-निर्देश. स्वाइप करने लायक स्टेट बनाने के लिए RememberSwipeableState फ़ंक्शन जोड़ा गया. (I2fc9c, b/163129614, b/163132293)
- जगह की जानकारी और सूची बनाने की सही सुविधा के साथ स्नैकबार की सुविधा जोड़ दी गई है. इसे
SnackbarHostState.showSnackbar
के निलंबन फ़ंक्शन से ऐक्सेस करें. इनके अलावा:- SnackbarHost कॉम्पोनेंट जोड़ा गया. यह राज्य के हिसाब से स्नैकबार होस्ट करता है. साथ ही, यह स्नैकबार के बीच ट्रांज़िशन की ज़िम्मेदारी भी लेता है.
- स्नैकबार, स्नैकबार होस्ट को कंट्रोल करने, और इसे ScaffoldState से अलग करने के लिए SnackbarHostState को जोड़ा गया है. आपके पास
scaffoldState.snackbarHostState
के ज़रिए इस राज्य को ऐक्सेस करने का विकल्प भी है. - स्नैकबार ओवरलोड को जोड़ा गया है, ताकि SnackbarHostState और स्नैक्सबार के बीच, सामान्य इंटरफ़ेस को इस्तेमाल किया जा सके. (I79aaa)
- यह चालू किए गए पैरामीटर को आइकॉनबटन में जोड़ता है और आइकन टॉगलबटन में पैरामीटर का क्रम बदलता है (I0a941, b/161809385, b/161807956)
- स्ट्रिंग-आधारित एपीआई वाला ListItem वर्शन हटा दिया गया है. इसके बजाय, स्लॉट वर्शन का इस्तेमाल करें. (Ib8f57, b/161804681)
- ऐसे FilledTextField कॉम्पोनेंट को हटाया गया जो अब काम नहीं करता. भरे हुए टेक्स्ट फ़ील्ड का मटीरियल डिज़ाइन लागू करने के लिए, कृपया TextField का इस्तेमाल करें. (I5e889)
- AlertsDialog, अब बटन (I00ec1, b/161809319, b/143682374) के लिए FlowRow का इस्तेमाल करता है
- संख्या बदलने के लिए, Modifier.s दिनों का डेटा सेव करने की सुविधा में पैरामीटर जोड़े गए सीमा से आगे स्वाइप करते समय प्रतिरोधक क्षमता. [min/max]वैल्यू पैरामीटर हटाए गए. (I93d98)
- लीनियरप्रोग्रेसइंडिकेटर में backgroundColor पैरामीटर जोड़ा गया और CircularPro चुनौतियोंIndicator से, इंटरनल पैडिंग को हटा दिया गया. प्रोग्रेस दिखाने वाले संकेत देने के लिए नया समय जोड़ा गया.DefaultProग्रेसAnimationspec जोड़ा गया. इसका इस्तेमाल, वैल्यू (If38b5, b/161809914, b/161804677) के बीच की प्रोग्रेस को ऐनिमेट करते समय, डिफ़ॉल्ट ऐनिमेशनस्पेक के तौर पर किया जा सकता है
- Modifier.swaiable में वैकल्पिक param velocityThreshold जोड़ी गई. (I698ba)
- नीचे की तरफ़ बारबार साइज़, fabSize, और दूसरी चीज़ें. ये ScaffoldState में उपलब्ध नहीं हैं. आपको जिस कॉम्पोनेंट का साइज़ जानना है उसके लिए, Modifier.onPosition का इस्तेमाल करें. कॉन्टेंट के रंग और संशोधक को स्कैफ़ोल्ड में जोड़ दिया गया है (Ic6f7b, b/161811485, b/157174382)
- अन्य एपीआई के साथ एक जैसा अनुभव देने के लिए, Tab में कुछ पैरामीटर के नाम बदलता है और उनका क्रम बदलता है (Ia2d12, b/161807532)
- TabRow को TabRow और ScrollableTabRow में विभाजित करता है, ताकि TabRow से isscrollable हटाता है. इसके साथ ही, ScrollableTabRow में Edgeपैडिंग भी दिखती है. इससे टैब के पहले / बाद में खाली जगह को कंट्रोल किया जा सकता है. (I583e8, b/161809544)
TabRow
ऑब्जेक्ट को हटा दिया गया है, इसे TabConstants से बदला गया है. TabRow.TabPosition को टॉप लेवल (TabPosition) पर ले जाया गया है. साथ ही, indexContainer का नाम बदलकरindicator
कर दिया गया. अपडेट किए गए एपीआई और डिफ़ॉल्ट के इस्तेमाल के तरीके के बारे में ज़्यादा जानकारी के लिए, सैंपल और दस्तावेज़ देखें. (I54d45, b/161809544)- Modifier.swaiable के थ्रेशोल्ड पैरामीटर में बदलाव किया गया था; अभी स्थितियों की एक जोड़ी (T प्रकार की) लेता है और उनके बीच की सीमा लौटाता है थ्रेशहोल्ड कॉन्फ़िगरेशन के रूप में. इस पैरामीटर को paramखारिज थ्रेशोल्ड में जोड़ा गया स्वाइप टू ख़ारिज करें, जो लैम्डा (अस्वीकार करें) है -> थ्रेशोल्ड कॉन्फ़िगरेशन. (Ie1080)
- ज़्यादा जानकारी के लिए, स्लाइडर में ज़्यादा रंग वाले स्लाइडर होते हैं (I73e64, b/161810475)
- कार्ड के रंग पैरामीटर का नाम बदलकर, backgroundColor (I01fc1, b/161809546) कर दिया गया है
- स्नैकबार के बैकग्राउंड और कॉन्टेंट के रंग को पसंद के मुताबिक बनाया जा सकता है (I238f2, b/161804381)
- Drawers (I23655, b/161804378) में मॉडिफ़ायर, backgroundColor, contentColor, scrimColor कस्टमाइज़ेशन पैरामीटर जोड़ा गया है.
state { ... }
कंपोज़ेबल को अब इसका इस्तेमाल करके रोक दिया गया है साफ़ तौर पर जानकारी देने के लिए,remember { mutableStateOf(...) }
पर अश्लील कॉल किया गया हो. इससे, राज्य के लिए एपीआई प्लैटफ़ॉर्म और कॉन्सेप्ट की संख्या कम हो जाती है और क्लास के लिएby mutableStateOf()
पैटर्न से मेल खाता है प्रॉपर्टी सौंपना. (Ia5727)- बटन के पैडिंग पैरामीटर का नाम बदलकर, contentPending (Id252e, b/161809394)
- एक प्रयोग के तौर पर इस्तेमाल होने वाले मटीरियल कॉम्पोनेंट को स्वाइप करने के लिए स्वाइप करें. (I129e5)
गड़बड़ियां ठीक की गईं
onChildPositioned
औरOnChildPositionedModifier
हटाए गए. डेवलपर कोonPositioned
औरOnPositionedModifier
का इस्तेमाल करना चाहिए चाइल्ड लेआउट पर स्विच कर सकते हैं. (I4522e, b/162109766)- SemanticsFamilyKey में मर्ज नीति lambda को जोड़ा गया. यह काम किया जा सकता है इसका इस्तेमाल,MergeAllDescendants सिमैंटिक के लिए कस्टम नीति तय करने के लिए किया जाता है मर्ज करना. अगर पहले से ही पैरंट वैल्यू मौजूद है, तो डिफ़ॉल्ट नीति यह है कि पैरंट वैल्यू का इस्तेमाल किया जाए मौजूद नहीं है, नहीं तो चाइल्ड मान. (Iaf6c4, b/161979921)
- IntSize अब एक इनलाइन क्लास (I2bf42) है
PlacementScope.placeAbsolute()
का नाम बदलकरPlacementScope.place()
कर दिया गया था. साथ ही, पिछलेPlacementScope.place()
का नाम बदलकरPlacementScope.placeRelative()
कर दिया गया था. इस वजह से,PlacementScope.place()
तरीका अब अपने-आप दाएं-से-बाएं कॉन्टेक्स्ट में पोज़िशन को शेयर नहीं करेगा. अगर यह ज़रूरी है, तोPlacementScope.placeRelative()
का इस्तेमाल करें. (I873ac, b/162916675)- इसमें बहिष्कृत PxBounds रेक्टैंगल के पक्ष में सभी इस्तेमाल अपडेट किए गए रेक्ट और जोड़े गए PxBounds के साथ उचित बहिष्कार करें/इससे बदलें व्याख्या करने के लिए माइग्रेशन. (I37038, b/162627058)
- RRect का नाम बदलकर राउंडआरेक्ट किया गया नाम रखने के पैटर्न को बेहतर तरीके से फ़िट करने के लिए मिलते-जुलते फ़ंक्शन कंस्ट्रक्टर बनाए गए RRect और नामंजूर RRect फ़ंक्शन कंस्ट्रक्टर (I5d325)
वर्शन 0.1.0-dev16
5 अगस्त, 2020
androidx.compose.material:material:0.1.0-dev16
, androidx.compose.material:material-icons-core:0.1.0-dev16
, और androidx.compose.material:material-icons-extended:0.1.0-dev16
रिलीज़ हुए हैं. वर्शन 0.1.0-dev16 में ये कमियां शामिल हैं.
एपीआई में बदलाव
- कलर अब इंटरफ़ेस के बजाय फ़ाइनल क्लास है. इसके लिए, दायरा बढ़ाने और अपनी ज़रूरत के हिसाब से कोई विकल्प लागू करने के बजाय, आपको अपने कस्टम थीम ऑब्जेक्ट के लिए एक नया ऐंबियंट बनाना चाहिए. इसके बाद, अपने कॉम्पोनेंट में नए ऐंबियंट से थीम ऑब्जेक्ट को ऐक्सेस करना चाहिए. यह ठीक उसी तरह होता है जैसे Materialथीम के ज़रिए किया जाता है. (Ibae84)
- मटीरियल कलर सिस्टम को बेहतर तरीके से मैप करने और ColorPalette के 'जेनरिक' होने के बारे में भ्रम को दूर करने के लिए, ColorPalette का नाम बदलकर Colors किया गया थीम कलर सिस्टम के खास तरीके से लागू होने के बजाय, थीम के आधार पर बनाए गए ऑब्जेक्ट. इसके अलावा, यह LightColorPalette और डार्कColorPalette का नाम बदलकर,lightColors और डार्कColors कर देता है. (I9e976, b/161812111)
- यह BottomनेविगेशनItem के
text
पैरामीटर का नाम बदलकरlabel
,onSelected
सेonSelect
,activeColor
सेselectedContentColor
,inactiveColor
सेunselectedContentColor
कर देता है. साथ ही, पैरामीटर के क्रम को दिशा-निर्देशों के मुताबिक अपडेट करता है. (Icb605, b/161809324) Modifier.stateDraggable
में पूरी तरह से काम किया गया और उसका नाम बदला गया को मॉडिफ़ायर. एक नई स्वाइप करने लायक स्टेट क्लास पेश की गई और इससे इनहेरिट करने के लिए, DrawerState और BottomDrawerState को फिर से बनाया गया है. [मोडल/Bottom]DrawerLayout अब onStateChange पैरामीटर नहीं लेता है. (I72332, b/148023068)- Foundation.शेप.कॉर्नर पैकेज को Foundation.share (I46491, b/161887429) की तुलना में फ़्लैट कर दिया गया
- प्रयोग के तौर पर उपलब्ध MaterialApi एनोटेशन को जोड़ा गया. Rippleथीम को प्रायोगिक के रूप में चिह्नित किया गया (Ic5fa0, b/161784800)
- Material FilledTextField का नाम बदलकर TextField रखा गया है. साथ ही, बुनियादी TextField का नाम बदलकर BaseTextField रखा गया है, ताकि एपीआई को आसानी से खोजा और इस्तेमाल किया जा सके (Ia6242, b/155482676)
गड़बड़ियां ठीक की गईं
- OnchildPositioned की सुविधा को बंद कर दिया गया है. OnPosition का इस्तेमाल करें बच्चे पर टैप करें. (I87f95, b/162109766)
- बेहतर एपीआई से जुड़ी समस्याओं को हल करें (I077bc)
- इस्तेमाल नहीं किया गया ऑफ़सेट बेस इंटरफ़ेस हटाएं
- ऑफ़सेट और IntOffset क्लास को अलाइन करना एक जैसा एपीआई प्लैटफ़ॉर्म
- IntOffset.Origin का नाम बदलकर IntOffset.Zero रखें ऑफ़सेट एपीआई के साथ काम करता रहेगा
- NativeCanvas को कैनवस से बाहर ले जाया गया इंटरफ़ेस का उपयोग करें, जिससे उपभोक्ताओं को कैनवस इंस्टेंस
- रीफ़ैक्टर करने के लिए, EmptyCanvas का स्टब बनाया गया इसके बजाय DrawScope का गैर-शून्य पैरामीटर होने के लिए Lateinit और यह पक्का करें कि फ़ील्ड के शून्य होने की संभावना न हो
- ClipOp के एनम का नाम बदलकर पास्कल केस किया गया
- फ़िल्टर क्वालिटी enum का नाम बदलकर पास्कल केस किया गया
- स्ट्रोक जॉइन एनम का नाम बदलकर पास्कल केस किया गया
- PointMode enum का नाम बदलकर पास्कल केस किया गया
- पेंटिंग स्टाइल एनम का नाम बदलकर पास्कल केस किया गया
- पाथFillType enum का नाम बदलकर पास्कल केस किया गया
- StrokeCap enum का नाम बदलकर पास्कल केस किया गया
- Drawकैश लागू करने की प्रोसेस को अब अपडेट नहीं किया गया है Letinit params का इस्तेमाल करें
- लेज़ी डेलिगेशन की सुविधा का इस्तेमाल बंद करने के लिए, DrawScope को अपडेट किया गया भराव
- Box के इस्तेमाल से बचने के लिए, इमेज कंपोज़ेबल को अपडेट किया गया कम खर्च में
- @Imम्यूटेबल एनोटेशन के लिए Outline क्लास को अपडेट किया गया
- पाथनोड को अपडेट किया गया, ताकि इसमें @Imम्यूटेबल एनोटेशन शामिल किए जा सकें हर पाथ के निर्देश
- अनावश्यक निकालने के लिए वेक्टर सबकंपोज़िशन अपडेट किया गया 'समानता' की स्थिति की जांच करना, जैसा कि कंपोज़ पहले से होता है उन्हें
- रेक्टैंगल कंपैनियन कंस्ट्रक्टर के तरीके के पक्ष में फ़ंक्शन कंस्ट्रक्टर का
- इसके साथ ब्रश क्लास और फ़ंक्शन कंस्ट्रक्टर अपडेट किए गए @Imम्यूटेबल और @Stable एपीआई
- VertexMode enum को PascalCase में अपडेट किया गया
- DrawScope SelectPaint तरीके को शर्तों के साथ अपडेट करने पर पेंट पर मौजूद स्ट्रोक पैरामीटर को ओवरराइट कर दें, अगर उनमें बदला गया
- deस्ट्रक्चरिंग एपीआई जोड़ने के लिए, साइज़ को अपडेट किया गया, नाम बदलें इस्तेमाल न किए गए तरीकों के हिसाब से तय नहीं किया गया साइज़ और इस्तेमाल न किए गए तरीकों को हटाना
- डायलॉग को ui (I47fa6) में ले जाएं
SemanticsNodeInteraction.performPartialGesture
को हटा दिया गया है. इस्तेमाल की जाने वाली चीज़ें अगर आपके पास इन फ़ॉर्मैट की फ़ाइल नहीं है, तोSemanticsNodeInteraction.performGesture
बटन का इस्तेमाल करें. (आईडी9b62)SemanticsNodeInteraction.getBoundsInRoot()
का नाम बदलकर यह कियाSemanticsNodeInteraction.getUnclippedBoundsInRoot()
(Icafdf, b/161336532)- दाएं से बाएं सहायता के लिए एपीआई अपडेट किए गए हैं. LayoutDirectionAmbient जोड़ा गया है, जिसका इस्तेमाल लेआउट की दिशा पढ़ने और बदलने के लिए किया जा सकता है. Modifier.rtl और Modifier.ltr को हटा दिया गया है. (I080b3)
- Modifier.deternimateProways का नाम बदलकर Modifier.progressSemantics (I9c0b4) कर दिया गया है
- Material.io/icons (I4b1d3) में जोड़े गए नए आइकॉन की मदद से, content-आइकॉन को बढ़ाया जा सकता है
- टाइप T को साफ़ तौर पर बताना ज़रूरी है . (I1aded)
- Modifier.plus को बंद कर दिया गया है. इसके बजाय, Modifier.here का इस्तेमाल करें. 'फिर' यह ऑर्डर करने की प्रोसेस को बेहतर तरीके से दिखाता है. हालांकि, यह
Modifier.padding().background() + anotherModifier
टाइप करने पर भी पाबंदी लगाता है. इससे चेन टूट जाती है और पढ़ना मुश्किल हो जाता है (Iedd58, b/161529964) - निर्मित करने के लिए AndroidComposeTestRule का नाम बदला गया. (I70aaf)
- isFocused() और isNotFocused() SemanticsMatcher जोड़ें. (I0b760)
BaseGestureScope.globalBounds
को हटाया गया, जो इसे नहीं होना चाहिए जिन्हें टेस्ट में इस्तेमाल किया गया है. आप जिस नोड पर हैं उसके लिए स्थानीय निर्देशांकों का उपयोग करें इंटरैक्ट करने के बजाय एक-दूसरे से इंटरैक्ट कर रहे हैं. (Ie9b08)- कट-आउट डिसप्ले पर पॉप-अप की जगह तय की गई. (Idd7dd)
- Modifier.drawbackground का नाम बदलकर Modifier.background (I13677) कर दिया गया है
वर्शन 0.1.0-dev15
22 जुलाई, 2020
androidx.compose.material:material:0.1.0-dev15
, androidx.compose.material:material-icons-core:0.1.0-dev15
, और androidx.compose.material:material-icons-extended:0.1.0-dev15
रिलीज़ हुए हैं. वर्शन 0.1.0-dev15 में ये कमियां शामिल हैं.
डिपेंडेंसी अपडेट
- लिखें के
0.1.0-dev15
वर्शन का इस्तेमाल करने के लिए, आपको अपनी डिपेंडेंसी अपडेट करनी होगी दिए गए नए कोड स्निपेट के मुताबिक, ऊपर डिपेंडेंसी के बारे में एलान में बताया गया है.
एपीआई में बदलाव
@Model
एनोटेशन अब काम नहीं करता. विकल्पों के तौर पर, State और modableStateOf का इस्तेमाल करें. रोक लगाने का यह फ़ैसला, बहुत सावधानी से चर्चा करने के बाद लिया गया था.वजह बताएं
वजहों में ये शामिल हैं, लेकिन इनके अलावा, और भी वजहें हो सकती हैं:
- एपीआई सरफ़ेस एरिया और उन सिद्धांतों को कम करता है जिन्हें हमें पढ़ाने की ज़रूरत होती है
- तुलना किए जा सकने वाले अन्य टूलकिट के साथ, ये काम ज़्यादा बारीकी से करते हैं. जैसे- Swift यूज़र इंटरफ़ेस (यूआई), React, और Flutter)
- ऐसा फ़ैसला जिसे वापस लिया जा सकता है. हम
@Model
को बाद में कभी भी वापस ला सकते हैं. - इससे कोने का इस्तेमाल नहीं होता. साथ ही,
@Model
को उन चीज़ों के तौर पर कॉन्फ़िगर करने से जुड़े सवालों के जवाब देना मुश्किल होता है जिन्हें हमें मैनेज करना होता है @Model
डेटा क्लास, इसके बराबर है, हैशकोड वगैरह- मैं अपनी कुछ प्रॉपर्टी की “निगरानी” कैसे करूं और कुछ नहीं?
- मैं निगरानी में इस्तेमाल की जाने वाली स्ट्रक्चरल बनाम रेफ़रेंशियल इक्वलिटी को कैसे तय करूं?
- सिस्टम में “मैजिक” को कम करता है. इससे किसी व्यक्ति के यह मानने की संभावना कम हो जाती है कि सिस्टम उसे पहले से ज़्यादा स्मार्ट समझ रहा है (यानी कि उसे सूची में फ़र्क़ करने का तरीका पता है)
- निगरानी के कंट्रोल के लेवल को ज़्यादा आसान बनाता है.
- वैरिएबल से रीफ़ैक्टरिंग में सुधार करता है -> क्लास में मौजूद प्रॉपर्टी
- राज्य के हिसाब से, हाथ से बनाए गए ऑप्टिमाइज़ेशन करने के शानदार मौके मिलते हैं
- यह बाकी नेटवर्क के साथ ज़्यादा करीब से अलाइन हो जाता है. साथ ही, इसमें बदलाव न होने या हमें “म्यूटेबल स्टेट को अपनाना” के बारे में साफ़ तौर पर जानकारी नहीं दी जाती है
डेटा माइग्रेशन से जुड़े नोट
@Model
के तकरीबन सभी मौजूदा इस्तेमाल को, दो में से किसी एक तरीके से काफ़ी हद तक बदला जा सकता है. यहां दिए गए उदाहरण में, उदाहरण के तौर पर दी गई एक@Model
क्लास है. इसमें सिर्फ़ उदाहरण के तौर पर दी गई दो प्रॉपर्टी हैं. साथ ही, इसका इस्तेमाल कंपोज़ेबल में किया गया है.@Model class Position( var x: Int, var y: Int ) @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }
पहला विकल्प:
State<OriginalClass>
का इस्तेमाल करें और कॉपी बनाएं.Kotlin के डेटा क्लास की मदद से यह तरीका आसान हो जाता है. बुनियादी तौर पर, पिछली सभी
var
प्रॉपर्टी को डेटा क्लास कीval
प्रॉपर्टी में बदलें. इसके बाद,remember
की जगहstate
का इस्तेमाल करें. साथ ही, डेटा क्लासcopy(...)
सुविधा तरीके का इस्तेमाल करके, ओरिजनल वैल्यू की क्लोन की गई कॉपी को स्टेट वैल्यू असाइन करें.ध्यान रखें कि यह तरीका सिर्फ़ तब काम करता है, जब
State
इंस्टेंस बनाए गए स्कोप में सिर्फ़ उस क्लास में म्यूटेशन किए गए हों. अगर क्लास, इस्तेमाल के दायरे से बाहर खुद को अंदरूनी तौर पर बदल रही है और आपको उसकी निगरानी पर भरोसा है, तो अगला तरीका अपनाना होगा.data class Position( val x: Int, val y: Int ) @Composable fun Example() { var p by state { Position(0, 0) } PositionChanger( position=p, onXChange={ p = p.copy(x=it) } onYChange={ p = p.copy(y=it) } ) }
दूसरा विकल्प: म्यूट किए जा सकने वाले स्टेटऑफ़ और प्रॉपर्टी डेलिगेट का इस्तेमाल करें
यह तरीका, Kotlin की प्रॉपर्टी डेलिगेट की सुविधा और
mutableStateOf
API की मदद से आसान हो जाता है. इसकी मदद से, कंपोज़िशन के बाहर म्यूटेबलस्टेट इंस्टेंस बनाए जा सकते हैं. ज़रूरी है कि ओरिजनल क्लास की सभीvar
प्रॉपर्टी कोvar
प्रॉपर्टी से बदलें औरmutableStateOf
प्रॉपर्टी को उनकी प्रॉपर्टी डेलिगेट के तौर पर चुनें. इसका एक फ़ायदा यह है कि क्लास के इस्तेमाल में कोई बदलाव नहीं होगा. इसकी वजह यह है कि क्लास को सिर्फ़ अंदरूनी तौर पर लागू किया जा सकता है. हालांकि, यह व्यवहार पूरी तरह से मूल उदाहरण के जैसा नहीं है, क्योंकि अब हर प्रॉपर्टी को अलग-अलग देखा जाता है या उसकी सदस्यता ली जाती है. इसलिए, इस रीफ़ैक्टर के बाद आपको दिखने वाले बदलाव ज़्यादा सटीक (एक अच्छी चीज़) हो सकते हैं.class Position(x: Int, y: Int) { var x by mutableStateOf(x) var y by mutableStateOf(y) } // source of Example is identical to original @Composable fun Example() { var p = remember { Position(0, 0) } PositionChanger( position=p, onXChange={ p.x = it } onYChange={ p.y = it } ) }
(I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/7,314}, b/7,414}
टेक्स्ट फ़ील्ड में onFocusChange कॉलबैक का नाम onFocusChanged (Ida4a1) में बदला गया
थ्रेशोल्ड तय करने के लिए, स्थिति में थ्रेशहोल्ड पैरामीटर जोड़ा गया ऐंकर कर सकती है. इसका इस्तेमाल बॉटम पैनल में 56dp थ्रेशोल्ड सेट करने के लिए किया गया था. इसके अलावा, अब BottomDrawerLayout एक अलग BottomDrawerState enum का इस्तेमाल कर रहा है. (I533FA)
पहले बंद किए गए Modifier.Repple को हटा देता है. क्लिक करने योग्य अब डिफ़ॉल्ट संकेत के रूप में रिपल का उपयोग करता है (अगर आपके ऐप्लिकेशन में MaterialTheme {} सेट है) इसलिए ज़्यादातर मामलों में आप केवल क्लिक करने योग्य का उपयोग कर सकते हैं और बिना किसी शुल्क के रिपल संकेत प्राप्त कर सकते हैं. अगर आपको रिपल के लिए रंग / साइज़ / बाउंडेड पैरामीटर को पसंद के मुताबिक बनाना है, तो मैन्युअल तरीके से RippleIndic बनाएं और उसे इंंडिकेशन पैरामीटर के तौर पर 'क्लिक किए जा सकने वाले' पैरामीटर के तौर पर पास किया जा सकता है. (I663b2, b/155375067)
FilledTextField कंपोज़ेबल (I7f8f8) के लिए काम न करने वाले बदलाव को हटाया गया
बटन ऑब्जेक्ट का नाम बदलकर (इसमें बटन फ़ंक्शन में इस्तेमाल किए जाने वाले डिफ़ॉल्ट डिफ़ॉल्ट बटन शामिल हैं) को बटन कॉन्सटेंट (I7c5f7, b/159687878) में बदलें
बटन का कॉन्टेंट स्लॉट अब लाइन की तरह काम करता है (यह तब काम आता है, जब आपको टेक्स्ट के साथ आइकॉन की ज़रूरत हो. बटन को लिखने के तरीके के उदाहरण देखें) (I0ff10, b/158677863)
RadioGroup और RadioGroupItem को बंद कर दिया गया है. अपने डिज़ाइन के हिसाब से रेडियोबटन का सही सेट तैयार करने के लिए, Modifier.selectable, पंक्ति, और कॉलम के साथ Box का इस्तेमाल करें (I7f5cf, b/149528535)
मटीरियल आउटलाइन किया गया Textfield (I1a518) जोड़ा गया
androidx.ui.foundation.TextFieldValue और androidx.ui.input.EditorValue अब काम नहीं करता. टेक्स्ट फ़ील्ड, FilledTextField और CoreTextField कंपोज़ेबल, जो इनका इस्तेमाल करते हैं यह टाइप अब काम नहीं करता. कृपया इस्तेमाल करें इसके बजाय androidx.ui.input.TextFieldValue (I4066d, b/155211005)
TabRow.TabPosition में डीपी (Dp) में कोई पोज़िशन नहीं है, न कि IntPx में (I34a07, b/158577776)
IntPx के इस्तेमाल को Int. से बदला गया. IntPxPosition बदला गया IntOffset के साथ. IntPxSize को IntSize से बदला गया. (Ib7b44)
सभी विज्ञापनों को एक साथ जोड़ने के लिए दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या साइज़ की जानकारी, मानकों के हिसाब से इसके बजाय साइज़ क्लास का इस्तेमाल करने पर का PxSize. इससे ये फ़ायदे मिलते हैं एक इनलाइन क्लास की मदद से, दिखाने के लिए 2 फ़्लोट वैल्यू को पैक करने के लिए चौड़ाई और ऊंचाई को फ़्लोट के तौर पर दिखाया गया है. (Ic0191)
Modifier.ripple को बंद करता है. क्लिक करने योग्य अब डिफ़ॉल्ट संकेत के रूप में रिपल का उपयोग करता है (अगर आपके ऐप्लिकेशन में MaterialTheme {} सेट है) इसलिए ज़्यादातर मामलों में आप केवल क्लिक करने योग्य का उपयोग कर सकते हैं और बिना किसी शुल्क के रिपल संकेत प्राप्त कर सकते हैं. अगर आपको रिपल के लिए रंग / साइज़ / बाउंडेड पैरामीटर को पसंद के मुताबिक बनाना है, तो मैन्युअल तरीके से RippleIndic बनाएं और उसे इंंडिकेशन पैरामीटर के तौर पर 'क्लिक किए जा सकने वाले' पैरामीटर के तौर पर पास किया जा सकता है. (I101cd, b/155375067)
Scaffold API के एपीआई फिर से बनाए गए हैं: कुछ पैरामीटर का नाम बदला गया है और डेटा को बेहतर तरीके से कस्टमाइज़ करने के लिए नए पैरामीटर जोड़े गए हैं. फ़ैब, TopBar, और BottomBar (I0e7ce) के क्वेरी साइज़ में गैटर जोड़ा गया
ui-material, (मटीरियल डिज़ाइन मेन्यू) को लागू करने के तरीके में ड्रॉपडाउनमेन्यू कॉम्पोनेंट जोड़ा गया. (I9bb3d)
सॉफ़्टवेयर कीबोर्ड को मैन्युअल तरीके से दिखाने/छिपाने की अनुमति दें (Ifb9d6, b/155427736)
Modifier.indic को फ़ाउंडेशन पैकेज में जोड़ दिया गया है. इसका इस्तेमाल, उन एलिमेंट पर दबाने/खींचने/अन्य संकेत दिखाने के लिए करें जिनके साथ उपयोगकर्ता ने इंटरैक्ट किया है (I8425f, b/155287131)
सभी के लिए CanvasScope की सेवाएं लागू करना इसलिए, अब सिर्फ़ DrawScope और कॉन्टेंट ड्रॉ का दायरा CanvasScope का नाम बदलकर DrawScope. डेंसिटी को लागू करने के लिए, DrawScope को अपडेट किया गया का इंटरफ़ेस देखें और LayoutDirection मुहैया कराएं ContentDrawScope में ड्रॉस्कोप सब-क्लास को मिटाया गया Painter और PainterModifier अपडेट कर दी गई हैं आरटीएल प्रॉपर्टी का रखरखाव नहीं किया जाएगा क्योंकि DrawScope पहले से ही यह मैन्युअल तरीके से दिए बिना (I1798e)
Emphasis.assign() का नाम बदलकर Emphasis.applyEmphasis() (Iceebe) करता है
बंद किए गए बटन अब विज़ुअल तौर पर मटीरियल डिज़ाइन स्पेसिफ़िकेशन (I47dcb, b/155076924) का पालन करते हैं
FilledTextField को ime ऐक्शन, विज़ुअल ट्रांसफ़ॉर्मेशन, और कीबोर्ड टाइप की सुविधा मिलती है (I1f9cf, b/155075201)
स्ट्रोक के साइज़ को पसंद के मुताबिक बनाने के लिए, CircularProprogressIndicator में, स्ट्रोक की चौड़ाई का पैरामीटर जोड़ता है. लीनियर प्रोग्रेसइंडिकेटर के स्ट्रोक साइज़ (ऊंचाई) को बदलने के लिए, Modifier.प्राथमिकताHeight() या किसी दूसरे साइज़ मॉडिफ़ायर का इस्तेमाल किया जा सकता है. (Icea16, b/154919081)
स्ट्रोक के साइज़ को पसंद के मुताबिक बनाने के लिए, CircularProprogressSettings में स्ट्रोक की चौड़ाई का पैरामीटर जोड़ता है. किसी लीनियर प्रोग्रेसइंडिकेटर के स्ट्रोक की साइज़ (ऊंचाई) को बदलने के लिए, Modifier.प्राथमिकताHeight() या किसी दूसरे साइज़ मॉडिफ़ायर का इस्तेमाल किया जा सकता है. (Icea16, b/154919081)
FilledTextField में पीछे और आगे आने वाले आइकॉन के लिए और गड़बड़ी की स्थिति को हैंडल करने के लिए स्लॉट एपीआई जोड़ा गया (Ic12e0)
एफ़एबी और एक्सटेंडेड एफ़एबी का डिफ़ॉल्ट रंग Materialथीम.colors.secondary का रंग बदल गया है. (I3b9b9, b/154118816)
एपीआई में शून्य रंग वाले सभी इस्तेमाल को इससे बदला गया अमान्य हो सकता है. साथ ही, शून्य के बजाय Color.Unset का इस्तेमाल करें (Iavaa7)
EdgeInsets का नाम बदलकर इनरपैडिंग किया गया है. मटीरियल बटन के इनरपैडिंग पैरामीटर का नाम बदलकर पैडिंग (जगह) किया गया. (I66165)
स्लाइडर अब स्टेटलेस फ़ॉर्मैट में है. किसी अन्य कंट्रोल की तरह, उपयोगकर्ताओं को खुद ही स्थिति को पास करना और अपडेट करना होगा. (Ia00aa)
स्टैटिकड्रॉर हटा दिया गया है. अगर आपको इसकी ज़रूरत है, तो इसके बजाय सामग्री की खास चौड़ाई वाले Box का इस्तेमाल करें (I244a7)
भरे हुए टेक्स्ट फ़ील्ड (Ic75cd) का मटीरियल डिज़ाइन लागू करना जोड़ा गया
ListItem में मॉडिफ़ायर पैरामीटर और फिर से क्रम में लगाए गए पैरामीटर जोड़े गए ट्रेलिंग लैम्डा बॉडी (I66e21) का प्रमोशन करें
टाइपोग्राफ़ी में defaultFontFamily कंस्ट्रक्टर पैरामीटर जोड़ता है, जिससे डिफ़ॉल्ट फ़ॉन्ट फ़ैमिली तय की जाती है. इसका इस्तेमाल, दिए गए ऐसे TextStyles के लिए किया जाएगा जिन्हें फ़ैमिली सेट नहीं किया गया है. (I89d07)
मटीरियल डेटा टेबल को एपीआई प्लैटफ़ॉर्म से कुछ समय के लिए हटाया गया. (Iaea61)
डिवाइडर कंपोज़ेबल (Ic4373) में नाम बदले गए पैरामीटर
बच्चे (Ia6d19)
मटीरियल थीम.emphasisLevels को हटाता है. इसके बजाय, ज़ोर के लेवल (Ib5e40) को फिर से पाने के लिए EmphasisAmbient.current का इस्तेमाल करें
आकार की थीम बनाने का सिस्टम, मटीरियल डिज़ाइन स्पेसिफ़िकेशन के मुताबिक अपडेट किया गया है. अब छोटे, मीडियम, और बड़े आकार उपलब्ध कराए जा सकते हैं, ताकि ज़्यादातर कॉम्पोनेंट में इनका इस्तेमाल किया जा सके (Ifb4d1)
Materialथीम के एपीआई को फ़ंक्शन के बजाय प्रॉपर्टी में बदला गया है. जैसे, MaterialTheme.colors(), MaterialMaterial.typography(). मौजूदा कॉल से ब्रैकेट हटाएं. व्यवहार में कोई बदलाव होने की उम्मीद नहीं है. (I3565a)
कंपोज़ेबल स्वीकार करने के लिए, RefactorededActionButton API स्वीकार किए जाते हैं प्रिमिटिव के बजाय लैम्डा. इस्तेमाल के लिए अपडेट किए गए नमूने देखें जानकारी. (I00622)
चेकबॉक्स, Switch, और टॉगल में
enabled
पैरामीटर जोड़ें (I41c16)Ripple अब एक संशोधक है. हालांकि, क्लिक किए जा सकने वाले फ़ॉर्मैट को अभी तक कन्वर्ट नहीं किया गया है, हमारा सुझाव है कि
Clickable(onClick = { ... }, modifier = ripple())
(Ie5200, b/151331852, b/150060763) का इस्तेमाल करेंसरफ़ेस और कार्ड को androidx.ui.material.Surface से androidx.ui.material (I88a6d, b/150863888) में ले जाया गया है
बटन, FlowingActionButton और Clickable में अब एक अलग
enabled
पैरामीटर है. बटन के कुछ पैरामीटर के नाम बदले गए या उनका क्रम बदला गया. (I54b5a)इमेज डेटा और लेआउट में इस्तेमाल किए जाने वाले और कॉन्टेंट ड्रॉ करने के लिए इस्तेमाल होने वाले आने वाले इमेज कंपोज़ेबल के बीच के फ़र्क़ को बेहतर तरीके से समझने के लिए, इमेज का नाम बदलकर ImageAsset पर रखा गया है. _Body:android.graphics.Bitmap पर एक्सटेंशन बनाने का तरीका बनाया गया, Bitmap.asImageAsset() का इस्तेमाल करके, किसी ImageAsset, पारंपरिक Android को एक साथ जोड़ने में काम आता है कंपोज़ फ़्रेमवर्क (Id5bbd) की मदद से ऐप्लिकेशन डेवलपमेंट
Snackbar API को स्ट्रिंग पैरामीटर से हटाया गया, ताकि इसका इस्तेमाल किया जा सके यह कंपोज़ेबल लैम्डा स्वीकार करता है. इसके लिए अपडेट किए गए नमूने देखें इस्तेमाल की जानकारी (I55f80)
text
औरicon
lambdas (Ia057e) को स्वीकार करने के लिए, रीफ़ैक्ट किए गए Tab एपीआईBottomनेविगेशन कॉम्पोनेंट जोड़ा गया. इसके लिए दस्तावेज़ और सैंपल देखें इस्तेमाल की जानकारी (I731a0)
आइकॉन, iconButton और iconToggleButton जोड़ा गया है, जिससे AppBarIcon हटाया जा रहा है. AppBarIcon के मौजूदा इस्तेमाल को आइकॉनबटन से सीधे तौर पर बदला जा सकता है. और अब उनके पास सही टच टारगेट होगा. इसके नमूने देखें इस्तेमाल की जानकारी और दिए गए मटीरियल आइकॉन के आइकॉन देखें तो इन कॉम्पोनेंट के साथ सीधे इस्तेमाल किया जा सकता है. (I96849)
ButtonStyle को अलग-अलग फ़ंक्शन से बदला गया और टेक्स्ट (स्ट्रिंग) ओवरलोड हटाया गया. इस्तेमाल की जानकारी के लिए, अपडेट किए गए सैंपल देखें. (If63ab, b/146478620, b/146482131)
Border
मॉडिफ़ायर का नाम बदलकरDrawBorder
करें (I8ffcc)Layoutकोऑर्डिनेटेड में अब पोज़िशन प्रॉपर्टी नहीं होती. कॉन्टेंट बनाने लेआउट मॉडिफ़ायर के बारे में विचार करते समय पोज़िशन प्रॉपर्टी का कोई मतलब नहीं बनता. रोटेशन या स्केलिंग. इसके बजाय, डेवलपर को parentCoordanates का इस्तेमाल करना चाहिए और childToLocal() फ़ंक्शन की मदद से एक से ट्रांसफ़ॉर्म की वैल्यू को कैलकुलेट किया जाता है लेआउट को दूसरे से सिंक करें.
लेआउट कोऑर्डिनेटर, साइज़ प्रॉपर्टी के लिए इसके बजाय IntPxSize का इस्तेमाल करता है PxSize. लेआउट, लेआउट के लिए पूर्णांक पिक्सल साइज़ का इस्तेमाल करते हैं, इसलिए सभी लेआउट साइज़ को पूर्णांक का इस्तेमाल करना चाहिए, फ़्लोटिंग पॉइंट वैल्यू का नहीं. (I9367b)
ऐंबियंट एपीआई में बदलाव किए जा रहे हैं. ज़्यादा जानकारी के लिए, लॉग और
Ambient<T>
का दस्तावेज़ देखें (I4c7ee, b/143769776)स्कैफ़ोल्ड मटीरियल का कॉम्पोनेंट जोड़ा गया. स्कैफ़ोल्ड इम्प्लीमेंट (I7731b)
बॉर्डर मॉडिफ़ायर (Id335a) के लिए, DrawBorder को बदल दिया गया
गड़बड़ियां ठीक की गईं
- FocusModifier को Modifier.focus, Modifier.focusRequester, Modifier.focusObserver के लिए बंद कर दिया गया. FocusState और FocusState को फ़ोकसState2 के लिए हटा दिया गया है. I46919, b/160822875, b/160922136
- वर्टिकल स्क्रोलर और हॉराइज़नॉल स्क्रोलर की सुविधा बंद कर दी गई है. कॉलम/पंक्ति के व्यवहार और पैरामीटर के साथ बिल्ड-इन अनुभव के लिए Scrollableकॉलम और ScrollableRow का इस्तेमाल करें या अपने खुद के एलीमेंट पर Modifier.verticalscroll और Modifier.हॉरिज़ॉन्टलंज़ का इस्तेमाल करें. इसी तरह, ScrollerPosition की जगह अब ScrollState के बजाय (I400ce, b/157225838, b/149460415, b/154105299)
- Modifier.draggable और Modifier.scrollable एपीआई पर फिर से काम किया गया. झुकाव के पक्ष में DragonDirection को हटा दिया गया. स्क्रोल करने के लिए, दिए गए स्टेटस को आसान बनाया गया है. ScrollableState का नाम बदलकर ScrollableController (Iab63c, b/149460415) कर दिया गया है
runOnIdleCompose
का नाम बदलकरrunOnIdle
किया गया (I83607)- सिंगल-वैल्यू वाली सिमैंटिक प्रॉपर्टी, अब कॉलिंग स्टाइल का इस्तेमाल करती हैं. उदाहरण के लिए, 'semantics { hide = true }' अब इस रूप में लिखा जाता है: 'सिमेंटिक्स {hidden() }'. (Ic1afd, b/145951226, b/145955412)
- ज़्यादा आसान बनाने के लिए, कई टेस्टिंग एपीआई के नाम बदले गए. सभी findXYZ के एपीआई का नाम बदलकर, onNodeXYZ कर दिया गया है. सभी doXYZ के एपीआई का नाम बदलकर यह कर दिया गया परफ़ॉर्म करने वाली सेटिंगXYZ. (I7f164)
- ट्रांज़िशन एपीआई को बदल दिया गया है, ताकि ट्रांज़िशन स्टेट पास करने के बजाय ट्रांजिशन स्टेट होता है. इससे एपीआई, animate() एपीआई का इस्तेमाल करें. (I24e38)
- एक IntBounds यूनिट क्लास जोड़ी गई है, जो लेआउट से पूर्णांक पिक्सल बाउंड दिखाती है. पॉप-अपपोज़िशन प्रोवाइडर का एपीआई इस्तेमाल करने के लिए, इसे अपडेट किया गया है. (I0d8d0, b/159596546)
- जांच करने वाले लोगों के लिए, एक नया वैकल्पिक फ़्लैग userUnmergedTree जोड़ा गया. (I2ce48)
- साइज़ की जांच करने वाले पुराने एपीआई हटाए गए. (Iba0a0)
- Shader इनलाइन क्लास हटाई गई NativeShader अपेक्षित श्रेणी को रैप कर दिया है NativeShader का नाम बदलकर Shader किया गया. रैप की गई शेडर इनलाइन क्लास ने यह किया एपीआई प्लैटफ़ॉर्म पर कोई अहम जानकारी नहीं जोड़नी चाहिए और एक इनलाइन क्लास थी, इसलिए NativeShader का इस्तेमाल करें क्लास का इस्तेमाल करें. (I25e4d)
- पॉप-अप, डायलॉग, और मेन्यू में अब कॉन्टेक्स्चुअल मटीरियल थीम का इस्तेमाल किया जा रहा है (Ia3665, b/156527485)
- मटीरियल ड्रॉपडाउन मेन्यू अब स्क्रोल किया जा सकता है. (Ide699)
- Layout() फ़ंक्शन के माप ब्लॉक से लेआउट डायरेक्शन पैरामीटर हटाया गया. हालांकि, लेआउट दिशा-निर्देश, मेज़र स्कोप ऑब्जेक्ट (Ic7d9d) के ज़रिए कॉलबैक में उपलब्ध है
- टॉप लेवल एपीआई में, AssetBuilder के बजाय एनिमेशन स्पेस का इस्तेमाल करें के कॉन्सेप्ट को समझाने के लिए -इसके लिए lambda की ज़रूरत को हटाकर, ट्रांज़िशन DSL को बेहतर बनाएं ट्वीन (10-13 साल की वसंत) जैसे ऐनिमेशन स्पेक्स बनाना. इसके बजाय, वे यह लेते हैं किसी भी कंस्ट्रक्टर पैरामीटर को सीधे तौर पर पैरामीटर नहीं करना चाहिए. -ऐनिमेशन स्पेक्ट को इस्तेमाल करना अब और भी आसान बना दिया गया है बिल्डर पर निर्भर रहने के बजाय, कंस्ट्रक्टर -कीफ़्रेम और ट्वीन के लिए अवधि और देरी को इंटरसेप्शन करें. यह यह ग़ैर-ज़रूरी टाइप कास्ट और मेथड ओवरलोड को खत्म करता है ( और लंबे इंटरसेप्शन के साथ काम करते हैं. (Ica0b4)
enabled
को 'गलत है' पर सेट करने पर, स्विच करने की सुविधा 'बंद है' के तौर पर दिखती है (If4624, b/155941869, b/159331694)- Modifier.tag का नाम बदलकर Modifier.layoutId रख दिया गया, ताकि Modifier.testTag को लेकर भ्रम की स्थिति न हो. (I995f0)
- Placesable#get(alignmentLine) से वापस लौटाए गए अलाइनमेंट लाइन की पोज़िशन खाली हैं. जिस अलाइनमेंट लाइन के लिए क्वेरी की गई है वह मौजूद न होने पर, alignmentLine.बताई गई जानकारी नहीं दिखाई जाएगी. (I896c5, b/158134875)
रेडियस क्लास की फिर से विधि की मदद से उसे इनलाइन क्लास. कंपैनियन मोड का इस्तेमाल करके बनाया गया वीडियो हटाया गया फ़ंक्शन कंस्ट्रक्टर के पक्ष में मेथड इसमें रेडियस के लिए डिफ़ॉल्ट पैरामीटर का इस्तेमाल किया गया है y-ऐक्सिस के साथ दिखने वाली वैल्यू x-ऐक्सिस का रेडियस पैरामीटर.
इस्तेमाल करने के लिए, DrawScope.drawRoundRect को अपडेट किया गया दो अलग-अलग पैरामीटर के बजाय, सिर्फ़ एक रेडियस पैरामीटर x और y के आस-पास की रेडियस के फ़्लोट वैल्यू ऐक्सिस (I46d1b)
सभी विज्ञापनों को एक साथ जोड़ने के लिए दिखाने के लिए इस्तेमाल की जाने वाली क्लास की संख्या पोज़िशनिंग की जानकारी, स्टैंडर्ड इसके बजाय ऑफ़सेट क्लास के इस्तेमाल पर का PxPosition. इससे ये फ़ायदे मिलते हैं एक इनलाइन क्लास की मदद से, x को दिखाने के लिए, 2 फ़्लोट वैल्यू को पैक करने के लिए और y ऑफ़सेट को फ़्लोट के रूप में दिखाया गया है. (I3ad98)
अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सेल पैरामीटर के लिए प्रिमिटिव टाइप. Px क्लास को पूरी तरह से मिटाया गया (I3ff33)
टॉगल किया जा सकने वाला कॉम्पोनेंट अब काम नहीं करता. इसके बजाय, Modifier.toggleable का इस्तेमाल करें (I35220, b/157642842)
अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I086f4) के लिए प्रिमिटिव टाइप
अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (Id3434) के लिए प्रिमिटिव टाइप
अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I97a5a) के लिए प्रिमिटिव टाइप
ड्रॉपडाउन मेन्यू आइटम के लिए, onClick की प्रोसेस ठीक नहीं की जा रही है. (I3998b, b/157673259)
म्यूचुअलली एक्सक्लूज़िवसिटआइटम को बंद कर दिया गया है. इसके बजाय, Modifier.selectable का इस्तेमाल करें. (I02b47, b/157642842)
TestTag अब काम नहीं करता. इसके बजाय, Modifier.testTag का इस्तेमाल करें. (If5110, b/157173105)
टेक्स्ट फ़ील्ड के कर्सर में ब्लिंक करने वाला ऐनिमेशन (Id10a7) है
अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (I19d02) के लिए प्रिमिटिव टाइप
वर्टिकल स्क्रोलर अब बॉक्स से बाहर कॉलम उपलब्ध कराता है. हॉरिज़ॉन्टल स्क्रोलर अब लाइन को बॉक्स से बाहर दिखाता है. (Ieca5d, b/157020670)
अलग-अलग कॉलम में Px क्लास का इस्तेमाल बदला गया मुझे छात्र-छात्राओं की सिर्फ़ डीपी पर भरोसा करने के लिए रीफ़ैक्टरिंग और पिक्सल पैरामीटर (Iede0b) के लिए प्रिमिटिव टाइप
हाई लेवल कॉम्पोनेंट के लिए, इस्तेमाल की अनुमति देने के लिए, Modifier.semantics का इस्तेमाल नहीं किया जा सका. (I4cfdc)
Drawlayer मॉडिफ़ायर का api बदल दिया गया है: Outlineअब का नाम आकार में बदल दिया गया है. इसके लिए, RectanglePattern की डिफ़ॉल्ट वैल्यू मौजूद है और अब इसका वैल्यू शून्य नहीं हो सकती; ClipToOutline का नाम क्लिप में बदला गया; ClipToBounds हटा दिया गया है, क्योंकि यह रेक्टैंगल शेप के साथ, क्लिप == true की तरह है (I7ef11, b/155075735)
हायर लेवल अपडेट किया गया ऐसे एपीआई जो कैनवस को अनुमति देते हैं इसके बजाय, CanvasScope का डेटा दिखाएं. यह हटा देता है इसलिए, उपभोक्ताओं को अपने Paint ऑब्जेक्ट. उन उपभोक्ताओं के लिए जो अब भी कैनवस का ऐक्सेस चाहिए वे आरेखण कैनवास एक्सटेंशन का इस्तेमाल कर सकते हैं वह तरीका जो समस्या के लिए कॉलबैक उपलब्ध कराता है ड्रॉइंग कमांड को कैनवस. (I80afd)
alignmentLineOffset कंपोज़ेबल अब काम नहीं करता है, इसके बजाय कृपयाRelatPaddingFrom() मॉडिफ़ायर का इस्तेमाल करें. CenteralignmentLine कंपोज़ेबल को हटा दिया गया है. (I60107)
WithConstraints पीछे lambda API को बदल दिया गया है. अब दो पैरामीटर के बजाय, इसका रिसीवर स्कोप है
defaultMinSizeConstraints लेआउट मॉडिफ़ायर जोड़ा गया, जो रैप किए गए लेआउट में साइज़ कंस्ट्रेंट को सिर्फ़ तब सेट करता है, जब आने वाले कंस्ट्रेंट के बारे में न बताया गया हो (कम से कम कंस्ट्रेंट के लिए 0 और ज़्यादा से ज़्यादा कंस्ट्रेंट के लिए इनफ़िनिटी). (I311ea, b/150460257)
फ़ोकस मैनेजरAmbient को हटा दिया गया है. फ़ोकस पाने के लिए, FocusModifier.requestFocus का इस्तेमाल करें. (Ic4826)
एक ऐसा CanvasScope API बनाया गया, जिसमें एक क्वेरी के तौर पर कैनवस ऑब्जेक्ट, एक स्टेटलेस, डिक्लेरेटिव टोन को दिखाता है ड्रॉइंग एपीआई सरफ़ेस. ट्रांसफ़ॉर्मेशन ऐक्शन शामिल हैं अलग-अलग डिवाइसों के हिसाब से, अलग-अलग डिवाइसों पर भी मिलती-जुलती इनसेट सीमाओं तक सीमित है. उपभोक्ता को अपने पेंट की स्थिति खुद बनाए रखने की ज़रूरत नहीं पड़ती ऑब्जेक्ट है.
CanvasScopeSample और साथ ही जोड़ा गया डिक्लेरेटिव ग्राफ़िक शामिल करने के लिए, डेमो ऐप्लिकेशन को अपडेट किया गया डेमो (Ifd86d)
TextField (I6e33f) में कर्सर का रंग पसंद के मुताबिक बनाना जोड़ें
TextField के साथ इस्तेमाल की जाने वाली TextFieldValue अब इस तरह से इस्तेमाल की जाने पर गतिविधि मनोरंजन में बनी रह सकती है:
var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() }
(I5c3ce, b/155075724)LayoutModifier2 का नाम बदलकर LayoutModifier किया गया. (Id29f3)
अब काम नहीं करने वाले LayoutModifier इंटरफ़ेस को हटाया गया. (I2a9d6)
CoreTextField/TextField फ़ोकस आइडेंटिफ़ायर बदला गया फ़ोकस सबसिस्टम के साथ इंटिग्रेट करने के लिए फ़ोकस-नोड के साथ पैरामीटर. (I7ea48)
Layout और LayoutModifier2 के इंट्रिंसिक मेज़रमेंट फ़ंक्शन में अब IntrinsicmeasureScope रिसीवर है. यह इंप्लिसिक्स क्वेरी एपीआई उपलब्ध कराता है, जिसमें लिखे गए लेआउट को पूरी तरह से प्रोसेस किया जाता है. (आईडी9945)
एक ही पैरंट लेआउट में, बच्चों के ड्रॉइंग ऑर्डर को कंट्रोल करने के लिए नया Modifier.zIndex() जोड़ा गया है. DrawlayerModifier पर मौजूद एलिवेशन प्रॉपर्टी का नाम बदलकर ShadowEevation कर दिया गया है. इससे अब ड्रॉइंग के क्रम को कंट्रोल नहीं किया जाता. DrawShadow के पैरामीटर का क्रम बदल गया है: ऊंचाई को अब पहला मान दिया गया है और रेक्टैंगल शेप डिफ़ॉल्ट तौर पर, दूसरा आकार है. (I20150, b/152417501)
रेक्टैंगल शेप को androidx.ui.foundation.shape.* से androidx.ui.graphics में ले जाया गया.* (Ia74d5, b/154507984)
TextField API अपडेट - पैरामीटर(I66cd3) के साथ एक onFocusChange (बूलियन) कॉलबैक में onFocus और onBlur कॉलबैक को मर्ज किया गया है
वर्टिकलGravity और हॉरिज़ॉन्टलGravity पैरामीटर को क्रम से पंक्ति और कॉलम में जोड़ा गया. (I7dc5a)
किसी भी अलाइनमेंट के बजाय वर्टिकल या हॉरिज़ॉन्टल एलाइनमेंट के लिए wrapContentwidth और wrapContentHight को अपडेट किया गया. वर्टिकल या हॉरिज़ॉन्टल अलाइनमेंट स्वीकार करने के लिए, ग्रैविटी मॉडिफ़ायर को अपडेट किया गया. कस्टम निरंतर संरेखण का समर्थन करने के लिए पंक्ति, कॉलम और स्टैक को अपडेट किया गया. (Ib0728)
इस पर काम करने के लिए PixelMap API बनाया गया ImageAsset से पिक्सल की जानकारी मांगना. (I69ad6)
इससे ProtectContentColor हटा दिया जाता है. इसके बजाय,
Providers
(Iee942) के साथ सीधे ContentColorAmbient का इस्तेमाल करेंui-text-compos मॉड्यूल का नाम बदलकर, ui-text कर दिया गया है. यूज़र इंटरफ़ेस (यूआई)-टेक्स्ट अब CoreText और CoreTextField कंपोज़ेबल (Ib7d47) शामिल हैं
ui-text मॉड्यूल का नाम बदलकर ui-text-core (I57dec) कर दिया गया है
ui-framework/CoreText, CoreTextField कंपोज़ेबल को इसके तहत ले जाया गया ui-टेक्स्ट-कंपोज़ करें. आप अपने प्रोजेक्ट. (I32042)
DrawModifier एपीआई को बेहतर बनाएं:
- आरेखण() ContentDrawScope के लिए पाने वाले का स्कोप बनाया गया
- आरेखण() पर सभी पैरामीटर हटाए गए
- DrawScope का इंटरफ़ेस पुराने CanvasScope जैसा ही है
- ContentDrawScope मेंDrawContent() तरीका (Ibaced, b/152919067) है
runOnIdleCompose
औरrunOnUiThread
अब ग्लोबल फ़ंक्शन हैं लिखने के लिए विकल्प पर क्लिक करें. (Icbe8f)[Mutable]स्टेट प्रॉपर्टी डेलिगेट ऑपरेटर को एक्सटेंशन पर ले जाया गया Kotlin 1.4 प्रॉपर्टी डेलिगेट ऑप्टिमाइज़ेशन के साथ काम किया जा सकता है. कॉलर को सूची जोड़नी होगी
by state { ... }
याby mutableStateOf(...)
का इस्तेमाल जारी रखने के लिए, इंपोर्ट किए जा सकते हैं. (I5312c)LayoutCoordanates के लिए statusInParent और boundsInParent जोड़ा गया. (Icacdd, b/152735784)
ColoredRect को बंद कर दिया गया है. इसके बजाय Box(Modifier.PrioritySize(width, height).draw background(color) का इस्तेमाल करें. (I499fa, b/152753731)
LayoutLayout का नाम बदलकर,मेज़रमेंट नतीजा किया गया. (Id8c68)
LayoutModifier2 जोड़ा गया. यह लेआउट मॉडिफ़ायर तय करने के लिए एक नया एपीआई है; बंद किए गए LayoutModifier (If32ac)
मॉडिफ़ायर प्लस ऑपरेटर को फ़ैक्ट्री एक्सटेंशन फ़ंक्शन (I225e4) से बदला गया
खींचने और छोड़ने लायक को कार्रवाई बदलने वाली सूची में ले जाया गया (Id9b16, b/151959544)
ParentData कंपोज़ेबल का इस्तेमाल नहीं किया जा सकता. आपको एक ऐसा मॉडिफ़ायर बनाना चाहिए जो ParentDataModifier इंटरफ़ेस को लागू करता हो. इसके अलावा, अगर आपको मेज़र ब्लॉक में लेआउट चाइल्ड को पहचानने के लिए उन्हें टैग करना है, तो LayoutTag मॉडिफ़ायर का इस्तेमाल करें. (I51368, b/150953183)
बहिष्कृत केंद्र कंपोज़ेबल. इसे LayoutSize.Fill + LayoutLayout.Center मॉडिफ़ायर से बदला जाना चाहिए. इसके अलावा, सही मॉडिफ़ायर (Idf5e0) वाले किसी बॉक्स या स्टैक कंपोज़ेबल से भी बदला जाना चाहिए
वेक्टरPainter API इसमें जोड़ा गया इसके लिए मौजूदा सबकंपोज़िशन एपीआई को बदलें वेक्टर ग्राफ़िक. सबकंपोज़िशन का नतीजा एक DrawModifier. पिछला Drawवेक्टर वेक्टरPainter के लिए ज़रूरी कंपोज़ेबल.
इमेज(पेंटर) एपीआई का नाम बदलकर, PaintBox(पेंटर) किया गया वेक्टर कंपोज़ेबल बनाया गया जो इस तरह काम करता है इसके बजाय, VendorAsset के साथ इमेज कंपोज़ करने लायक ImageAsset का प्रतिशत (I9af9a, b/149030271)
LayoutBlogger का नाम बदलकर Layoutweight किया गया. भरने के लिए टाइट पैरामीटर का नाम बदला गया. (If4738)
DrawlayerModifier (I00aa4) के पक्ष में Re PaintBoundary हटाए गए
ड्रॉवेक्टर को सामान्य से बदला गया है किसी ऐसे मॉड्यूल को बनाने के लिए इस्तेमाल किया जा सकने वाला फ़ंक्शन जो वेक्टर को बैकग्राउंड के तौर पर लेआउट में ड्रॉ कर देगा. (I7b8e0)
ओपैसिटी कंपोज़ेबल फ़ंक्शन को बदल दिया गया है ड्रॉर ओपैसिटी मॉडिफ़ायर के साथ. (I5fb62)
कंपोज़ेबल फ़ंक्शन क्लिप को मॉडिफ़ायर से बदलें ड्रॉक्लिप(). DrawClipToBounds एक सुविधाजनक मॉडिफ़ायर है जब आपको सिर्फ़ लेयर की सीमाओं से क्लिप बनाने की ज़रूरत हो, तब इस्तेमाल करें होता है. (If28eb)
DraftShadow के कंपोज़ेबल फ़ंक्शन को createShadow() से बदला गया कार्रवाई बदलने वाली कुंजी. परछाइयों को अब लेयरModifier के हिस्से के तौर पर बनाया जाता है. (I0317a)
लेयरModifier जोड़ा गया. यह ऐसा मॉडिफ़ायर है जो अनुमति देता है लेआउट के लिए RenderNode जोड़ना. इससे सेटिंग चुनने पर क्लिपिंग, ओपैसिटी, रोटेशन, स्केलिंग, और शैडो. यह Re PaintBoundary की जगह ले लेगा. (I7100d, b/150774014)
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) हो गया हैऐसी इमेज बनाई गई जिसे हैंडल करने के लिए कंपोज़ किया जा सकता है दी गई ड्रॉइंग के अलावा साइज़/लेआउट ImageAsset को स्क्रीन पर दिखाएं. यह कंपोज़ेबल किसी भी आर्बिट्रेरी पेंटर की ड्रॉइंग बनाने में भी मदद करता है अपने मूल आकार के मुताबिक उदाहरण साथ ही, विज्ञापन देने वाले लोग या कंपनियां साइज़ या कम से कम साइज़ (Ibcc8f)
अवमानित रैप कंपोज़ेबल. इसे या तो LayoutLayout मॉडिफ़ायर या स्टैक कंपोज़ेबल (Ib237f) से बदला जा सकता है
withConstraints को LayoutDirection पैरामीटर मिला (I6d6f7)
लेआउट की दिशा को पैरंट लेआउट नोड से बच्चों में लागू किया गया हो. लेआउट डायरेक्शन मॉडिफ़ायर जोड़ा गया. (I3d955)
स्टैक कॉम्पोनेंट, दाएं से बाएं दिशा-निर्देश (Ic9e00) के साथ काम करता है
DrawSize कंपोज़ेबल को हटाया गया. इसके बजाय, Drawबैकग्राउंड मॉडिफ़ायर का इस्तेमाल करें. (I7ceb2)
LayoutPadding मॉडिफ़ायर (I9e8da) में दाईं से बाईं ओर जाने की सुविधा देना
AdapterList जोड़ा गया. यह स्क्रोल करने की सूची का एक ऐसा कॉम्पोनेंट है जो सिर्फ़ दिखने वाले आइटम लिखता और लेआउट करता है. वर्तमान में ज्ञात समस्याएं शामिल करें कि यह केवल-वर्टिकल है और पूरी तरह से हैंडल नहीं करता है बच्चों में हुए खास बदलावों के मामले में ऐसा ही होता है. (Ib351b)
ComposeFlags.COMPOSER_PARAM
फ़्लैग कोtrue
के तौर पर अपडेट किया गया है. इससे, कंपोज़ प्लगिन के लिए कोड जनरेट करने की रणनीति बदल जाएगी. हाई लेवल पर, इसकी वजह से @Composable फ़ंक्शन, एक और सिंथेटिक पैरामीटर के साथ जनरेट होता है. इसे बाद में आने वाले @Composable कॉल में पास किया जाता है, ताकि रनटाइम सही तरीके से एक्ज़ीक्यूशन को मैनेज कर सके. हालांकि, यह बाइनरी ब्रेकिंग बदलाव की तरह है. हालांकि, इससे कंपोज़ की सुविधा के सभी पाबंदी वाले इस्तेमाल में, सोर्स-लेवल पर काम करने की सुविधा बनी रहेगी. (I7971c)कैनवस कॉम्पोनेंट जोड़ा गया. इस कंपोज़ेबल का साइज़ (उपयोगकर्ता ने तय किया) है. इसकी मदद से, CanvasScope (I0d622) का इस्तेमाल करके ड्रॉ किया जा सकता है
डेंसिटी और डेंसिटीस्कोप को एक इंटरफ़ेस में मर्ज किया गया. Amdensity() के बजाय, अब DensityAmbient.current का इस्तेमाल करें. withडेंसिटी(डेंसिटी) के बजाय, सिर्फ़ with(डेंसिटी) (I11cb1)
दिए गए अलाइनमेंटलाइन बनाने के लिए लेआउट कोऑर्डिनेट बदले गए के बजाय एक सेट बनाएं और LayoutCoordingates को कोई मान प्राप्त करने के बजाय get() ऑपरेटर का उपयोग करें. इससे यह आसान हो जाता है के लिए, सेट के एक या ज़्यादा मान को बिना हर मॉडिफ़ायर के लिए नया कलेक्शन बना सकते हैं. (I0245a)
स्क्रोलर अब मूल Android फ़्लिंग मोशन व्यवहार दिखाते हैं. (I922af, b/147493715)
कंस्ट्रेंट के एपीआई सरफ़ेस में सुधार (I0fd15)