Android TextView в упаковке RelativeLayout - PullRequest
0 голосов
/ 17 февраля 2011

Я пытаюсь сделать относительную компоновку с тремя текстовыми представлениями в столбце слева и двумя кнопками рядом друг с другом справа.Проблема заключается в том, что когда первый текстовый вид короткий (то есть 3 или 4 символа), представленные ниже текстовые представления переносятся, когда они длиннее первого текстового обзора.Я не хочу этого и хочу, чтобы они шли до кнопок, если это возможно.Я знаю, что, возможно, мне не хватает параметра или чего-то подобного.Кто-нибудь может мне помочь?

<LinearLayout android:id="@+id/LinearLayout02" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent">
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/RelativeLayout_class1" android:visibility="visible">


<TextView android:layout_width="wrap_content" android:text="@+id/TextView01" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:id="@+id/TextView_class1_name" android:textColor="@color/Button_Text1"></TextView>
<TextView android:layout_width="wrap_content" android:text="@+id/TextView01" android:layout_below="@+id/TextView_class1_name" android:layout_height="wrap_content" android:layout_alignLeft="@+id/TextView_class1_name" android:layout_alignRight="@+id/TextView_class1_name" android:id="@+id/TextView_class1_building" android:textColor="@color/Button_Text1">    </TextView>
<TextView android:text="@+id/TextView01" android:layout_below="@+id/TextView_class1_building" android:layout_alignLeft="@+id/TextView_class1_building" android:layout_alignRight="@+id/TextView_class1_building" android:id="@+id/TextView_class1_room" android:textColor="@color/Button_Text1" android:layout_height="wrap_content" android:width="0dip" android:layout_width="wrap_content"></TextView>
<Button android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button_class1_map" android:minHeight="@dimen/button_small_size" android:minWidth="@dimen/button_small_size" android:maxHeight="@dimen/button_small_size" android:maxWidth="@dimen/button_small_size" android:text="@string/text_map" android:layout_centerVertical="true"></Button>
<Button android:layout_toLeftOf="@+id/Button_class1_map" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/Button_class1_map" android:layout_alignBottom="@+id/Button_class1_map" android:id="@+id/Button_class1_edit" android:minHeight="@dimen/button_small_size" android:minWidth="@dimen/button_small_size" android:maxHeight="@dimen/button_small_size" android:maxWidth="@dimen/button_small_size" android:text="@string/text_edit" android:layout_centerVertical="true"></Button>
</RelativeLayout>
</LinearLayout>

Ответы [ 2 ]

3 голосов
/ 17 февраля 2011

Почему бы просто не использовать макет таблицы? Это может быть немного проще, потому что вы говорите о столбцах и строках. Проблема с относительным состоит в том, что он будет меняться в зависимости от других. Если вы не хотите, чтобы это происходило, то использовать макет таблицы с x строками и y столбцами будет намного проще.

Наряду с этим, использование макета таблицы позволяет вам выполнить конкретную привязку к определенному столбцу или получить конкретный элемент, занимающий более одного столбца.

1 голос
/ 29 июня 2012

Я столкнулся с чем-то похожим при создании виджета на главном экране. Поскольку виджеты имеют ограниченные параметры, TableLayout не может быть использован. Я вернулся к чему-то, что переводится в вашу ситуацию следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >

<LinearLayout
    android:id="@+id/RelativeLayout_class1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:orientation="vertical"
    android:visibility="visible" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="short" >
    </TextView>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="shrt" >
    </TextView>

    <TextView
        android:id="@+id/TextView_class1_room"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="quite a bit longer" >
    </TextView>
</LinearLayout>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:visibility="visible" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 1" >
    </Button>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 2" >
    </Button>
</LinearLayout>

</LinearLayout>
...