Текст в TextView не отображается в несколько строк - он усекается в одну строку - PullRequest
0 голосов
/ 28 сентября 2011

Ниже приводится схема моего макета.У меня есть ScrollView внутри другого LinearLayout, потому что я буду добавлять больше видов к нему во время выполнения.

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

Есть ли способ заставить его отображать многострочный TextViw без необходимости устанавливать произвольное количество строк, используя android: lines или android: maxLines?

Спасибо.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent" android:layout_height="fill_parent"
          android:orientation="vertical" android:background="@drawable/background"
          android:id="@+id/XyzLayout"
          android:paddingRight="10dp">

    <ScrollView android:layout_width="fill_parent"
            android:layout_height="fill_parent" android:background="@drawable/background"
            android:fillViewport="true">

        <LinearLayout android:layout_width="fill_parent"
                  android:layout_height="wrap_content" android:orientation="vertical"
                  android:layout_marginBottom="0dip" android:layout_marginTop="1dip">

            <TextView android:id="@+id/textView1"
                  android:text="@string/String1"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_marginLeft="10dip"
                  android:layout_marginTop="20dip"
                  android:layout_marginRight="10dip" android:textSize="18dip"
                  android:typeface="sans" android:textStyle="bold"
                  android:layout_marginBottom="4dip"
                  android:inputType="text|textMultiLine"/>

            <TextView android:id="@+id/textView2"
                  android:text="@string/String2"
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_marginLeft="10dip"
                  android:layout_marginTop="20dip"
                  android:layout_marginRight="10dip" android:textSize="16sp"
                  android:typeface="sans" android:textStyle="bold"
                  android:layout_marginBottom="4dip"
                  android:inputType="text|textMultiLine"/>
        </LinearLayout>
    </ScrollView>
</LinearLayout>

Ответы [ 4 ]

2 голосов
/ 21 августа 2012

У меня проблема с i5800 с CM7 (2.3.7) и эмулятором, и он отлично работает на SGS-i9000 с CM9 (4.0.3).

Проблема была в установке темы в манифесте:

 <application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.DeviceDefault" >

Я поставил "android: theme =" @ android: style / Theme.Holo ", и если на устройстве его нет, в режиме просмотра текста MultiLine не разрешено.

Вы можете использовать библиотеку "holoeverywhere" для переноса темы holo на все устройства.

Привет.

1 голос
/ 14 августа 2012

Попробуйте удалить настройку android:inputType="text".

Просто была такая же проблема.У меня было android:multiLines="2", затем я попытался android:lines="2", затем попытался добавить android:singleLine="false", но мой EditText все равно показывал бы только одну строку.Я мог бы прокрутить горизонтально, чтобы добраться до конца моей строки.В итоге получилось удалить настройку android:inputType="text".Это позволило мне набрать длинную строку, которая обернулась бы вокруг второй строки.

0 голосов
/ 10 декабря 2012

Добавить к ответу @ KNU ...

Вот хороший связанный ответ, показывающий, что вы можете использовать другую тему в зависимости от версии Android , на которой она запущена - просто создайте папку стилей с версиями.

Ответ здесь: TextView не будет разбивать текст

0 голосов
/ 28 сентября 2011

Это может быть ложным по умолчанию, но вы пытались добавить это в TextView

 android:singleLine="false"

-serkan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...