2010-01-04 22 views
10

मैं एंड्रॉइड में निम्न लेआउट बनाने के बारे में कैसे जा सकता हूं?एंड्रॉइड/लेआउट: हेडर-सामग्री लेआउट कैसे बनाएं

मुझे एक "हेडर" चाहिए, यानी एक हेडर जो हर समय रहता है। एकमात्र चीज जो बदलनी चाहिए वह हेडर के नीचे का क्षेत्र है। एक वेबपेज, जहां सामग्री-क्षेत्र है जहां अपने सभी के रूप में यह हो रहा से

Think =)

+--------------------+ 
| H E A D E R  | 
+--------------------+ 
|     | 
|     | 
|     | 
| C O N T E N T  | 
|     | 
|     | 
|     | 
+--------------------+ 

ज़रूर, इसकी काफी आसान है, एक LinearLayot बनाने के लिए शीर्ष पर एक दृश्य जोड़ने और फिर एक और दृश्य उसके नीचे - तादा! लेकिन इसके बाद मैं क्या हूं कि आप कैसे "सेट अप" या प्रोजेक्ट डिज़ाइन करते हैं, इसलिए सामग्री में बस कुछ भी बदलना आसान है।

मैं वास्तव में चाहते हैं क्या करने के लिए "स्वाइप" क्षेत्र और फिर बस एक नया देखें/सामग्री-क्षेत्र में बात "रोल में" (here देखें), लेकिन एक ही शीर्ष लेख रखने में सक्षम होना है।

मैं वास्तव में क्या याद आती है layoyt-उदाहरण के लिए एक व्यापक पुस्तकालय है ...

संबंध

उत्तर

23

आप अपने हैडर के लिए एक लेआउट फ़ाइल बना सकते हैं। वास्तव में किस प्रकार आप हेडर अपने लेआउट के बाकी आधार पर भिन्न होगी सामग्री के लेआउट के शीर्ष पर रहने के लिए मिल

<include android:id="@+id/header" 
     layout="@layout/my_header" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent"/> 

: प्रत्येक सामग्री गतिविधि के लिए लेआउट के शीर्ष पर, जैसे लेआउट फ़ाइल शामिल हैं। आप अपने शामिल कथन पर अभिविन्यास = "लंबवत", या align_parentTop = "true" के साथ एक सापेक्ष लेआउट के साथ एक LinearLayout का उपयोग कर सकते हैं।

यह android documentation मूल लेआउट प्रकारों का एक अच्छा सारांश है।

+0

Thx, मैं इसे आज़मा दूंगा =) – Ted

2

एक अन्य संभावित समाधान 'सामग्री' अनुभाग के रूप में ViewFlipper या ViewSwitcher उपयोग कर रहा है, जहां आप कई प्रकार की सामग्री में शामिल हैं आप के बीच फ्लिप करने में सक्षम होना चाहते हैं, और सिर्फ सेट आपने कौन सा दृश्य प्रदर्शित करना चाहते हैं (आप एनिमेशन कर सकते हैं फ्लिप/स्विच पर भी)। इसका नकारात्मक पक्ष यह है कि आपकी सामग्री को मुख्य लेआउट में जोड़ा जाना चाहिए, जो प्रत्येक दृश्य व्यूफ्लिपर/व्यूस्विचर का बच्चा होने का उपयोग करता है (लेआउट को अलग-अलग एक्सएमएल फाइलों में रखने के लिए भी उपयोग कर सकता है)।

स्विच की गई सामग्री के प्रतिपादन को दूसरी गतिविधि में प्रस्तुत करना सीधे आगे नहीं है। TabHost/TabWidget यह अनुमति देता है, जहां टैब होस्ट का सामग्री क्षेत्र किसी अन्य गतिविधि से उत्पन्न होता है। यदि आप इसे इस तरह पूरा करने की आवश्यकता है तो आप टैब कोड का उदाहरण उदाहरण के रूप में उपयोग कर सकते हैं।

संबंधित मुद्दे