दिलचस्प पोस्ट
jQuery.inArray (), इसका उपयोग कैसे करें? एक एपीके फ़ाइल से एक परियोजना के लिए रिवर्स इंजीनियरिंग ब्लॉक का उपयोग करके सी # क्या है और मुझे इसका उपयोग क्यों करना चाहिए? मुझे ऐरो फ़ंक्शन ECMAScript 6 में कब का उपयोग करना चाहिए? कैसे रोकें / चलायें NSTimer? 'सुरक्षित' और 'संरक्षित आंतरिक' के बीच अंतर क्या है? NetBeans में एक JAR कैसे जोड़ें एक्सएमएल सीरियललाइज़ेशन और नेमस्पेस उपसर्ग हाशटेबल टकराव से कैसे निपटते हैं? मैं MySQL का समय क्षेत्र कैसे सेट करूं? CS0120: गैर-विशिष्ट क्षेत्र, विधि, या प्रॉपर्टी 'फू' के लिए ऑब्जेक्ट संदर्भ की आवश्यकता है ListBoxItem के अंदर जटिल UI जावा स्क्रिप्ट में नाम स्ट्रिंग के द्वारा गतिशील वैश्विक गति प्राप्त करें स्थानीय .aar फ़ाइलों को "फ्लैटडिआईर्स" का उपयोग करके ग्रैडल बिल्डिंग में जोड़ना काम नहीं कर रहा है एक .net फ़नक <T> को एक शुद्ध अभिव्यक्ति में परिवर्तित करना <Func <T >>

स्क्रीन के निचले हिस्से में विचारों को कैसे संरेखित करें?

यहाँ मेरा लेआउट कोड है;

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="@string/welcome" android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> <LinearLayout android:id="@+id/LinearLayout" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="bottom"> <EditText android:id="@+id/EditText" android:layout_width="fill_parent" android:layout_height="wrap_content"> </EditText> <Button android:text="@string/label_submit_button" android:id="@+id/Button" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> </LinearLayout> </LinearLayout> 

यह कैसा दिखता है बाएं पर है और मैं इसे किस तरह देखना चाहता हूं सही पर है

एंड्रॉइड लेआउट - वास्तविक (वाम) और वांछित (दाएं)

स्पष्ट जवाब है कि TextView को fill_parent पर ऊँचाई पर सेट करना है, लेकिन यह बटन या एंट्री फ़ील्ड के लिए छोड़ा जाने वाला कोई स्थान नहीं है। मूलतः यह मुद्दा यह है कि मैं सबमिट बटन और पाठ प्रविष्टि को नीचे एक निश्चित ऊंचाई और बाकी के स्थान को भरने के लिए पाठ दृश्य चाहता हूं, इसी तरह क्षैतिज रैखिक लेआउट में मैं अपनी सामग्री को लपेट करने के लिए सबमिट बटन चाहता हूं और बाकी जगह भरने के लिए पाठ प्रविष्टि के लिए

यदि एक रैखिक लेआउट में पहली वस्तु को भरने के लिए कहा जाता है तो यह बिल्कुल ठीक है, अन्य मदों के लिए कोई स्थान नहीं छोड़ रहा है, मैं एक आइटम कैसे प्राप्त कर सकता हूं जो एक रेखीय लेआउट में सबसे पहले है जो सभी जगहों को भरने के लिए आवश्यक है लेआउट में आइटम?

संपादित करें:

सापेक्ष लेआउट वास्तव में उत्तर थे – धन्यवाद!

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="@string/welcome" android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true"> </TextView> <RelativeLayout android:id="@+id/InnerRelativeLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" > <Button android:text="@string/label_submit_button" android:id="@+id/Button" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> <EditText android:id="@+id/EditText" android:layout_width="fill_parent" android:layout_toLeftOf="@id/Button" android:layout_height="wrap_content"> </EditText> </RelativeLayout> </RelativeLayout> 

वेब के समाधान से एकत्रित समाधान "स्क्रीन के निचले हिस्से में विचारों को कैसे संरेखित करें?"

