2012-06-10 29 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了解更多信息。