2010-07-09 5 views
3

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

Это все основаны от примеров я нашел здесь android devleper's blog - Android Layout Tricks #1

alt text http://i29.tinypic.com/2rmku52.jpg

Вот мой 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> 

ответ

6

Вам просто нужно установить от тяжести TextView.

+0

Огромное спасибо, что сделало трюк – slim

2

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

android:layout_centerVertical="true" 
Смежные вопросы