Android
ConstraintLayout
खोज…
परिचय
ConstraintLayout
एक ViewGroup
जो आपको लचीले तरीके से विजेट्स को स्थिति और आकार देने की अनुमति देता है। यह एंड्रॉइड 2.3 (एपीआई स्तर 9) और उच्चतर के साथ संगत है।
यह आपको एक सपाट दृश्य पदानुक्रम के साथ बड़े और जटिल लेआउट बनाने की अनुमति देता है। यह RelativeLayout
समान है, जिसमें सभी दृश्य भाई-बहन के विचारों और मूल लेआउट के बीच संबंधों के अनुसार निर्धारित किए गए हैं, लेकिन यह RelativeLayout
से अधिक लचीला है और Android Studio के लेआउट संपादक के साथ उपयोग करना आसान है।
वाक्य - विन्यास
ConstraintLayout
सार्वजनिक शून्य addView (देखें बच्चे, इंट इंडेक्स, ViewGroup.LayoutParams params)
सार्वजनिक बाधाएं
सार्वजनिक शून्य onViewAdded (दृश्य देखें)
सार्वजनिक शून्य onViewRemoved (देखें दृश्य)
सार्वजनिक शून्य निष्कासन दृश्य (दृश्य देखें)
सार्वजनिक शून्य अनुरोध
संरक्षित बूलियन चेकलैटपराम (ViewGroup.LayoutParams params)
संरक्षित कॉन्स्ट्रेण्टाइलआउट.लायआउटप्रेम उत्पन्न
संरक्षित दृश्यसमूह .आउटआउट जनरेट जनरेट लाइफ़प्रेम (ViewGroup.LayoutParams params)
संरक्षित शून्य onLayout (बूलियन परिवर्तित, इंट लेफ्ट, इंट टॉप, इंट राइट, इंट बॉटम)
संरक्षित शून्य onMeasure (int चौड़ाईMeasureSpec, int heightMeasureSpec)
ConstraintLayout.LayoutParams
सार्वजनिक शून्य समाधानलैटआउट अप्रत्यक्ष (int लेआउटडायरेक्शन)
सार्वजनिक शून्य मान्य ()
संरक्षित शून्य सेटबैटएट्यूएंट्स (टाइप करेंअरे, इंट चौड़ाई, एंट्रेट, इंट ऊंचाईएटर)
पैरामीटर
पैरामीटर | विवरण |
---|---|
बच्चा | लेआउट में जोड़ा जाने वाला View |
सूची | लेआउट पदानुक्रम में View का सूचकांक |
पैरामीटर | View का LayoutParams |
attrs | AttributeSet जो LayoutParams को परिभाषित करता है |
राय | वह View जो जोड़ा या हटाया गया हो |
बदला हुआ | इंगित करता है कि यह View आकार या स्थिति बदल गया है |
बाएं | जनक View सापेक्ष बाईं स्थिति |
ऊपर | शीर्ष स्थिति, पैरेंट View सापेक्ष |
सही | माता-पिता के View सापेक्ष सही स्थिति |
तल | पैरेंट View सापेक्ष नीचे की स्थिति |
widthMeasureSpec | पैरेंट View द्वारा लगाए गए क्षैतिज स्थान की आवश्यकताएं |
heightMeasureSpec | पैरेंट View द्वारा लगाए गए ऊर्ध्वाधर स्थान की आवश्यकताएं |
layoutDirection | - |
ए | - |
widthAttr | - |
heightAttr | - |
टिप्पणियों
Google IO 2016 में Google ने एक नए एंड्रॉइड लेआउट की घोषणा की जिसका नाम है कॉन्स्ट्रेन्थलाईट।
ध्यान दें क्योंकि वर्तमान में, यह लेआउट एक बीटा रिलीज़ है ।
बाधा लेआउट के बारे में अधिक जानकारी:
https://codelabs.developers.google.com/codelabs/constraint-layout/index.html
अपनी परियोजना में ConstraintLayout जोड़ना
ConstraintLayout के साथ काम करने के लिए, आपको एंड्रॉइड स्टूडियो संस्करण 2.2 या नए की आवश्यकता है और एंड्रॉइड सपोर्ट रिपॉजिटरी के कम से कम 32 संस्करण (या उच्चतर) हैं।
- अपनी
build.gradle
फ़ाइल में निर्भरता के रूप में बाधा लेआउट लाइब्रेरी जोड़ें:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
- सिंक प्रोजेक्ट
अपनी परियोजना में एक नया बाधा लेआउट जोड़ने के लिए:
- अपने मॉड्यूल के लेआउट निर्देशिका पर राइट-क्लिक करें , फिर
New > XML > Layout XML.
क्लिक करेंNew > XML > Layout XML.
- लेआउट के लिए एक नाम दर्ज करें और रूट टैग के लिए
"android.support.constraint.ConstraintLayout"
दर्ज करें। - समाप्त पर क्लिक करें ।
अन्यथा केवल एक लेआउट फ़ाइल में जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.constraint.ConstraintLayout>
चेन
चूंकि ConstraintLayout
अल्फा 9, चेन उपलब्ध हैं। एक चेन एक अंदर विचारों का एक सेट है ConstraintLayout
कि उन दोनों के बीच एक दो-तरफा ढंग से जुड़े हुए हैं, यानी एक एक बाधा के साथ बी से जुड़े, और बी एक और बाधा के साथ एक से जुड़ा है।
उदाहरण:
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- this view is linked to the bottomTextView -->
<TextView
android:id="@+id/topTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
app:layout_constraintBottom_toTopOf="@+id/bottomTextView"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainPacked="true"/>
<!-- this view is linked to the topTextView at the same time -->
<TextView
android:id="@+id/bottomTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bottom\nMkay"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/topTextView"/>
</android.support.constraint.ConstraintLayout>
इस उदाहरण में, दो दृश्य एक दूसरे के नीचे स्थित हैं और दोनों ही लंबवत केंद्रित हैं। आप श्रृंखला के पूर्वाग्रह को समायोजित करके इन विचारों की ऊर्ध्वाधर स्थिति को बदल सकते हैं। श्रृंखला के पहले तत्व में निम्नलिखित कोड जोड़ें:
app:layout_constraintVertical_bias="0.2"
एक ऊर्ध्वाधर श्रृंखला में, पहला तत्व एक शीर्ष-सबसे अधिक दृश्य है, और एक क्षैतिज श्रृंखला में यह सबसे बाएं दृश्य है। पहला तत्व पूरी श्रृंखला के व्यवहार को परिभाषित करता है।
चेन एक नई सुविधा है और अक्सर अपडेट की जाती है। यहाँ जंजीरों पर एक आधिकारिक Android प्रलेखन है।