2012-06-10 71 views
0

我想有一個Llayout這樣的: Custom LayoutRealtiveLayout 2的ImageView和TextView的3

到目前爲止,我得到這個佈局:

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

    <ImageView 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:id="@+id/flag1" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 

     android:id="@+id/team1" 
     /> 
    <TextView 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 



     /> 

<TextView 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 

     android:id="@+id/team2" 
     /> 
<ImageView 
     android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:id="@+id/flag2" 
     /> 
</RelativeLayout> 

但是,這是行不通的。有人可以說爲什麼嗎? 感謝

+0

爲什麼你只使用相對佈局的任何具體原因,因爲我認爲這可以很容易地使用線性佈局來完成。 –

+0

我認爲這會更好。但我想它也適用於LinearLayout – Ahmad

回答

2

我試着讓它儘可能地接近你所擁有的。我得到這個:

enter image description here

這是你需要做的

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    > 
    <ImageView 
     android:id="@+id/image1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignParentLeft="true" 
     android:background="@drawable/ic_launcher" 
      /> 
    <TextView 
     android:id="@+id/text1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toRightOf="@id/image1" 
     android:text="Text1" 
     /> 
    <TextView 
     android:id="@+id/text2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:text="Text2" 
     /> 

    <TextView 
     android:id="@+id/text3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_toLeftOf="@id/image2" 
     android:text="Text3" 
     /> 
<ImageView 
     android:id="@+id/image2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:background="@drawable/ic_launcher" 
     /> 
</RelativeLayout> 

使用android:marginandroid:padding,你要調整的文本框的位置是什麼。

1

試試這個:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center_vertical" 
    android:background="@drawable/game1_background"> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/flag1"/> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/team1"/> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/team2"/> 
    <ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/flag2"/> 
</LinearLayout> 

講究參數:安卓重力=「center_vertical」,這將垂直森特所有的孩子們。

1

隨着RelativeLayout你將不得不做這樣的事情......

<ImageView 
    android:id="@+id/flag1" 
    android:layout_width="60dp" 
    android:layout_height="60dp" 
    android:layout_alignParentLeft="true" 
    android:layout_margin="10dp" 
    android:background="@drawable/ic_launcher" /> 

<TextView 
    android:id="@+id/team1" 
    android:layout_width="wrap_content" 
    android:gravity="center" 
    android:layout_height="60dp" 
    android:layout_margin="10dp" 
    android:layout_toRightOf="@id/flag1" 
    android:text="hello" /> 

<TextView 
    android:id="@+id/team3" 
    android:layout_width="wrap_content" 
    android:gravity="center" 
    android:layout_height="60dp" 
    android:layout_margin="10dp" 
    android:layout_toRightOf="@id/team1" 
    android:text="gth" /> 

<TextView 
    android:id="@+id/team2" 
    android:layout_width="wrap_content" 
    android:gravity="center" 
    android:layout_height="60dp" 
    android:layout_margin="10dp" 
    android:layout_toRightOf="@id/team3" 
    android:text="gth" /> 

<ImageView 
    android:id="@+id/flag2" 
    android:layout_width="60dp" 
    android:layout_height="60dp" 
    android:layout_margin="10dp" 
    android:layout_toRightOf="@id/team2" 
    android:background="@drawable/ic_launcher" 
    android:text="gth" /> 

請根據您的規格調整尺寸。

RelativeLayout具有一組不同的屬性,可用於在屏幕中定位視圖,它易於學習且靈活,請參閱Android documentataion of RelativeLayout瞭解更多信息。