Android обновляет textviews и выравнивание - PullRequest
0 голосов
/ 11 июня 2011

У меня есть 2 вида текста рядом, один выровненный вправо и один влево, чтобы объединить их.Правая сторона - это просто метка для типа измерения, указанного на левой стороне.Проблема состоит в том, что когда левый TextView является большим числом, два TextView расположены рядом друг с другом без промежутка в середине.Но как только левый TextView становится небольшим числом, он отделяется от правой стороны.

Например, это может выглядеть так во время одного цикла: 3000meters

А потом вот такна следующем: 5 метров

Мне нужно, чтобы они были вместе.Есть ли что-то, что я могу сделать, чтобы добиться этого, стороны xml или стороны кода при обновлении представления?

edit - хорошо, мне пришлось отредактировать его в WordPad, чтобы он правильно отображался здесь

<TableRow android:layout_width="fill_parent"
    android:background="@drawable/maindatabg"> 
            <TableLayout 
                android:layout_gravity="center_horizontal"
                android:stretchColumns="*">
            <TableRow>
               <TextView
                  android:id="@+id/spaceValue"
                  android:text="00.0"
                  android:textStyle="bold"
                  android:textColor="#FFFFFF"
                  android:layout_gravity="right"
                  android:textSize="20dip"/>
              <TextView
                  android:id="@+id/spaceTypeValue"
                  android:layout_height="fill_parent"
                  android:text="meters"
                  android:textStyle="bold"
                  android:textColor="#FFFFFF"
                  android:layout_gravity="left"
                  android:textSize="14dip"/>
          </TableRow>
      </TableLayout>                                                         
</TableRow>

Ответы [ 2 ]

1 голос
/ 11 июня 2011

Упоминание android: gravity = "right" для android: id = "@ + id / spaceValue". Образец макета и проверено отлично работает.

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TableLayout android:layout_gravity="center_horizontal"
    android:stretchColumns="*">
    <TableRow>
        <TextView android:id="@+id/spaceValue" android:text="3000"
            android:textStyle="bold" android:textColor="#FFFFFF"
            android:layout_gravity="right"  android:gravity="right"
            android:textSize="20dip" />
        <TextView android:id="@+id/spaceTypeValue"
            android:layout_height="fill_parent" android:text="meters"
            android:textStyle="bold" android:textColor="#FFFFFF"
            android:layout_gravity="left" android:textSize="14dip" />
    </TableRow>
</TableLayout>
    </TableRow>
0 голосов
/ 11 июня 2011

После переформатирования вашего кода в

<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:layout_gravity="center_horizontal"
android:stretchColumns="*" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
    <TableRow>
        <TextView android:id="@+id/spaceValue" android:text="4"
            android:textStyle="bold" android:textColor="#FFFFFF"
            android:layout_gravity="right" android:textSize="20dip" />
        <TextView android:id="@+id/spaceTypeValue"
            android:layout_height="fill_parent" android:text="meters"
            android:textStyle="bold" android:textColor="#FFFFFF"
            android:layout_gravity="left" android:textSize="14dip" />
    </TableRow>
</TableLayout>

4 метра и 30000 метров выглядят одинаково.

...