2013-04-08 177 views
0

我有一個Android的佈局在這裏掙扎,這似乎應該是這麼簡單,更無須歡喜,在圖像中簡單的線性佈局結果顯示:如何佈局?使用相對佈局還是線性佈局?

enter image description here

<?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" 
    android:background="#ffffff" 
    android:minWidth="25px" 
    android:minHeight="100dp"> 
    <TextView 
     android:text="Last Game" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView1" 
     android:gravity="center_horizontal" 
     android:background="#003300" /> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffffff"> 
     <ImageView 
      android:src="@android:drawable/ic_menu_gallery" 
      android:layout_width="80dp" 
      android:id="@+id/imageView1" 
      android:layout_gravity="left" 
      android:layout_height="80dp" /> 
     <TextView 
      android:textColor="#000000" 
      android:text="WR" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:id="@+id/textView2" 
      android:gravity="right" 
      android:paddingRight="5dp" /> 
     <View 
      android:background="#000000" 
      android:layout_width="1dp" 
      android:layout_height="fill_parent" 
      android:id="@+id/view1" 
      android:layout_gravity="center_horizontal" /> 
     <TextView 
      android:textColor="#000000" 
      android:text="LR" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:id="@+id/textView3" 
      android:gravity="left" 
      android:paddingLeft="5dp" /> 
     <ImageView 
      android:src="@android:drawable/ic_menu_gallery" 
      android:layout_gravity="right" 
      android:layout_width="80dp" 
      android:id="@+id/imageView1" 
      android:layout_height="80dp" /> 
    </LinearLayout> 
</LinearLayout> 

我想要什麼,左圖像位於左邊距(左對齊) 右邊距右邊圖像(右對齊) 垂直條始終居中 而WR右對齊靠近中心 LR左對齊靠近中心。

我應該使用相對佈局?

+0

LinearLayout中有五個意見和重量,我會說? – 2013-04-08 14:41:55

+0

保持它們在不同的線性佈局。根據您的需要設置填充和** android:gravity =「left」**和** right **根據您的需要。 – Numair 2013-04-08 14:45:01

回答

1

我會的。您可以使用

android:layout_alignParentLeft="true" 

android:layout_alignParentRight="true" 

的圖像,respecitvely。然後使用

android:layout_centerHorizontal="true" 

爲您的生產線和

android:layout_toLeftOf="id" // enter id of line 

android:layout_toRightOf="id" // enter id of line 

將您TextView S於該線的一側,並添加padding需要

+0

我希望的Android使用的彈簧模型一樣的Qt做,我可以作出這樣的做任何事情。 – Eric 2013-04-08 15:00:11

+0

'RelativeLayout'實際上是非常靈活和易於使用/,一旦你得到了它的竅門,恕我直言修改。它只是需要一點點的演奏獲得舒適,他們可以通過刪除嵌套'LinearLayout's更有效 – codeMagic 2013-04-08 15:05:53

1

你需要的FrameLayout,適合以下佈局

<?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" 
      android:background="#ffffff" 
      android:minWidth="25px" 
      android:minHeight="100dp"> 
<TextView 
     android:text="Last Game" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView1" 
     android:gravity="center_horizontal" 
     android:background="#003300" /> 
<FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#ffffff"> 
    <ImageView 
      android:src="@android:drawable/ic_menu_gallery" 
      android:layout_width="80dp" 
      android:id="@+id/imageView1" 
      android:layout_gravity="left" 
      android:layout_height="80dp" /> 
    <TextView 
      android:textColor="#000000" 
      android:text="WR" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:id="@+id/textView2" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginLeft="25dp" 
      /> 
    <View 
      android:background="#000000" 
      android:layout_width="1dp" 
      android:layout_height="80dp" 
      android:id="@+id/view1" 
      android:layout_gravity="center_horizontal" /> 
    <TextView 
      android:textColor="#000000" 
      android:text="LR" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:id="@+id/textView3" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginRight="25dp" 
      /> 
    <ImageView 
      android:src="@android:drawable/ic_menu_gallery" 
      android:layout_gravity="right" 
      android:layout_width="80dp" 
      android:id="@+id/imageView1" 
      android:layout_height="80dp" /> 
</FrameLayout> 
</LinearLayout> 
0

的RelativeLayout您的要求最好使用 。使左圖像layout_alignParentLeft = true。使中心線layout_centerHorizo​​ntal = true。使WR layout_align_toLeftOf =「行號」,並有重力=「正確的」。在另一邊重複相反的方向。