Длинный текст идет к следующей строке на ICS, но не на ГБ и ниже - PullRequest
7 голосов
/ 21 марта 2012

Первый раз, когда я заметил это, AlertDialogs поместил все сообщение в первую строку, даже когда я указал новую строку ("\ n"). На ICS он отображает правильный путь, но я не мог заставить его работать на ГБ.

Недавно я снова столкнулся с этим. Я не вижу причин, чтобы он работал нормально на ICS, но не на ГБ и ниже.

ПРИМЕР ПРОЕКТА

Вот пример проекта с textview, alerttdialog и двумя стандартными текстовыми представлениями.

https://github.com/T3hh4xx0r/Text-Example

EDIT

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

Android AlertDialog не отображает полный набор сообщений на определенных устройствах

/ EDIT

Вот наглядные примеры того, что я имею в виду. enter image description here

Даже если специально задать несколько строк для textView, текст по-прежнему будет одной строкой, но с дополнительными пустыми строками ниже.

1 Ответ

6 голосов
/ 24 марта 2012

Вот макет, который использует alerttdialog для создания вашего представления:

<!--
    This layout file is used by the AlertDialog when displaying a list of items.
    This layout file is inflated and used as the TextView to display individual
    items.
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="@android:color/primary_text_light_disable_only"
    android:gravity="center_vertical"
    android:paddingLeft="14dip"
    android:paddingRight="15dip"
    android:ellipsize="marquee"
/>

Как вы можете видеть, размер эллипса настроен на выделение, поэтому я не верю, что он когда-либо был написан с намерением разрешить мультилинии.

В данный момент открыта ошибка, из-за которой точки эллипса никогда не показываются: http://code.google.com/p/android/issues/detail?id=10554

Поэтому он действует правильно.

Если вы хотите, чтобы он занимал несколько строк, создайте свой собственный файл макета и передайте его в диалоговое окно, чтобы в любом случае у вас было больше контроля.

...