इसका उपयोग करने के दो तरीके हैं ConstraintLayout
: जंजीरों और दिशानिर्देश । चेन का उपयोग करने के लिए, सुनिश्चित करें कि आप ConstraintLayout
बीटा 3 या नए का उपयोग कर रहे हैं और यदि आप एंड्रॉइड स्टूडियो में विज़ुअल लेआउट एडिटर का उपयोग करना चाहते हैं, तो सुनिश्चित करें कि आप एंड्रॉइड स्टूडियो 2.3 बीटा 1 या नए का उपयोग कर रहे हैं।
विधि 1 - चेन का उपयोग करना
लेआउट एडिटर खोलें और अपने विजेट्स को सामान्य रूप से जोड़ें, माता-पिता की बाधाओं को आवश्यकतानुसार जोड़ें। इस मामले में, मैंने बाधाओं के साथ माता-पिता और माता-पिता के नीचे (शेयर बटन के लिए बाईं ओर और दाईं ओर साझा बटन के लिए दाईं ओर) दो बटन जोड़े हैं:
ध्यान दें कि इस स्थिति में, अगर मैं लैंडस्केप दृश्य के लिए फ्लिप करता हूं, तो दृश्य माता-पिता को नहीं भरते हैं, लेकिन कोनों के लिए लंगर डाले जाते हैं:
दोनों दृश्यों को हाइलाइट करें, या तो Ctrl / Cmd पर क्लिक करके या किसी बॉक्स को विचारों के आसपास खींचकर:
फिर विचारों पर राइट-क्लिक करें और "क्षैतिज रूप से केंद्र" चुनें:
यह विचारों के बीच एक द्वि-दिशात्मक संबंध स्थापित करता है (जो कि एक श्रृंखला को कैसे परिभाषित किया जाता है)। डिफ़ॉल्ट रूप से चेन स्टाइल "स्प्रेड" है, जिसे तब भी लागू किया जाता है जब कोई XML विशेषता शामिल नहीं होती है। इस श्रृंखला शैली के साथ चिपके रहते हैं लेकिन हमारे विचारों की चौड़ाई निर्धारित 0dp
करने से विचारों को उपलब्ध स्थान को भरने की सुविधा मिलती है, जो माता-पिता में समान रूप से फैलता है:
परिदृश्य दृश्य में यह अधिक ध्यान देने योग्य है:
यदि आप लेआउट संपादक को छोड़ना पसंद करते हैं, तो परिणामस्वरूप XML जैसा दिखेगा:
<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">
<Button
android:id="@+id/button_save"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/button_save_text"
android:layout_marginStart="8dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="4dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@+id/button_share"
app:layout_constraintHorizontal_chainStyle="spread" />
<Button
android:id="@+id/button_share"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/button_share_text"
android:layout_marginStart="4dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintLeft_toRightOf="@+id/button_save"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>
विवरण:
- प्रत्येक आइटम की चौड़ाई सेट करना
0dp
या MATCH_CONSTRAINT
माता-पिता को विचार भरने देना (वैकल्पिक)
- विचारों को एक साथ द्विदिश रूप से जोड़ा जाना चाहिए (बटन को बचाने के लिए बटन लिंक को बचाने का अधिकार, बटन को बचाने के लिए शेयर बटन के लिंक को छोड़ दिया जाए), यह "सेंटर क्षैतिज" चुनने पर स्वचालित रूप से लेआउट संपादक के माध्यम से होगा।
- श्रृंखला में पहला दृश्य श्रृंखला शैली को निर्दिष्ट कर सकता है
layout_constraintHorizontal_chainStyle
, विभिन्न श्रृंखला शैलियों के लिए दस्तावेज़ीकरण देख सकता है , यदि श्रृंखला शैली छोड़ दी गई है, तो डिफ़ॉल्ट "फैल" है
- श्रृंखला के भार के माध्यम से समायोजित किया जा सकता है
layout_constraintHorizontal_weight
- यह उदाहरण एक क्षैतिज श्रृंखला के लिए है, ऊर्ध्वाधर श्रृंखलाओं के लिए इसी गुण हैं
विधि 2 - एक दिशानिर्देश का उपयोग करना
संपादक में अपना लेआउट खोलें और दिशानिर्देश बटन पर क्लिक करें:
फिर "वर्टिकल गाइडलाइन जोड़ें" चुनें:
एक नई गाइडलाइन दिखाई देगी, जो डिफ़ॉल्ट रूप से, संभवतः सापेक्ष मूल्यों में बाईं ओर लंगर डालेगी (बाईं ओर स्थित तीर द्वारा चिह्नित):
इसे प्रतिशत मान पर स्विच करने के लिए बाएं ओर के तीर पर क्लिक करें, फिर दिशानिर्देश को 50% चिह्न तक खींचें:
दिशानिर्देश का उपयोग अब अन्य दृश्यों के लिए एक एंकर के रूप में किया जा सकता है। मेरे उदाहरण में, मैंने सेव बटन के दाईं ओर और शेयर बटन के बाईं ओर गाइडलाइन संलग्न की है:
यदि आप उपलब्ध स्थान को भरने के लिए विचार चाहते हैं, तो बाधा को "किसी भी आकार" (क्षैतिज रूप से चलने वाली स्क्वीजीली लाइनें) पर सेट किया जाना चाहिए:
(यह सेटिंग के समान layout_width
है 0dp
)।
लेआउट एडिटर का उपयोग करने के बजाय XML में एक दिशानिर्देश भी आसानी से बनाया जा सकता है:
<android.support.constraint.Guideline
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/guideline"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />