2016-01-22 117 views
0

我的Android視圖中有一個相對佈局。Android相對佈局在對齊父對齊時添加邊距

我想中間的文字有一些正確的填充或基於編輯圖標的邊距。看到下面我要去的圖像。

但是,我似乎無法得到中間文本執行。它一直運行到編輯按鈕。

我在這裏做錯了什麼?

enter image description here

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:orientation="horizontal" 
    android:layout_alignParentBottom="true" 
    android:layout_height="30dp" 
    android:background="#26265e" 
    > 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="14dp" 
     android:layout_height="14dp" 
     android:src="@drawable/ic_my_location_white_18dp" 

     android:layout_alignParentLeft="true" 
     android:adjustViewBounds="true" 
     android:ellipsize="middle" 
     android:layout_marginLeft="12dp" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="8dp" 

     /> 

    <TextView 
     android:id="@+id/tiLocationAddress" 
     android:layout_alignParentLeft="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:textColor="#ffffff" 
     android:ellipsize="middle" 
     android:maxLines="1" 
     android:layout_marginBottom="7dp" 
     android:layout_marginLeft="30dp" 
     android:textSize="12dp" 

     /> 


    <TextView 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:textColor="#ffffff" 
     android:textSize="13dp" 
     android:paddingTop="6dp" 
     android:paddingBottom="6dp" 
     android:paddingLeft="12dp" 
     android:paddingRight="12dp" 
     android:text="Edit" 
     android:onClick="onClick" 
     android:clickable="true" 

     /> 

</RelativeLayout> 

回答

1

你需要說layout_toRightOf爲您的文本視圖:

<TextView 
    android:id="@+id/tiLocationAddress" 
    //android:layout_alignParentLeft="true" - remove this 
    android:layout_toRightOf="@id/imageView1" - add this 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:textColor="#ffffff" 
    android:ellipsize="middle" 
    android:maxLines="1" 
    android:layout_marginBottom="7dp" 
    android:layout_marginLeft="30dp" 
    android:textSize="12dp" 

    /> 
+0

不知道@aherrick打算和文本一起編輯按鈕移動,所以如果TextView的內容更改,編輯控件將緊靠TextView結束的位置。 – Toguard

+0

使用toRightOf和toLeftOf讓我在需要的地方感謝! – aherrick

+0

如果你不想讓他們移動,那麼使用線性佈局與權衡而不是相對。 –

1

我會建議迫使編輯按鈕或TextView拖放到結束或右,然後指定你的其他TextView保留在編輯的左側。 對於您需要定義一個ID,並引用它,就像這樣:

<TextView 
     android:id="@+id/tiLocationAddress" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="rfnfjeknfwfwe welfmdlwekmklwemfklwemfw welmfweklmflwkmfwl" 
     android:textColor="#ffffff" 
     android:ellipsize="middle" 
     android:maxLines="1" 
     android:padding="5dp" 
     android:layout_centerVertical="true" 
     android:layout_marginBottom="7dp" 
     android:layout_marginLeft="30dp" 
     android:textSize="12dp" 
     android:layout_toLeftOf="@+id/btnEdit" 
     /> 

    <TextView 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:textColor="#ffffff" 
     android:textSize="13dp" 
     android:id="@id/btnEdit" 
     android:paddingTop="6dp" 
     android:paddingBottom="6dp" 
     android:paddingLeft="12dp" 
     android:paddingRight="12dp" 
     android:text="Edit" 
     android:onClick="onClick" 
     android:clickable="true" 

     />