LinearLayout, RelativeLayout और AbsoluteLayout के बीच अंतर क्या हैं?


जवाबों:


213

LinearLayout इसका मतलब है कि आप एक-एक करके (लंबवत / क्षैतिज रूप से) दृश्य संरेखित कर सकते हैं।

RelativeLayout अपने माता-पिता और अन्य विचारों से विचारों के संबंध पर आधारित है।

ConstraintLayout इस संबंध में RelativeLayout के समान है, यह स्थिति और आकार विजेट के लिए संबंधों का उपयोग करता है, लेकिन इसमें अतिरिक्त लचीलापन है और लेआउट संपादक में उपयोग करना आसान है।

WebView HTML, स्थिर या गतिशील पृष्ठों को लोड करने के लिए।

FrameLayout एक के ऊपर एक बच्चे को लोड करने के लिए, एक फ्रेम के अंदर कार्ड की तरह, हम एक को दूसरे के ऊपर या कहीं भी फ्रेम के अंदर रख सकते हैं।

पदावनत - AbsoluteLayout इसका मतलब है कि आपको सटीक स्थिति देनी होगी जहां दृश्य होना चाहिए।

अधिक जानकारी के लिए, कृपया इस पते की जाँच करें https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts


2
इस लिंक भी दोस्त .. चेक mobiforge.com/designing/story/...
गणपति सी

2
निरपेक्षता पदावनत है!
फ्राई करें

3
@ मैं 2 साल से पहले यह जवाब दिया। कृपया प्रश्न पढ़ें।
गणपति सी

स्पष्ट रूप AbsoluteLayoutसे एक कारण के लिए पदावनत किया जाता है; यदि सामग्री फिट नहीं होती है, तो यह बेतरतीब ढंग से चीजों को चारों ओर फेंकता है। आप इसके साथ LinearLayoutसभी पैडिंग को सेट करने के लिए बेहतर हैं 0
एपिकपांडाफ़ोर्स

50

परिभाषाएं:

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

अधिक जानकारी:

FrameLayout

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

शीर्ष पर सबसे हाल ही में जोड़े गए बच्चे के साथ बाल दृश्य एक स्टैक में खींचे गए हैं। फ़्रेमलैटआउट का आकार उसके सबसे बड़े बच्चे (प्लस पैडिंग) के आकार का है, दृश्यमान है या नहीं (यदि फ्रेमलेयआउट के माता-पिता अनुमति देते हैं)।

RelativeLayout

एक RelativeLayout एक यूजर इंटरफेस डिजाइन करने के लिए एक बहुत ही शक्तिशाली उपयोगिता है क्योंकि यह नेस्टेड व्यू समूहों को समाप्त कर सकता है और आपके लेआउट को पदानुक्रम फ्लैट रख सकता है, जिससे प्रदर्शन में सुधार होता है। यदि आप कई नेस्टर्ड लीनियरआउट समूहों का उपयोग करते हुए खुद को पाते हैं, तो आप उन्हें एकल सापेक्षकाउट के साथ बदलने में सक्षम हो सकते हैं।

(वर्तमान डॉक्स यहां )

TableLayout

एक TableLayout में कई TableRowऑब्जेक्ट होते हैं, प्रत्येक पंक्ति को परिभाषित करते हुए (वास्तव में, आपके पास अन्य बच्चे हो सकते हैं, जिन्हें नीचे समझाया गया है)। TableLayout कंटेनर अपनी पंक्तियों, स्तंभों, या कक्षों के लिए बॉर्डर लाइन प्रदर्शित नहीं करते हैं। प्रत्येक पंक्ति में शून्य या अधिक कोशिकाएँ होती हैं; प्रत्येक सेल एक दृश्य वस्तु धारण कर सकता है। तालिका में अधिकांश सेल वाली पंक्ति के रूप में कई स्तंभ हैं। एक तालिका कोशिकाओं को खाली छोड़ सकती है। सेल स्तंभों को फैला सकते हैं, जैसा कि वे HTML में कर सकते हैं।

किसी कॉलम की चौड़ाई को उस कॉलम के सबसे चौड़े सेल के साथ पंक्ति द्वारा परिभाषित किया गया है।


नोट : निरपेक्ष लेआउट पदावनत है।


4

रैखिकअरआउट: एक लेआउट जो अपने बच्चों को एक क्षैतिज या ऊर्ध्वाधर पंक्ति में व्यवस्थित करता है। यह एक स्क्रॉलबार बनाता है यदि खिड़की की लंबाई स्क्रीन की लंबाई से अधिक हो जाती है। इसका मतलब है कि आप एक-एक करके (लंबवत / क्षैतिज रूप से) दृश्य संरेखित कर सकते हैं।

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

WebView: html, स्थिर या गतिशील पेज लोड करने के लिए।

अधिक जानकारी के लिए इस लिंक को देखें: http://developer.android.com/guide/topics/ui/layout-objects.html


4

रेखीय लयआउट - लीनियर लयआउट में, विचार ऊर्ध्वाधर या क्षैतिज अभिविन्यास में आयोजित किए जाते हैं।

RelativeLayout - RelativeLayout, LinearLayout की तुलना में अधिक जटिल है, इसलिए बहुत अधिक कार्यक्षमता प्रदान करता है। नाम रखा गया है, जैसा कि नाम से पता चलता है, एक दूसरे के सापेक्ष।

फ्रेमलैटआउट - यह एक एकल वस्तु के रूप में व्यवहार करता है और इसके बच्चे के विचार एक दूसरे के ऊपर छा जाते हैं। फ़्रेमलैटआउट सबसे बड़े बाल तत्व के अनुसार आकार लेता है।

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


2

यहाँ महान विवरण:
https://www.cuelogic.com/blog/use-framelayout-for-designing-xml-layouts-in-android

LinearLayout तत्वों को साइड में क्षैतिज या लंबवत रूप से व्यवस्थित करता है।

RelativeLayout आपको विशिष्ट नियमों के आधार पर अपने UI तत्वों को व्यवस्थित करने में मदद करता है। आप नियमों को निर्दिष्ट कर सकते हैं जैसे: इसे माता-पिता के बाएं किनारे पर संरेखित करें, इसे इस तत्व के बाईं / दाईं ओर रखें आदि।

निरपेक्षता पूर्ण स्थिति के लिए है अर्थात आप सटीक निर्देशांक निर्दिष्ट कर सकते हैं जहाँ दृश्य जाना चाहिए।

फ्रेम-आउट Z- अक्ष के साथ विचारों के प्लेसमेंट की अनुमति देता है। इसका मतलब है कि आप अपने व्यू एलिमेंट्स को एक के ऊपर एक कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.