7

में एकाधिक दृश्यों को कैसे समूहित किया गया है मैंने एक कॉन्स्ट्रेनटआउट में 3 बटन जोड़े हैं। मैंने इन बटनों को अक्षम या सक्षम करने के लिए एक बटन जोड़ा है।किसी कॉन्स्ट्रेनटआउट

यदि मैं सामान्य लीनियरलाइट का उपयोग कर रहा था। मैं सभी बटन एक रैखिक लेआउट में डाल सकता था और उस विशेष लेआउट को सक्षम या अक्षम कर सकता था।

लेकिन मैं ConstraintLayout का उपयोग कर रहा हूं। तो मुझे इन सभी बटनों को अक्षम या सक्षम करने की आवश्यकता है, मुझे विश्वास है कि अलग-अलग विचारों को समूहबद्ध करने के लिए ConstraintLayout में एक तरीका होना चाहिए।

कृपया ConstriantLayout

में समूह दृश्यों के लिए मेरे गाइड कैसे

enter image description here

<Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button" 
     android:layout_marginTop="16dp" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintBottom_toBottomOf="parent" 
     android:layout_marginBottom="16dp" 
     android:layout_marginStart="16dp" 
     app:layout_constraintLeft_toLeftOf="parent" 
     android:layout_marginLeft="16dp" /> 

    <Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button2" 
     app:layout_constraintBottom_toBottomOf="parent" 
     android:layout_marginBottom="16dp" 
     android:layout_marginStart="8dp" 
     app:layout_constraintLeft_toRightOf="@+id/button" 
     android:layout_marginLeft="8dp" 
     app:layout_constraintTop_toTopOf="@+id/button" /> 

    <Button 
     android:text="Button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/button3" 
     app:layout_constraintTop_toTopOf="@+id/button2" 
     android:layout_marginEnd="16dp" 
     app:layout_constraintRight_toRightOf="parent" 
     android:layout_marginRight="16dp" 
     android:layout_marginStart="8dp" 
     app:layout_constraintLeft_toRightOf="@+id/button2" 
     android:layout_marginLeft="8dp" /> 
+0

एक नज़र डालें, शायद चेन आपकी मदद कर सकते हैं: https://developer.android.com/reference/android/support/constraint/ConstraintLayout.html#Chains – krossovochkin

उत्तर

1

इस समय वहाँ कोई रास्ता नहीं आप ऐसा कर सकते है। आपको प्रत्येक बटन को व्यक्तिगत रूप से अक्षम करना होगा, क्योंकि बाधाओं में प्रत्येक विजेट में बाधाएं जोड़ दी जाती हैं।

समूह दृश्यों के लिए, आपको दृश्य समूहों का उपयोग करने की आवश्यकता है, जो बाधा लेआउट के संदर्भ में समझ में नहीं आता है।

संपादित

बाधा लेआउट के साथ

: 1.1.0-beta1, आप कर सकते हैं समूह दृश्यों android.support.constraint.Group का उपयोग कर।

25

हां, जैसा कि मुझे पता है कि आप रैखिक लेआउट का उपयोग करके दृश्यता को संभाल सकते हैं लेकिन विचारों को सक्षम/अक्षम नहीं करते हैं, अगर मैं गलत हूं तो मुझे सही करें। तो अब में ConstraintLayout भी हम विचारों के विशेष समूह की दृश्यता समूह

से प्रबंधित कर सकते यह ConstraintLayout में शुरू की गई नई सुविधा है जो वर्तमान में बीटा संस्करण में है।

नीचे

चरणों का पालन करें परियोजना

allprojects { 
    repositories { 
     maven { url 'https://maven.google.com' } 
     jcenter() 
    } 
} 

तो एप्लिकेशन gardle निर्भरता में नीचे के रूप में परियोजना Gradle फ़ाइल में Maven समर्थन जोड़ने के लिए बीटा ConstraintLayout कैसे जोड़ें ConstarintLayout पुस्तकालय निर्भरता जोड़ने

अब आप अपने ConstraintLayout में समूह जोड़ने के लिए

<android.support.constraint.Group 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:constraint_referenced_ids="button7,button3,button2" 
     android:id="@+id/group" /> 

का पालन के रूप में जहां समूह संदर्भ आईडी में

app:constraint_referenced_ids="button7,button3,button2" 

अल्पविराम से अलग दृश्य आईडी के आप चलाने के समय हैंडल करना चाहते शामिल है , इसलिए गतिविधि में आप बस नीचे समूह को बांधें और दृश्यता

import android.support.constraint.Group; //import statement in activity 

Group group=(Group)findViewById(R.id.group);//bind view from xml 
group.setVisibility(View.VISIBLE);//this will visible all views 
group.setVisibility(View.GONE);//this will set Gone to all views 
group.setVisibility(View.INVISIBLE);//this will set INVISIBLE to all view 
+1

क्या समूह के लिए पृष्ठभूमि रंग बदलना संभव है? –

+0

@ इब्राहिमडिसोकी मुझे लगता है कि यह वर्तमान में नहीं है, अगर मुझे कुछ भी मिला तो मैं यहां अपडेट करूंगा। – Pavan