रिलेटिव लेआउट

लिखने का तरीका आज़माएं
Android के लिए, Jetpack Compose हमारा सुझाया गया यूज़र इंटरफ़ेस (यूआई) टूलकिट है. Compose में लेआउट इस्तेमाल करने का तरीका जानें.

RelativeLayout एक व्यू ग्रुप है, जो रिलेटिव चाइल्ड व्यू को दिखाता है पोज़िशन. हर व्यू की स्थिति सिबलिंग एलिमेंट के मुताबिक तय की जा सकती है (जैसे, दूसरे व्यू के बाईं या नीचे की ओर या पैरंट RelativeLayout एरिया से जुड़ी पोज़िशन (जैसे कि सबसे नीचे, बाईं या बीच में अलाइन की गई).

ध्यान दें: परफ़ॉर्मेंस और टूल से जुड़ी बेहतर सहायता के लिए, आपको ConstraintLayout की मदद से अपना लेआउट बनाना बेहतर होगा.

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

स्थिति निर्धारण दृश्य

RelativeLayout की मदद से चाइल्ड व्यू, पैरंट व्यू या एक-दूसरे को दे सकते हैं (आईडी से तय होता है). इसलिए आप दो तत्वों को दायां बॉर्डर से अलाइन कर सकते हैं, या एक-दूसरे के नीचे बनाएं, स्क्रीन के बीच में, बाईं ओर बीच में वगैरह. डिफ़ॉल्ट रूप से, सभी चाइल्ड व्यू, लेआउट में सबसे ऊपर बाईं ओर दिखाए जाते हैं, इसलिए आपको हर व्यू की स्थिति तय करनी होगी RelativeLayout.LayoutParams से उपलब्ध अलग-अलग लेआउट प्रॉपर्टी का इस्तेमाल करके.

किसी RelativeLayout में व्यू के लिए उपलब्ध कई लेआउट प्रॉपर्टी में से कुछ शामिल करें:

android:layout_alignParentTop
अगर "true", इस व्यू का ऊपरी किनारा पैरंट के ऊपरी किनारे से मेल खाता है.
android:layout_centerVertical
अगर "true", इस बच्चे को उसके पैरंट के अंदर वर्टिकल तौर पर सेंटर करता है.
android:layout_below
इस व्यू के ऊपरी किनारे को, रिसॉर्स आईडी के साथ बताए गए व्यू के नीचे दिखाता है.
android:layout_toRightOf
इस व्यू के बाएं किनारे को, रिसॉर्स आईडी के साथ बताए गए व्यू के दाईं ओर सेट करता है.

ये सिर्फ़ कुछ उदाहरण हैं. लेआउट के सभी एट्रिब्यूट को RelativeLayout.LayoutParams पर दस्तावेज़ में सेव किया गया है.

हर लेआउट प्रॉपर्टी की वैल्यू, पैरंट RelativeLayout या किसी आईडी के हिसाब से लेआउट पोज़िशन चालू करें लेआउट में किसी अन्य व्यू का रेफ़रंस देता है, जिसके सामने व्यू को रखा जाना चाहिए.

आपके एक्सएमएल लेआउट में, आपके लेआउट में मौजूद अन्य व्यू के साथ डिपेंडेंसी का एलान किसी भी क्रम में किया जा सकता है. उदाहरण के लिए, आपके पास यह एलान करने का विकल्प होगा कि "view1" "view2" के नीचे रखा जाएगा भले ही "view2" में आखिरी है देख सकते हैं. नीचे दिया गया उदाहरण ऐसी स्थिति को दिखाता है.

उदाहरण

हर व्यू की रिलेटिव पोज़िशन को कंट्रोल करने वाले हर एट्रिब्यूट को अहमियत दी जाती है.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="16dp"
    android:paddingRight="16dp" >
    <EditText
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/reminder" />
    <Spinner
        android:id="@+id/dates"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/times" />
    <Spinner
        android:id="@id/times"
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/name"
        android:layout_alignParentRight="true" />
    <Button
        android:layout_width="96dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/times"
        android:layout_alignParentRight="true"
        android:text="@string/done" />
</RelativeLayout>

किसी RelativeLayout के हर चाइल्ड व्यू के लिए उपलब्ध सभी लेआउट एट्रिब्यूट की जानकारी के लिए, RelativeLayout.LayoutParams देखें.