खोज…


परिचय

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 संस्करण (या उच्चतर) हैं।

  1. अपनी build.gradle फ़ाइल में निर्भरता के रूप में बाधा लेआउट लाइब्रेरी जोड़ें:
dependencies {
   compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
  1. सिंक प्रोजेक्ट

अपनी परियोजना में एक नया बाधा लेआउट जोड़ने के लिए:

  1. अपने मॉड्यूल के लेआउट निर्देशिका पर राइट-क्लिक करें , फिर New > XML > Layout XML. क्लिक करें New > XML > Layout XML.
  2. लेआउट के लिए एक नाम दर्ज करें और रूट टैग के लिए "android.support.constraint.ConstraintLayout" दर्ज करें।
  3. समाप्त पर क्लिक करें

अन्यथा केवल एक लेआउट फ़ाइल में जोड़ें:

<?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 प्रलेखन है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow