android समन्वयक लेआउट बनाम समन्वयक लेआउट?




material-design android-constraintlayout (3)

क्या लागू करें: Android में उचित सामग्री डिजाइन के लिए ConstraintLayout या CoordinatorLayout ?


ऐसा लगता है कि आप (लगभग) हमेशा एक CoordinatorLayout ConstraintLayout उपयोग करते हैं, और कभी-कभी अंदर एक ConstraintLayout उपयोग करते हैं। निम्नलिखित संसाधन देखें

  • Https://codelabs.developers.google.com/codelabs/material-design-style/index.html#3 पर कोडेलैब केवल एक समन्वयकलेयआउट का उपयोग करता है

  • उदाहरण एंड्रॉइड-सूरजमुखी एप्लिकेशन ("एंड्रॉइड विकास सर्वोत्तम प्रथाओं का चित्रण करता है") न तो शीर्ष-स्तरीय गतिविधि के लिए उपयोग करता है, बल्कि इसके fragment_plant_detail.xml . ConstraintLayout अंदर दोनों का उपयोग करता है, जिससे ConstraintLayout CoordinatorLayout अंदर होता है:

    <layout ...>
    <data .../>
    <android.support.design.widget.CoordinatorLayout ...>
        <android.support.design.widget.AppBarLayout ...>
            <android.support.design.widget.CollapsingToolbarLayout ...>
                <ImageView... />
                <android.support.v7.widget.Toolbar... />
            </android.support.design.widget.CollapsingToolbarLayout>
        </android.support.design.widget.AppBarLayout>
        <android.support.v4.widget.NestedScrollView ...>
            <android.support.constraint.ConstraintLayout ...>
                <TextView.../>
                <TextView... />
            </android.support.constraint.ConstraintLayout>
        </android.support.v4.widget.NestedScrollView>
        <android.support.design.widget.FloatingActionButton ... />
    </android.support.design.widget.CoordinatorLayout>
    </layout>

कोऑर्डिनेटर लयआउट का उद्देश्य गतिविधि के लिए शीर्ष-स्तरीय लेआउट होना है ताकि Behaviors और Behaviors का प्रबंधन किया जा सके।

कांस्ट्रेनल लयआउट का मुख्य लक्ष्य कई बच्चों के साथ एक फ्लैट लेआउट बनाने के लिए एक सुविधाजनक तरीका प्रदान करना है (बहुत अधिक शक्तिशाली RelativeLayout)।

तो समन्वयकलेयआउट आपकी गतिविधि के घटकों के जटिल व्यवहार (विशेष रूप से एनिमेशन), और घटकों (उचित सूची आइटम) के घटकों के लिए कांस्ट्रेनल लयआउट का प्रबंधन करना है।


CoordinatorLayout

CoordinatorLayout एक सुपर-पावर्ड FrameLayout है।

डिफ़ॉल्ट रूप से, यदि आप एक फ्रेम-आउट में कई बच्चों को जोड़ते हैं, तो वे एक-दूसरे को ओवरलैप करेंगे। एकल चाइल्ड दृश्य को धारण करने के लिए एक फ्रेम-आउट का सबसे अधिक उपयोग किया जाना चाहिए। कोऑर्डिनेटर लयआउट की मुख्य अपील इसके भीतर विचारों के एनिमेशन और बदलावों को समन्वयित करने की क्षमता है।

ConstraintLayout

कांस्टेंटलिंउट आपको एक फ्लैट व्यू पदानुक्रम (कोई नेस्टेड व्यू समूह) के साथ बड़े और जटिल लेआउट बनाने की अनुमति देता है। यह RelativeLayout के समान है जिसमें सभी दृश्य भाई-बहन के विचारों और मूल लेआउट के बीच संबंधों के अनुसार निर्धारित किए गए हैं, लेकिन यह RelativeLayout की तुलना में अधिक लचीला है और Android Studio के लेआउट संपादक के साथ उपयोग करना आसान है।

एंड्रॉइड में उचित सामग्री डिजाइन के लिए कॉन्ट्राट्रायलैटआउट या समन्वयकलैटआउट को लागू करने के लिए क्या?

आपको कुशल UI और सामग्री एनिमेशन बनाने के लिए ConstraintLayout और CoordinatorLayout दोनों का उपयोग करने की आवश्यकता हो सकती है।





coordinator-layout