मुझे यकीन है कि मैं कुछ सरल याद आ रही हूँ ...एंड्रॉयड: सरल LinearLayout और fill_parent सवाल
पृष्ठभूमि:
मैं एंड्रॉयड और यूआई डिजाइन करने के लिए नया हूँ, और मैं बस के चारों ओर खेलना चाहते थे लेआउट के साथ। अभी मैं टेक्स्ट लेबल के शीर्ष पर एक चेकबॉक्स ढेर करना चाहता हूं। मैं निम्नलिखित XML लेआउट जो काम करता है ठीक उपयोग कर रहा हूँ:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<CheckBox android:id="@+id/check_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/check_box_text" />
<TextView android:id="@+id/dummy_display"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/dummy_label" />
</LinearLayout>
मेरे टेस्ट (बस कैसे चीजें काम करता है का एहसास दिलाने के लिए):
परिदृश्य 1) जब मैं सेट
CheckBox
काlayout_height
से"fill_parent"
,CheckBox
पूरी स्क्रीन लेता है और गठबंधन केंद्र (यानी -TextView
गायब हो जाता है)।परिदृश्य 2) अगर मैं बजाय सेट
TextView
केlayout_height
"fill_parent"
को,CheckBox
नहीं गायब है। वास्तव में, कुछ भी गायब नहीं होता है, और लेआउट उपरोक्त xml जैसा दिखता है जहां सबकुछ ऊपर-बाईं ओर धक्का दिया जाता है।
प्रश्न (और टिप्पणियों):
कैसे आ परिदृश्य 1 जिस तरह से यह काम करता है काम करता है?
यह व्यवहार मेरे लिए असंगत लगता है। मैंने सोचा कि fill_parent
केवल तत्व को पेटेंट में जो भी स्थान उपलब्ध है उसे भरने देना है। मेरे लिए तो, ऐसा लगता है कि TextView
मिलना चाहिए जो कुछ भी अंतरिक्ष यह जरूरत (क्योंकि यह wrap_content
है), लेकिन CheckBox
अंतरिक्ष के बाकी ऊपर ले जाना चाहिए (ताकि TextView
स्क्रीन के नीचे करने के लिए मजबूर किया जाएगा, लेकिन अदृश्य नहीं है)। दूसरे शब्दों में ... परिदृश्य 2 मुझे समझ में आता है, लेकिन परिदृश्य 1 नहीं करता है।
कृपया समझाएं :-)।
धन्यवाद,
टॉम
आप इसे पढ़ना चाहेंगे (यदि पहले से नहीं है): एंड्रॉइड कैसे दृश्य खींचता है? लिंक: http://developer.android.com/guide/topics/ui/how-android-draws.html – Samuh