2015-01-23 5 views
0

В приведенном ниже XML-макете я пытаюсь сделать каждое значение (accXValue, accYValue, accZValue) справа от их соответствующей метки, как показано ниже в коде.layout_below не работает в RelativeLayout

Во время выполнения все значения расположены друг над другом справа от (tv_accX_label), все значения перекрываются друг с другом и расположены в одной позиции, несмотря на то, что я указал атрибуты layout_below.

Пожалуйста, дайте мне знать, что мне не хватает.

XML:

<?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/tv_accX_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentStart="true" 
    android:text="Acc[X]: "/> 
<TextView 
    android:id="@+id/tv_accX_value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/tv_accX_label"/> 

<TextView 
    android:id="@+id/tv_accY_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentStart="true" 
    android:layout_below="@+id/tv_accX_label" 
    android:text="Acc[Y]: "/> 
<TextView 
    android:id="@+id/tv_accY_value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toEndOf="@+id/tv_accY_label"/> 

<TextView 
    android:id="@+id/tv_accZ_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentStart="true" 
    android:layout_below="@+id/tv_accY_label" 
    android:text="Acc[Z]: "/> 
<TextView 
    android:id="@+id/tv_accZ_value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toEndOf="@+id/tv_accZ_label"/> 

<Button 
    android:id="@+id/btn_send" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/tv_accZ_label" 
    android:gravity="center_vertical|center_horizontal" 
    android:text="send to frag_2"/> 

ответ

1

valueY фактически отображается на rightOflabelY. Вы просто не указали атрибут below на значениях, поэтому они складываются друг на друга. Это как:

valueY:

<TextView 
    android:text="RIGHT" 
    android:id="@+id/tv_accY_value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/tv_accX_value" 
    android:layout_toRightOf="@+id/tv_accY_label" 
    android:layout_toEndOf="@+id/tv_accY_label"/> 

valueZ:

<TextView 
    android:text="BELOW" 
    android:id="@+id/tv_accZ_value" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/tv_accY_label" 
    android:layout_toRightOf="@+id/tv_accY_label" 
    android:layout_toEndOf="@+id/tv_accY_label"/> 
+0

я должен только пропустить его в "макета ниже" и при использовании "layout_rightOf" я не должен пропустить его? – rmaik

+0

ok теперь я пропустил + из layout_below и layout_rightOf. но все же они над кругом – rmaik

+0

@ rmaik извините, я ошибся. + знак в порядке. Ваша проблема заключается в том, чтобы не предоставлять атрибут 'below', как в моем обновленном ответе. – Simas

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