Несогласованная позиция просмотра в ListView - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть ListView, который использует собственный адаптер для отображения строк данных. Каждая строка содержит два TextViews; один выровнен по левому краю, а другой выровнен по правому краю.

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

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

<TextView
    android:id="@+id/description"
    style="@style/ProductSpecNameFont"
    android:layout_width="fill_parent"
    android:layout_gravity="left"
    android:layout_weight="1"
    android:padding="@dimen/margin_sides"
    android:text="Display Size" />

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <TextView
        android:id="@+id/value"
        style="@style/ProductSpecValueFont"
        android:layout_alignParentRight="true"
        android:padding="@dimen/margin_sides"
        android:text="3.5 Inches" />
</RelativeLayout>

Это "почти" работает отлично. Проблема в том, что строки, содержащие текст в правой части TextView, занимающий несколько строк, не выровнены по правому краю. Однострочные строки выровнены по правому краю, как мне бы хотелось. Вот скриншот того, о чем я говорю:

Screen

Почему многострочные текстовые представления не выровнены по правому краю и как я могу их так сделать?

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

Попробуйте установить гравитацию TextView.Похоже, что происходит то, что TextView выровнен по правому краю, но сам текст выровнен по левому краю.

android:gravity="right"
0 голосов
/ 30 ноября 2011

Попробуйте использовать android: weightSum на вашем LinearLayout.Как это:

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

    <TextView
            android:id="@+id/description"
            style="@style/ProductSpecNameFont"
            android:layout_width="fill_parent"
            android:layout_gravity="left"
            android:layout_weight="0.5"
            android:padding="@dimen/margin_sides"
            android:text="Display Size" />

    <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.5" >

        <TextView
                android:id="@+id/value"
                style="@style/ProductSpecValueFont"
                android:layout_alignParentRight="true"
                android:padding="@dimen/margin_sides"
                android:text="3.5 Inches" />
    </RelativeLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...