Android RelativeLayout детей слева и справа - PullRequest
4 голосов
/ 18 августа 2011

Я пытаюсь создать макет, в котором есть RelativeLayout и два дочерних элемента внутри него. Двое детей - это TextView и ImageView. Я хочу, чтобы текст начинался с самого левого края RelativeLayout и ImageView до правого края RelativeLayout.

Какие свойства мне нужно использовать?

Код, который не работает.

<RelativeLayout 
    android:clickable="true"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:background="@drawable/android_btn_large" 
    android:gravity="center_vertical">

    <TextView 
            android:id="@+id/txtButton"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:text="Riverside Park" 
            android:textColor="#FFFFFF"
            android:layout_alignParentLeft="true">
    </TextView>
    <ImageView 
            android:id="@+id/imgButton"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_alignParentRight="true"
            android:src="@drawable/plus_icon_480">
     </ImageView>
</RelativeLayout>

Выше работает, но растяните кнопку до fill_parent.

Ответы [ 2 ]

13 голосов
/ 19 августа 2011

, который должен выполнить эту работу

<RelativeLayout 
    android:clickable="true"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:background="@drawable/android_btn_large"
    android:gravity="center_vertical">

<TextView 
    android:id="@+id/txtButton"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/imgButton"
    android:text="Riverside Park"
    android:textColor="#FFFFFF"
    android:layout_alignParentLeft="true"></TextView>

<ImageView 
    android:id="@id/imgButton"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/txtButton"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/plus_icon_480">        
</ImageView>
</RelativeLayout>

заметьте, что в TextView есть + id, а в ImageView нет "+" ". Однако вы должны использовать линейное расположение с весом, установленным в" 1 "на оба вида.

1 голос
/ 18 августа 2011

layout_alignparentleft = "true" для левого потомка (TextView) и layout_alignparentright = "true" для правого потомка (ImageView).

...