Intereting Posts
Запуск службы из класса приложения Android получает намерение при внедрении RecognitionListener Методы загрузки данных в Async для Android Не удалось прочитать строку 0, столбец -1 Как работает getExternalCacheDir () на Android? Является ли более эффективным преобразовать строку в Int или Int в строку при проверке равенства? Как использовать тему Holo.Light и вернуться к «Свету» на устройствах с предварительной сотой? Получение неизвестного свойства 'classpath' с компилятором Jack для Android Резервное копирование данных Android 2.2: как сделать резервную копию DefaultSharedPreferences? Как сохранить клиента android на сервере даже при изменении активности и отправить данные на сервер? В чем разница между gnustl и stlport в разработке android ndk? Как изменить стиль размещения TextInput в React Native? Фрагменты и проблемы с вращающимся экраном Отключение Spinner в android Правильный способ узнать, была ли уничтожена деятельность

Многострочный TextView в Android?

Мне понравилось ниже в xml

 <TableRow> <TextView android:id="@+id/address1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:maxLines="4" android:singleLine="false" android:text="Johar Mor, Gulistan-e-Johar, Karachi" > </TextView> </TableRow> 

Он не работает для multiline , и я использую TableLayout

Так что я ошибаюсь здесь?

Solutions Collecting From Web of "Многострочный TextView в Android?"

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

 <TextView android:id="@+id/address1" android:gravity="left" android:layout_height="fill_parent" android:layout_width="wrap_content" android:maxLines="4" android:lines="4" android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."></TextView> 

Я попытался прокомментировать один из ответов выше, но у меня недостаточно репутации.
Я просто подумал, что добавлю, что если вы используете:

android:inputType="textMultiLine"

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

android:singleLine="false" работал нормально.

Мне не нравится ни один из ответов. Просто установите inputType, и TextView будет адаптироваться к его контенту

 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textMultiLine"/> 

Протестировано на Nexus One (2.3) и Nexus 4 (4.4)

Просто добавьте textview в ScrollView

 <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:layout_marginTop="20dp" android:fillViewport="true"> <TextView android:id="@+id/txtquestion" android:layout_width="fill_parent" android:layout_height="match_parent" android:background="@drawable/abs__dialog_full_holo_light" android:lines="20" android:scrollHorizontally="false" android:scrollbars="vertical" android:textSize="15sp" /> </ScrollView> 

Просто поместите '\ n' внутри вашего текста … никакого дополнительного атрибута не требуется 🙂

  <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Pigeon\nControl\nServices" android:id="@+id/textView5" android:layout_gravity="center" android:paddingLeft="12dp"/> 

Мне не нравится решение, которое заставляет количество строк в текстовом представлении. Я скорее предлагаю вам решить его с помощью предлагаемого здесь решения. Поскольку я вижу, что OP также борется с тем, чтобы текстовое представление выглядело как правильно в таблице, а shrinkColumns – правильная директива, чтобы пройти, чтобы достичь желаемого.

Я узнал, что нужно добавить «\ n» между словами, в которых вы хотите, чтобы он затормозил в следующей строке. Например…

 <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAlignment="center" android:text="MF 9am-5pm \n By Appointment Only" /> 

\ N между 5pm и By позволило мне больше контролировать, где я хочу, чтобы моя следующая строка начиналась и заканчивалась.

Я использовал:

 TableLayout tablelayout = (TableLayout) view.findViewById(R.id.table); tablelayout.setColumnShrinkable(1,true); 

Это сработало для меня. 1 – номер столбца.

Попытайтесь работать с EditText, сделав его незаметным и нецелесообразным, также вы можете отобразить полосу прокрутки и удалить панель инструментов EditText.
Вот пример:

 <EditText android:id="@+id/my_edit_text" android:layout_width="match_parent" android:layout_height="wrap_parent" android:inputType="textMultiLine" <==> multiline android:clickable="false" <==> unclickable android:focusable="false" <==> unfocusable android:scrollbars="vertical" <==> enable scrolling vertically android:background="@android:color/transparent" <==> hide the underbar of EditText /> 

Надеюсь это поможет 🙂

Лучший ответ, который я нашел для многострочного TextView:

 android:inputType="textMultiLine" 

Почему бы вам не объявить строку вместо написания длинных строк в файле макета. Для этого вам нужно объявить строку кода в файл макета «android: text =» @ string / text »и перейти в \\ app \ src \ main \ res \ values ​​\ strings.xml и добавить строку кода «Ваш многострочный текст здесь». Также используйте «\ n», чтобы разбить строку из любой точки, иначе линия будет автоматически отрегулирована.

TextView будет многострочной, если не будет достаточно места для размещения в одной строке, а singLine не будет установлен в true.

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