2011-07-12 19 views
9

मैं मर्ज के बारे में सीखने और किया गया है पर नेस्टेड विशेषताओं को संशोधित हाल ही में शामिल हैं, और मैं एक सवाल मैं बाहर जवाब भी आंकड़ा नहीं कर पा रहे है। मान लें कि मेरे पास एक लेआउट है जो एक हेडर घटक को परिभाषित करता है जिसे मैं एकाधिक लेआउट में जोड़ना चाहता हूं। हालांकि, मैं शीर्षक बदलना चाहता हूं, या प्रत्येक शीर्षक के प्रत्येक शीर्षलेख के आइकन में उपयोग शामिल है।एक शामिल लेआउट

<RelativeLayout android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       style="@style/menu_header"> 

    <Button android:id="@+id/backButton" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      style="@style/button" 
      android:text="@string/back"/> 

    <TextView style="@style/headerTitle" 
       android:layout_centerInParent="true" 
       android:text="${title}" 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content"/> 
</RelativeLayout> 

तो मैं का उपयोग कर शामिल कर सकते हैं कि अन्य लेआउट में: उदाहरण के लिए: मैं निम्नलिखित लेआउट कहना

<LinearLayout ...> 
    <include android:id="@+id/searchHeader" layout="@layout/shared_header" title="Search"/> 
    ... 
</LinearLayout> 

मैं जानता हूँ कि मैं किसी भी layout_ संशोधित कर सकते हैं * मूल तत्व की विशेषता है, लेकिन मैं यह कर सकते हैं अन्य विशेषताओं को परिभाषित करें जो लेआउट में प्रतिस्थापित हो जाते हैं, जैसे कि इस उदाहरण में "शीर्षक" कहें, बिना व्यू का अपना सबक्लास बनाने के, वैल्यू/संसाधनों आदि में घोषित-शैली योग्य परिभाषाएं जोड़ें?

इस तरह बीत रहा है कुछ इतना आसान पुन: प्रयोज्य दृश्य बनाने बनाना होगा, लेकिन मैं किसी भी सबूत है, तो मर्ज + शामिल हैं यह कर सकते हैं का कहना है कि खोजने के लिए प्रतीत नहीं कर सकते हैं।

+0

मैं एक तरह से लगता है कि आप उन विचारों की सामग्री को बदलना चाहते हैं, आप एक कस्टम करके उन दृश्यों से बना दृश्य का उपयोग किया जाना चाहिए। जब आप किसी व्यू/व्यूग्रुप को कहीं और कॉपी/पेस्ट करना चाहते हैं, तो इसमें शामिल चीज अधिक सुविधा है। – Gregory

+0

लेकिन सीमित उपयोग का उपयोग शामिल है यदि आप केवल उसी कोड को कॉपी और पेस्ट कर सकते हैं। कस्टम विचारों को लेखक के लिए बहुत अधिक ओवरहेड की आवश्यकता होती है, कस्टम स्टाइल विकल्प जोड़ना, दृश्य को उपclass करने के लिए कोड बनाना आदि। यदि मैं कर रहा हूं तो घोंसले वाले तत्वों के कुछ गुणों को ट्वीव करना ऐसा लगता है जैसे पूरे हाथी को खाने के बिना किया जा सकता है – chubbsondubs

+0

मैंने फिर से शामिल करने के लिए त्वरित "ट्यूटोरियल" पढ़ा है (http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html), और यह बहुत स्पष्ट लगता है कि यह बस है एक साधारण प्रतिलिपि/पेस्ट होने के लिए, विशेष रूप से जब आप 2 अलग-अलग लेआउट (चित्र और परिदृश्य) में एक सामान्य "उप-लेआउट" शामिल करते हैं। हालांकि मुझे आपके विचार को बहुत अच्छा लगता है:/ – Gregory

उत्तर

5

उत्तर शून्य है। दुर्भाग्यवश, एंड्रॉइड वह शक्तिशाली नहीं है। आपको व्यू ग्रुप का अपना एक्सटेंशन बनाना होगा और अधिक कोड लिखना होगा।

+0

क्या आप इसका उदाहरण कैसे दे सकते हैं? – jpotts18

+0

नहीं क्योंकि आपका खुद का कस्टम घटक लिखना एक टिप्पणी में अनुमति देने की अपेक्षा अधिक प्रयास और स्थान लेगा। आप अकेले लेआउट फ़ाइलों का उपयोग करके वर्णन नहीं कर सकते हैं। यदि आप ऐसा कुछ बनाना चाहते हैं जिसे पुन: उपयोग किया जा सकता है और इस तरह पैरामीटर किया गया है, तो आपको व्यू ग्रुप को विस्तारित करके अपना खुद का ग्राहक घटक लिखना होगा। – chubbsondubs

+0

मैं कोशिश करता हूं और एक करता हूं। धन्यवाद! – jpotts18