2015-09-04 2 views
0

Код ниже не центрирует объект вида по вертикали относительно TextView, но он застрял в верхней части.Центр взгляда относительно другого

Как его можно центрировать по вертикали?

спасибо.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" android:layout_height="wrap_content"> 

    <TextView 
     android:id="@+id/label_TV" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="start" 
     android:text="@string/station" /> 

    <View 
     android:layout_width="fill_parent" 
     android:layout_height="1dp" 
     android:layout_gravity="center_vertical" 
     android:layout_toRightOf="@id/label_TV" 
     android:layout_toEndOf="@id/label_TV" 
     android:background="@color/divider" /> 

</RelativeLayout> 

ответ

0

Попробуйте это,

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
    <TextView 
    android:id="@+id/label_TV" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centverVertical="true" 
    android:layout_gravity="start" 
    android:text="@string/station" /> 

    <View 
    android:layout_width="fill_parent" 
    android:layout_height="1dp" 
    android:layout_centverVertical="true" 
    android:layout_toRightOf="@id/label_TV" 
    android:layout_toEndOf="@id/label_TV" 
    android:background="@color/divider" /> 
</RelativeLayout> 
0

Попробуйте это:

EDITED

<?xml version="1.0" encoding="utf-8"?> 
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
android:layout_width="match_parent" android:layout_height="wrap_content"> 
 

 
<TextView 
 
    android:layout_width="wrap_content" 
 
    android:layout_height="wrap_content" 
 
    android:layout_centerHorizontal="true" 
 
    android:text="AAA" /> 
 

 
<TextView 
 
    android:id="@+id/label_TV" 
 
    android:layout_width="wrap_content" 
 
    android:layout_height="wrap_content" 
 
    android:layout_centerVertical="true" 
 
    android:text="Line" /> 
 

 
<View 
 
    android:layout_width="fill_parent" 
 
    android:layout_height="1dp" 
 
    android:layout_centerVertical="true" 
 
    android:layout_toEndOf="@id/label_TV" 
 
    android:background="@color/line_divider" /> 
 

 
<TextView 
 
    android:layout_width="wrap_content" 
 
    android:layout_height="wrap_content" 
 
    android:layout_centerHorizontal="true" 
 
    android:layout_below="@+id/label_TV" 
 
    android:text="BBB" /> 
 

 
</RelativeLayout>

В основном вам просто нужно установить высоту родительского компоновщика, чтобы соответствовать родителя, а затем использовать layout_centverVertical = "истинный вместо этого.

+0

'андроида: layout_centerVertical = "истина"' центрирует вид относительно контейнера. Этот RelativeLayout имеет другие представления до и после включенного представления 2, используемого для этого примера. есть ли способ получить тот же эффект, не создавая для него отдельный контейнер RL? –

+0

Jiyeh: Мне нужны 3 "линии" (AAA, Line -------- и 888), укладываются в верхнюю часть экрана и не распространяются по всей высоте экрана.) –

+0

Хорошо. Повторите попытку отредактированного кода. Просто измените высоту RL на wrap_content. – Jiyeh

Смежные вопросы