मुझे लगता है कि आपको किसी रिश्तेदार लेआउट की कोशिश करनी चाहिए।
यदि आपके पास एक रिश्तेदार लेआउट है जो पूरी स्क्रीन को भरता है तो आप android:layout_alignParentBottom का उपयोग करने में सक्षम होना चाहिए android:layout_alignParentBottom बटन को स्क्रीन के नीचे ले जाने के लिए।

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

ScrollView यह काम नहीं करता है, क्योंकि RelativeLayout तब पृष्ठ के निचले भाग में ScrollView में जो भी होता है, ओवरलैप होगा।

मैंने इसे गतिशील रूप से खींचने वाले FrameLayout का उपयोग करके तय किया है:

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent" android:fillViewport="true"> <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <!-- content goes here --> <!-- stretching frame layout, using layout_weight --> <FrameLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> </FrameLayout> <!-- content fixated to the bottom of the screen --> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <!-- your bottom content --> </LinearLayout> </LinearLayout> </ScrollView> 

आप अपने शुरुआती रैखिक लेआउट को रैखिक लेआउट के भीतर रिश्तेदार लेआउट में रखकर रख सकते हैं:

 <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="welcome" android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:text="submit" android:id="@+id/Button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true"> </Button> <EditText android:id="@+id/EditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_toLeftOf="@id/Button" android:layout_alignParentBottom="true"> </EditText> </RelativeLayout> </LinearLayout> 

उपरोक्त उत्तर (Janusz द्वारा) काफी सही है, लेकिन मैं व्यक्तिगत रूप से RelativeLayouts के साथ 100% confortable महसूस नहीं करता, इसलिए मैं एक 'पूरक', खाली TextView, इस तरह से शुरू करना पसंद करते हैं:

 <!-- filler --> <TextView android:layout_height="0dip" android:layout_width="fill_parent" android:layout_weight="1" /> 

उस तत्व से पहले जो स्क्रीन के निचले भाग में होना चाहिए।

यह भी काम करता है

 <LinearLayout android:id="@+id/linearLayout4" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_below="@+id/linearLayout3" android:layout_centerHorizontal="true" android:orientation="horizontal" android:gravity="bottom" android:layout_alignParentBottom="true" android:layout_marginTop="20dp" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" /> </LinearLayout> 

गुरुत्वाकर्षण = "नीचे" रैखिक लयआउट तत्व को फ्लोट करने के लिए नीचे

आप यह भी एक LinearLayout या ScrollView के साथ ऐसा कर सकते हैं। कभी-कभी तो एक रिलेटिव लेआउट को लागू करना आसान होता है। केवल एक चीज जो आपको करने की ज़रूरत है वह स्क्रीन के निचले भाग में संरेखित करने के दृश्य से पहले निम्न दृश्य को जोड़ना है:

 <View android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" /> 

यह एक खाली दृश्य बनाता है, रिक्त स्थान को भरना और स्क्रीन के निचले भाग में अगले दृश्यों को आगे बढ़ाता है।

टिमोरस के सुरुचिपूर्ण समाधान के बाद, मैंने पाया है कि निम्नलिखित एक लंबवत रैखिक लयआउट में एक ऊर्ध्वाधर भरण और एक क्षैतिज रैखिक रेखा में एक क्षैतिज भरण बनाता है:

 <Space android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" /> 

आपको पहले एक के अंदर दूसरे relative लेआउट को घोंसला करने की ज़रूरत नहीं है। बस android:layout_alignParentBottom="true" प्रयोग करें android:layout_alignParentBottom="true" बटन और android:layout_alignParentBottom="true"

यदि आप कई बदलाव नहीं करना चाहते हैं, तो आप बस डाल सकते हैं:

 android:layout_weight="1" 

TextView के लिए ID के रूप में @+id/TextView अर्थात्

 <TextView android:text="@string/welcome" android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"> </TextView> 

हेडर और फ़ूटर दोनों का निर्माण करना, यहां एक उदाहरण है

[लेआउट XML]

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/backgroundcolor" tools:context=".MainActivity"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="#FF0000"> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="40dp" android:layout_alignParentBottom="true" android:background="#FFFF00"> </RelativeLayout> </RelativeLayout> 

[स्क्रीनशॉट]

यहां छवि विवरण दर्ज करें

