2012-10-03 55 views
2

IAM designin新的應用程序,並在某些部分,我需要在彼此的頂部兩個佈局,但不使用arndroid:方向,insted的的,我需要使用layout_above/layout_below,但它說,我是此處的LinearLayout一個無效的參數是代碼Android的佈局上述問題

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_below="@id/menu" 
     android:gravity="center"> 
      <LinearLayout 
       android:id="@+id/t1" 
       android:layout_width="80dp" 
       android:gravity="center" 
       android:layout_height="80dp" 
       android:background="#DDDDDD"> 

      </LinearLayout> 
      <LinearLayout 
       android:id="@+id/t2" 
       android:layout_width="80dp" 
       android:gravity="center" 
       android:layout_height="80dp" 
       android:background="#DDDDDD"> 

      </LinearLayout> 
      <LinearLayout 
       android:id="@+id/t3" 
       android:layout_width="80dp" 
       android:gravity="center" 
       android:layout_above="@id/t1" 
       android:layout_height="80dp" 
       android:background="#DDDDDD"> 

      </LinearLayout> 


    </LinearLayout> 

所以線性佈局t1,t2分別彼此相鄰女巫是好的,但我想的LinearLayout T3以上T1

+0

正如丹尼爾說,LinearLayout中可能不是最好的選擇。在你的情況下,RelativeLayout或GridLayout更可能是更好的選擇。如果您可以發佈您想要實現的圖像(線框/ ascii-art),它會更容易幫助。 – Robert

回答

2

機器人:layout_above/layout_below只允許在RelativeLayout上,使用RelativeLayout而不是LinearLayout,它會起作用。例如:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <LinearLayout 
     android:id="@+id/below_layout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/rev_arrow"> 
    </LinearLayout> 
    <LinearLayout> 
     android:id="@+id/above_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     /> 
</RelativeLayout> 

這裏有佈局一個很好的教程: http://android.programmerguru.com/android-relativelayout-example/

+0

幾乎沒有任何需要嵌套RelativeLayouts。這隻會增加複雜性和渲染時間。 另外,請考慮使用GridLayout。 – Robert