Расположение Android AppWidget беспокоится с ellipsize

Я пишу виджет приложения, который отображает некоторые числа, каждого с маркировкой перед ним.

Расположение похоже на это:

.-----------------------------.
| Label1       |  AAAAAAAAAAA |
| LongerLabelLabel2 | BBBBBBB |
| LongLabel3    | CCCCCCCCCC  |
'-----------------------------'

Существует один внешний (вертикальный) LinearLayout, и каждой строкой является горизонтальный LinearLayout с двумя TextViews.

Проблема состоит в том, что числа получают ellipsized, если ширина маркировки и числа слишком широка для виджета. Я хочу, чтобы маркировки получили ellipsized.

Вышеупомянутая ситуация, например, закончился бы как это:

.-----------------------------.
| Label1    |     AAAAAAAAAAA |
| LongerLabelLabel2 | BBBB... |
| LongLabel3 |    CCCCCCCCCC  |
'-----------------------------'

вместо желаемого

.---------------------------.
| Label1     |  AAAAAAAAAAA |
| LongerLabelL... | BBBBBBB |
| LongLabel3  | CCCCCCCCCC  |
'---------------------------'

Я не могу для своей жизненной фигуры, как решить это. Любая справка ценится.


Мой текущий макет следующий:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="0dip"
    android:orientation="vertical"
    style="@style/WidgetBackground">


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
              android:id="@+id/ROW1"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:paddingTop="7dip"
              android:paddingBottom="0dip"
              android:paddingRight="10dip"
              android:paddingLeft="10dip"
              android:orientation="horizontal">
        <TextView android:id="@+id/NAME1" android:singleLine="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" style="@style/Text.account" />
        <TextView android:id="@+id/BAL1"  android:singleLine="true" android:layout_width="fill_parent"  android:layout_height="wrap_content" android:gravity="right" style="@style/Text.balance" />
    </LinearLayout>

... (more similar rows in the outer layout)

</LinearLayout>
1
задан aioobe 2 August 2010 в 20:08
поделиться

1 ответ

Я подозреваю, что ваша проблема отчасти в том, что у вас есть android: layout_width = "wrap_content" для вашего лейбла. Я бы не ожидал, что он будет иметь многоточие, так как места достаточно, чтобы его показать.

Я бы переключился с LinearLayout на RelativeLayout . Определите свой числовой "столбец" как android: layout_alignParentRight = "true" и android: layout_width = "wrap_content" . Определите свой ярлык "столбец" как android: layout_alignParentLeft = "true" , android: layout_toLeftOf = "..." (где ... - ваш номер column) и android: ellpsize = "end" . Это должно дать номеру все необходимое пространство и ограничить метку, заставив ее иметь многоточие.

2
ответ дан 2 September 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: