8

मैं एक गतिविधि MainActivity के साथ एक आवेदन बना रहा हूं जिसमें दो टुकड़े होते हैं। और मैं कई ट्यूटोरियल के साथ आया जो FrameLayout का उपयोग टुकड़े लेआउट के लिए मूल कंटेनर के रूप में करते हैं।क्या फ्रेमलेआउट के बजाए LinearLayout का उपयोग करना ठीक है?

हालांकि, मुझे पता चला कि मैं अब भी LinearLayout का उपयोग टुकड़े के मूल कंटेनर के रूप में कर सकता हूं और यह पूरी तरह से ठीक (अब तक) काम करता है।

मेरा प्रश्न, क्या FrameLayout का उपयोग टुकड़े लेआउट के लिए मूल कंटेनर के रूप में नहीं करने का कोई दुष्प्रभाव है?

यदि नहीं है, तो LinearLayout (या अन्य संभावित लेआउट) से अधिक टुकड़े लेआउट के मूल कंटेनर के रूप में उपयोग करने का क्या फायदा है।

+0

क्या आप उस कोड को पोस्ट कर सकते हैं जिसका उपयोग आप 'फ्रेमलेआउट' और 'लीनियरलाउट' –

+2

करते हैं, आपको शीर्षक बदलना चाहिए, यह खंडबद्धता कहता है ... –

उत्तर

3

Fragments खुद को बस किसी भी View तरह बनाए जाते हैं, तो आप जो कुछ भी माता-पिता का उपयोग ViewGroup आप आप कैसे देखने के लिए अपने लेआउट चाहते हैं पर निर्भर करता है चाहते हैं कर सकते हैं। इसका मतलब है LinearLayout बनाम FrameLayoutFragments से जुड़ा कोई अंतर्निहित लाभ नहीं है।

FrameLayout और LinearLayout के बीच मुख्य अंतर यह है कि एक FrameLayout भीतर Views ढेर।

दूसरे शब्दों में, यदि आप संभावित रूप से ओवरलैप करने के लिए अपना Fragments चाहते हैं, तो FrameLayout का उपयोग करें। यदि आप उन्हें रैखिक रूप से प्रदर्शित करना चाहते हैं, तो LinearLayout का उपयोग करें। यदि यह एक पूर्णस्क्रीन Fragment है तो इससे कोई फर्क नहीं पड़ता कि आप कौन सी चुनते हैं।

4

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

2

यह बिल्कुल ठीक है। आप उपयोग कर सकते हैं। लेकिन, सामान्य रूप से:

रैखिकलायआउट का उपयोग दृश्यों को एक लंबवत या क्षैतिज रूप से संरेखित करने के लिए किया जाता है। ताकि कई बच्चे के विचार तदनुसार व्यवस्था कर सकें।

फ्रेमलेआउट का उपयोग दूसरे के ऊपर एक दृश्य लोड करने के लिए किया जाता है। इसलिए FrameLayout एकल बाल दृश्य को पकड़ने के लिए उपयोग करें क्योंकि FrameLayout में एकाधिक दृश्य प्रबंधित करना मुश्किल है। पूर्व के लिए यदि आप एकल CardView का उपयोग करना चाहते हैं तो FrameLayout सही है।

संबंधित मुद्दे