2015-10-28 4 views
3

Я начинаю с этогоСбалансированный Multiline TextView

<TextView 
    android:text="Here is what it looks like" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:gravity="center"/> 

Что делает, как этот

| Here is what it looks | 
|   like   | 

Но я хочу, чтобы сделать как этот

|  Here is what  | 
|  it looks like  | 

Есть ли способ сделать это без настройки встроенного в TextView? Если нет, как можно настроить TextView?

Обратите внимание, что значение android:text фактически заполнено программным путем и может варьироваться в зависимости от содержания/длины. Я ищу общее решение, которое работает для любого текстового значения на любой ширине экрана.

+0

Возможно, добавление простыни в TextView поможет вам достичь чего-то близкого к этому. –

ответ

5

Начиная с API 23, TextView имеет break strategy и hyphenation frequency настройки, которые могут быть использованы для достижения этого.

<TextView 
    android:text="Here is what it looks like" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:hyphenationFrequency="none" 
    android:breakStrategy="balanced" 
    android:gravity="center"/> 

Однако, я не вижу какой-либо способ сделать это для API < 23. AppCompatTextView в версии 23.1.0 библиотеки поддержки, кажется, не поддерживает их.

ПРИМЕЧАНИЕ. Android Studio 1.4.1 не показывает желаемое поведение обертывания в окне предварительного просмотра (даже если для предварительного просмотра выбран API 23), но его можно увидеть в эмулированном устройстве API 23.

+1

Я зарегистрировал две ошибки: [запрос на резервное копирование в библиотеке поддержки] (https://code.google.com/p/android/ проблемы/детали? id = 203863), а [перенос выполняется только на английском языке] (https://code.google.com/p/android/issues/detail?id=203895). –

Смежные вопросы