आशा है कि यह उपयोगी है धन्यवाद!!

अपने काम को कम करने के लिए नीचे कोड संरेखित करें बटन का उपयोग करें

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/btn_back" android:layout_width="100dp" android:layout_height="80dp" android:text="Back" /> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.97" android:gravity="center" android:text="Payment Page" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Submit"/> </LinearLayout> </LinearLayout> 

android:layout_alignParentBottom="true" प्रयोग करें android:layout_alignParentBottom="true" आपके <RelativeLayout>

यह निश्चित रूप से मदद करेगा

यदि आपके पास इस तरह से पदानुक्रम है:

 <ScrollView> |-- <RelativeLayout> |-- <LinearLayout> 

सबसे पहले, android:fillViewport="true" और फिर android:layout_alignParentBottom="true" लागू करें android:layout_alignParentBottom="true"

यह मेरे लिए पूरी तरह से काम करता है

 <ScrollView android:layout_height="match_parent" android:layout_width="match_parent" android:scrollbars="none" android:fillViewport="true"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:id="@+id/linearLayoutHorizontal" android:layout_alignParentBottom="true"> </LinearLayout> </RelativeLayout> </ScrollView> 

आप अपने शीर्ष बच्चे को देख सकते हैं (TextView @ + id / TextView ) एक विशेषता: android:layout_weight="1"

यह नीचे के सभी अन्य तत्वों को तल पर बल देगा।

1. अपने रूट लेआउट में ConstraintLayout का उपयोग करें

और सेट app:layout_constraintBottom_toBottomOf="parent" स्क्रीन के तल पर लेआउट को दें

 <LinearLayout android:id="@+id/LinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintBottom_toBottomOf="parent"> </LinearLayout> 

2. अपने रूट लेआउट में FrameLayout लेआउट का उपयोग करें

बस android:layout_gravity="bottom" सेट करें android:layout_gravity="bottom" आपके लेआउट में

 <LinearLayout android:id="@+id/LinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:orientation="horizontal"> </LinearLayout> 

3. अपने रूट लेआउट में LinearLayout का उपयोग करें ( android:orientation="vertical" )

(1) android:layout_weight="1" लेआउट सेट करें android:layout_weight="1" आपके लेआउट के शीर्ष पर

 <TextView android:id="@+id/TextView" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:text="welcome" /> 

(2) android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom" लिए बच्चे को android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom"

मुख्य विशेषता है ndroid:gravity="bottom" , बच्चे को लेआउट के तल पर देखें।

 <LinearLayout android:id="@+id/LinearLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom" android:orientation="horizontal"> </LinearLayout> 

4. मूल लेआउट में RelativeLayout लेआउट चुनें

और android:layout_alignParentBottom="true" सेट करें android:layout_alignParentBottom="true" स्क्रीन के तल पर लेआउट को छोड़ने के लिए

 <LinearLayout android:id="@+id/LinearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal"> </LinearLayout> 

आउटपुट

यहां छवि विवरण दर्ज करें

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

यह रैखिक लेआउट के साथ भी किया जा सकता है बस ऊँचाई = 0 डीपी और वजन = 1 को ऊपर दिए गए लेआउट पर प्रदान करें और जो नीचे आप चाहते हैं वह सिर्फ ऊंचाई = रैप सामग्री और कोई वजन नहीं लिखते हैं। यह क्या करता है यह लेआउट के लिए रैप सामग्री प्रदान करता है (जो आपके संपादन टेक्स्ट और बटन को शामिल करता है) और उसके बाद वज़न के बाकी हिस्सों में रहती है मुझे दुर्घटना से यह पता चला है

ऐसे मामले के लिए जैसे हमेशा रिलेटिव लेआउट का उपयोग करें। एक LinearLayout ऐसे उपयोग के लिए अभिप्रेत नहीं है।

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/db1_root" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- Place your layout here --> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_gravity="bottom" android:orientation="horizontal" android:paddingLeft="20dp" android:paddingRight="20dp" > <Button android:id="@+id/setup_macroSavebtn" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Save" /> <Button android:id="@+id/setup_macroCancelbtn" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Cancel" /> </LinearLayout> </RelativeLayout>