मैं अपने यूआई को कई एक्सएमएल लेआउट में विघटित करना चाहता हूं। पहला वाला मुख्य लेआउट होगा, और अन्य सामग्री लेआउट होंगे।एंड्रॉइड: एक एक्सएमएल लेआउट गतिशील रूप से कैसे शामिल करें?
मैं यह निर्धारित करने में सक्षम होना चाहता हूं कि कौन सी content_layout को रन-टाइम पर गतिशील रूप से शामिल किया जाना चाहिए, इसलिए मैं अपनी XML फ़ाइल में "layout="@+layout/content_layout"
सेट नहीं करना चाहता हूं।
यहाँ मेरी लेआउट हैं:
main_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="600dp"
android:layout_height="800dp" >
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<include /> <!-- I WANT TO INCLUDE MY CONTENT HERE -->
<Button
android:id="@+id/cancelButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Cancel" />
</RelativeLayout>
content_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whatever"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
content_layout2.xml:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/whatever2"
android:layout_height="wrap_content"
android:layout_width="fill_parent" />
मैं कैसे कर सकते उस?
धन्यवाद!
मैंने किसी अन्य मामले में addView का उपयोग करने का प्रयास किया, लेकिन यह दोनों लेआउट की तरह दिख रहा था जहां एक-दूसरे को सुपरपोज़ करना था। दूसरे बच्चे का मतलब दूसरे स्तर पर है, तो मेरे रिलेवेटिवआउट के ठीक नीचे? क्या मैं अभी भी एंड्रॉइड जैसे संदर्भों का उपयोग कर सकता हूं: layout_belowe = "@ + id/title" मेरी सामग्री लेआउट में, घटना अगर उन्हें एक ही XML फ़ाइल में परिभाषित नहीं किया गया है? यदि नहीं, तो वे कैसे जानते हैं कि इसे सही जगह पर कैसे डालना है? धन्यवाद – nbarraille
यह जोड़ा जाएगा जहां आप प्रशंसा करते हैं (// मैं अपनी सामग्री को शामिल करना चाहता हूं ????)। जटिल लेआउट के लिए, आप getChildCount(), getChildAt() के माध्यम से हमेशा एक दृश्य (समूह) बच्चों के माध्यम से लूप कर सकते हैं, और जहां दृश्य चाहते हैं उसे जोड़ सकते हैं। इसके अलावा, आप कोड में view.setId() के माध्यम से एक आईडी सेट कर सकते हैं और फिर उसे देखें। लेकिन निश्चित रूप से यह आपके कोड में निरंतर होगा, R.id.someId के माध्यम से नहीं, क्योंकि जावा कोड के माध्यम से निर्दिष्ट आईडी आपकी आर फ़ाइल में नहीं है। –
ठीक है, मुझे मिल गया, इंडेक्स 1 (दूसरा बच्चा) वास्तव में इसका मतलब है कि इसे शीर्षक और बटन के बीच डाला जाएगा, 0 शीर्षक से पहले होता, आदि ... धन्यवाद। – nbarraille