2010-02-15 16 views
21

मैं कुछ दिनों से इसके साथ गड़बड़ कर रहा हूं, उम्मीद है कि यहां कोई मुझे हाथ दे सकता है।एंड्रॉइड फ्लोटिंग व्यू (अन्य विचारों के ऊपर)

मेरे पास एक साधारण दो-कॉलम लेआउट है, बाएं तरफ बटन के साथ नेविगेशन बार है, दाएं तरफ एक सामग्री पैनल है। जब उपयोगकर्ता बटनों में से एक को टैप करता है (कहें, तीसरा एक नीचे), तो मैं इस बटन के दाईं ओर एक फ़्लोटिंग दृश्य गठबंधन करना चाहता हूं लेकिन सामग्री फलक के शीर्ष पर तैरना चाहता हूं। यहाँ वर्णन करने के लिए मैं क्या मतलब है एक तस्वीर है: Layout

सब कुछ मैं कोशिश की है shoves नेविगेशन पट्टी के अंदर या सामग्री पैनल है, जो नहीं है जो मैं चाहता अंदर चल मेनू। कोई विचार? यहां मूल रूप से मेरे पास अब तक है:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" 
> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:layout_alignParentLeft="true" 
     android:id="@+id/navigation_bar" 
    > 
     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.14" 
     > 
      <ImageButton 
       android:id="@+id/button1_btn" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/icon" 
       android:layout_gravity="center" 
      /> 
     </FrameLayout> 
     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="0.14" 
     > 
      <ImageButton 
       android:id="@+id/button2_btn" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/icon" 
       android:layout_gravity="center" 
      /> 
     </FrameLayout> 
    </LinearLayout> 
    <FrameLayout 
     android:id="@+id/content" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="0.14" 
     android:layout_toRightOf="@id/navigation_bar" 
    > 
    </FrameLayout> 
</RelativeLayout> 
+9

+1 ड्राइंग के सामने +1: पी – LuckyMe

+0

डेव, क्या आपने इसे कार्यान्वित करने में कामयाब रहे हैं। मुझे कुछ ऐसा करने की ज़रूरत है, इसलिए यदि आप अपने कार्यान्वयन के कुछ बिट साझा करते हैं तो खुश होंगे। –

उत्तर

14

फ़्रेमलेआउट आपको एक और दृश्य ओवरलैप करने का दृश्य देखने की अनुमति देता है। मुझे यकीन नहीं है कि उन्हें केवल एक बच्चे के दृश्य के साथ समझना है, जैसा कि आपके उदाहरण में है। अपने बच्चे के पहले तत्व के रूप में "स्थैतिक" दृश्य के साथ, और दूसरे बच्चे के रूप में फ़्लोटिंग मेनू के साथ, उच्चतम स्तर पर फ़्रेमलाउट होने का प्रयास करें।

developer documents लेआउट प्रकारों का एक अच्छा अवलोकन है, यह आपको प्रारंभ करने में मदद कर सकता है।

+2

'रिलेवेटिवआउटआउट ओवरलैपिंग दृश्यों का भी समर्थन करता है। – CommonsWare

+22

'रिलेटिवआउट '' FrameLayout' से विरासत में मिलता है। – Ridcully

+0

अप्रैल 2017 में टूटा लिंक, [इस] (https://developer.android.com/guide/topics/ui/declaring-layout.html) का उपयोग करें – Mendhak

-11

RelativeLayout वह है जो आप चाहते हैं।
FrameLayout में केवल एक बच्चा होना चाहिए, और इसलिए, आमतौर पर केवल प्लेसहोल्डर के लिए उपयोग किया जाता है जहां अन्य लेआउट बाद में आते हैं (जैसे गतिविधि का मुख्य फ्रेम)।
AbsoluteLayout बहिष्कृत है, और इसका उपयोग नहीं किया जाना चाहिए।

RelativeLayout विचारों को ओवरलैप करने की अनुमति देता है, और जो कुछ भी आप चाहते हैं, कर सकते हैं।

+14

फ़्रेमलाउट में बिल्कुल कई बच्चे हो सकते हैं। – ATom

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