2012-05-25 153 views
1

我有一個垂直線性佈局,它有兩個線性佈局與不同的元素,我想修復第一個到頂部,第二個居中,我試着它,但不工作:相對佈局位置

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background_bg" 
    > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:background="#3b5998" 
    >  
     elements 
    </LinearLayout> 


    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="300dip" 
     android:layout_height="300dip" 
     android:background="@drawable/background_resto" 
     android:gravity="center" 
    > 

      elements 
    </LinearLayout> 
    </LinearLayout 

爲什麼它不起作用?謝謝你在前進

回答

3

我的意見,選擇一個RelativeLayout的用於這一目的。

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@android:color/holo_blue_bright" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:layout_alignParentTop="true" 
     android:background="#fff" > 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="300dip" 
     android:layout_height="300dip" 
     android:layout_centerInParent="true" 
     android:background="@android:color/holo_green_light" 
     android:orientation="vertical" > 
    </LinearLayout> 
</RelativeLayout> 

這將幫助您設置相對於其他意見的確切 「相對」 的位置。

最良好的祝願, 蒂姆

1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="@drawable/background_bg" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="50dip" 
      android:layout_alignParentTop="true" 
      android:background="#ff0000" > 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="300dip" 
      android:layout_height="300dip" 
      android:layout_centerInParent="true" 
      android:background="#ff0000" 
      android:orientation="vertical" > 
     </LinearLayout> 
    </RelativeLayout> 

</LinearLayout> 
+0

其實這是一個錯誤。你將兩個LinearLayout集中在RelativeLayout的中間(即包裝它們)。第一個必須與父母的頂部對齊,另一個到中心位置。 – Tim

+0

ohhk這是錯字錯誤,只需要常識來使其正確...我認爲你有?對? –

+0

現在糾正錯字錯誤...... –

2

應該使用RelativeLayout代替LinearLayout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background_bg" 
    > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="50dip" 
     android:background="#3b5998" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     > 
     elements 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="300dip" 
     android:layout_height="300dip" 
     android:background="@drawable/background_resto" 
     android:layout_centerInParent="true" 
     > 
     elements 
    </LinearLayout> 

</RelativeLayout>