Android RelativeLayout деца отляво и отдясно

Опитвам се да създам оформление, където има 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.


person Umair A.    schedule 18.08.2011    source източник


Отговори (2)


това трябва да свърши работа

<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" и в двата изгледа.

person Mikooos    schedule 18.08.2011
comment
Циркулярните зависимости не могат да съществуват в RelativeLayout. - person Tudor Luca; 30.05.2014

layout_alignparentleft="true" за дете от лявата ръка (TextView) и layout_alignparentright="true" за дете от дясната ръка (ImageView).

person Ian Newson    schedule 18.08.2011