2013-11-24 27 views
1

之间我必须每4个图像2行对我相对布局如图这一形象在同一个空间:
enter image description hereAndroid的 - 相对布局对齐水平项目,使他们总是在他们

我几乎把它当作它是必需的,但是当应用程序运行时,底部和顶部的左右图像都会粘到框架的边缘,但是中间的图片会有更大的间距,可能它们会粘在角落上。

我想要4个图像距离布局边界10dip,然而我想要的4个内部图像总是在它们之间以及角落之间有相同的空间。

我的布局文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/logo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="16dp" 
     android:layout_marginTop="15dp" 
     android:src="@drawable/userl" /> 

    <TextView 
     android:id="@+id/address" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/logo" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="10dp" 
     android:layout_toRightOf="@+id/logo" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="#000222" /> 

    <TextView 
     android:id="@+id/city" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/address" 
     android:layout_alignRight="@+id/address" 
     android:layout_below="@+id/address" 
     android:text="Small Text" 
     android:textAppearance="?android:attr/textAppearanceSmall" /> 

    <ImageView 
     android:id="@+id/gsm" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/city" 
     android:layout_marginTop="14dp" 
     android:layout_toLeftOf="@+id/address" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/diners" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignRight="@+id/city" 
     android:layout_alignTop="@+id/master" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/master" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/visa" 
     android:layout_marginRight="54dp" 
     android:layout_toLeftOf="@+id/diners" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/deposit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/gsm" 
     android:layout_below="@+id/gsm" 
     android:layout_marginTop="18dp" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/transfer" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/visa" 
     android:layout_alignTop="@+id/deposit" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/history" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/master" 
     android:layout_alignTop="@+id/transfer" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/upn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/history" 
     android:layout_toRightOf="@+id/master" 
     android:src="@drawable/userl" /> 

    <ImageView 
     android:id="@+id/visa" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/deposit" 
     android:layout_alignLeft="@+id/city" 
     android:layout_marginLeft="21dp" 
     android:src="@drawable/userl" /> 

</RelativeLayout> 

但是我将这些内部的人总是捕捉到外的。

回答

2

您是否尝试过加入LinearLayoutandroid:weightSum="4"android:layout_width="0dip" + android:layout_weight="1"ImageView,像这样:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#FFFFFF" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/logo" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="16dp" 
     android:layout_marginTop="15dp" 
     android:src="@drawable/userl" /> 

    <TextView 
     android:id="@+id/address" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignTop="@+id/logo" 
     android:layout_marginLeft="20dp" 
     android:layout_marginRight="10dp" 
     android:layout_toRightOf="@+id/logo" 
     android:text="Medium Text" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:textColor="#000222" /> 

    <TextView 
     android:id="@+id/city" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/address" 
     android:layout_alignRight="@+id/address" 
     android:layout_below="@+id/address" 
     android:text="Small Text" 
     android:textAppearance="?android:attr/textAppearanceSmall" /> 

     // First row (under @id/logo) 

     <LinearLayout 
      android:id="@+id/row1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="14dp" 
      android:weightSum="4" 
      android:layout_below="@id/logo" > 

      <ImageView 
       android:id="@+id/gsm" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

      <ImageView 
       android:id="@+id/diners" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

      <ImageView 
       android:id="@+id/master" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

      <ImageView 
       android:id="@+id/deposit" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

    </LinearLayout> 

     // Second row (under @id/row1) 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="18dp" 
     android:weightSum="4" 
     android:layout_below="@id/row1" > 

      <ImageView 
       android:id="@+id/transfer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

      <ImageView 
       android:id="@+id/history" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

      <ImageView 
       android:id="@+id/upn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

      <ImageView 
       android:id="@+id/visa" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:src="@drawable/userl" /> 

    </LinearLayout> 

</RelativeLayout> 

希望这有助于。