के उपयोग को स्पष्ट कर सकते हैं मुझे किसी को यह बताने की ज़रूरत है कि मुझे <include>
और <merge>
का उपयोग कब सही ढंग से समझा जाए।कुछ <include> और <merge>
तो, मैं एक हैडर लेआउट जो मैं कुछ अन्य एक्सएमएल लेआउट में शामिल करना चाहते हैं:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header text" />
</LinearLayout>
और मैं इसे किसी और एक्सएमएल में इस तरह से (जो सुंदर बुनियादी है) में शामिल हैं:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include android:id="@+id/header" layout="@layout/top"
android:layout_width="fill_parent" android:layout_height="wrap_content"
/>
</LinearLayout>
यह अच्छी तरह से काम करेगा, इसके बारे में कोई समस्या नहीं है। लेकिन कोड को अनुकूलित करने के लिए, मुझे लेआउट में <merge>
का उपयोग करना होगा। तो top layout
एक टैग <LinearLayout>
नहीं होना चाहिए, लेकिन यह इस तरह दिखना चाहिए:
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header text" />
</merge>
मैं इस को सही ढंग से समझ में आ है?
हां जो अच्छा दिखता है। हालांकि, मेरे अनुभव में, मुझे विलय की आवश्यकता नहीं है। मैं सिर्फ टेक्स्ट दृश्य को अपनी एक्सएमएल फ़ाइल में नहीं डाल सकता और उस फ़ाइल को शामिल नहीं कर सकता। कोई मर्ज आवश्यक नहीं है। – AedonEtLIRA
हां, यह काम करेगा, लेकिन यह ** वास्तव में ** इसका उपयोग करने के लिए सुरक्षित है क्योंकि Google डेवलपर्स ने इस तरह के अभ्यास का सुझाव नहीं दिया है। मुझे डर है कि क्या होगा यदि वे मर्ज टैग को पहचानने वाले किसी चीज़ को बदलने का फैसला करते हैं। – sandalone
@ सैंडलोन जैसा कि आपको एक्सएमएल को नए मानक में अपडेट करना होगा ... शुरुआत के बाद से एंड्रॉइड में कई अवमूल्यन विधियां रही हैं, इसलिए यह वास्तव में कुछ ऐसी चीज नहीं है जिसे किसी को ध्यान में रखना चाहिए। – Jonny2Plates