2014-02-16 102 views
0

我希望創建此類型的佈局....帶有靜態和動態碎片的活動佈局?

在XML創建左側一個靜態片段

在XML創建底部爲頁腳一個靜態片段

在XML中創建在頂部作爲報頭一個靜態片段

並且基於不同的廣播從外到不同動態片段創建的運行時@最後

一個容器 活動。

這裏是一個XML格式的視覺....

fragment_layout

我怎樣組織這個活動的佈局?

回答

1

使用RelativeLayout放置頂部和底部的片段,然後添加包含List片段和最後一個動態片段的水平的LinearLayout。片段的尺寸可以放在dimens文件中,我在xml中硬編碼爲48 dp;此外,列表區域佔用寬度的20%,而內容區域佔據其餘區域。這裏的東西讓你開始:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <fragment 
     android:id="@+id/top_fragment" 
     android:name="com.adip.sampler.fragments.TopFragment" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_alignParentTop="true" /> 

    <fragment 
     android:id="@+id/bottom_fragment" 
     android:name="com.adip.sampler.fragments.BottomFragment" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_alignParentBottom="true" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/bottom_fragment" 
     android:layout_below="@+id/top_fragment" 
     android:baselineAligned="false" 
     android:orientation="horizontal" > 

     <fragment 
      android:id="@+id/list_fragment" 
      name="com.adip.sampler.fragments.ListFragment" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" /> 

     <FrameLayout 
      android:id="@+id/dynamic_area" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="4" > 
     </FrameLayout> 
    </LinearLayout> 

</RelativeLayout> 

,或者如果你想有隻viewgroups並沒有fragment標籤,你可以有這樣的佈局(您可以使用任何ViewGroup代替FrameLayout,我使用它出於效率的考慮) :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <FrameLayout 
     android:id="@+id/top_fragment" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_alignParentTop="true" /> 

    <FrameLayout 
     android:id="@+id/bottom_fragment" 
     android:layout_width="match_parent" 
     android:layout_height="48dp" 
     android:layout_alignParentBottom="true" /> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/bottom_fragment" 
     android:layout_below="@+id/top_fragment" 
     android:baselineAligned="false" 
     android:orientation="horizontal" > 

     <FrameLayout 
      android:id="@+id/list_fragment" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" /> 

     <FrameLayout 
      android:id="@+id/dynamic_area" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="4" > 
     </FrameLayout> 
    </LinearLayout> 

</RelativeLayout> 
+0

如果我想做同樣的事情,但動態全線XML沒有碎片... – sirvon

+0

能否請你解釋一下你的意思是用'動態全線xml'沒有碎片? – gunar

+0

在代碼中創建的所有片段,沒有在xml中創建 – sirvon