Вертикально центрировать TextView в RelativeLayout

На изображении ниже я хочу, чтобы текстовое представление красного цвета было центрировано по вертикали, я хотел бы продолжать использовать только RelativeLayout, а не какие-либо LinearLayouts, я думаю, что могу понять, как это сделать с LinearLayout, но не хочу использовать их.

Все это основано на примерах, которые я нашел здесь android Блог devleper - Хитрости макета Android #1

альтернативный текст

Вот мой xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip">

    <ImageView android:id="@+id/icon" android:layout_width="wrap_content"
        android:layout_height="fill_parent" 
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true" 
        android:layout_alignParentRight="true"
        android:src="@drawable/chevron" />



    <TextView android:id="@+id/rightText" android:layout_width="55px"
        android:layout_height="fill_parent" android:layout_toLeftOf="@id/icon"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true"
        android:textSize="14dip"
        android:text="$15.99" />


    <TextView android:id="@+id/secondLine" android:layout_width="wrap_content"
        android:layout_height="26dip" android:layout_toLeftOf="@id/rightText"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true" 
        android:text="Simple application that shows how to use RelativeLayout" />

    <TextView android:layout_width="fill_parent" android:id="@+id/firstLine"
        android:layout_height="wrap_content" android:layout_toLeftOf="@id/rightText"
        android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
        android:layout_above="@id/secondLine"
        android:layout_alignWithParentIfMissing="true" android:gravity="center_vertical"
        android:singleLine="true"
        android:ellipsize="end"
        android:maxLines="1"
        android:textSize="13dip"
        android:text="My Application that has a really long title  asdfsdf asdf sdf asdf" />

</RelativeLayout>

person slim    schedule 09.07.2010    source источник


Ответы (2)


Вам просто нужно установить гравитацию TextView.

person CaseyB    schedule 09.07.2010

Это может быть полезно для других, если приведенный выше ответ не работает. Просто установите атрибут ниже в textView

 android:layout_centerVertical="true"
person Tara    schedule 06.01.2017