Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 454
#1

Прокрутка текста в TextView без ScrollView - Программирование Android

22.03.2015, 01:29. Просмотров 2263. Ответов 3
Метки нет (Все метки)

В рантайме загружаю текст в TextView:
Java
1
2
String strFile = "Здесь длинная строка на 3000 символов";
MyTextView.setText(strFile);
Объем текста примерно на 3-5 экранов.
Так определены свойства TextView (скопировано из вроде как рабочих исходников):
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <TextView
        android:id="@+id/TextView_MyTextView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:autoLink="all"
        android:isScrollContainer="true"
        android:textStyle="italic"
        android:drawablePadding="5px"
        android:linksClickable="true"
        android:fadingEdgeLength="25px"
        android:fadingEdge="vertical"
        android:scrollbars="vertical"
        android:scrollbarStyle="outsideOverlay"
        android:bufferType="spannable"></TextView>
Не работает прокрутка текста. Справа виден ползунок прокрутки, но прокрутка пальцем (или мышкой в эмуляторе) НЕ работает. (Тестировал в эмуляторе и на реальном устройстве).

В чем может быть дело? Как сделать прокрутку текста в TextView без использования дополнительного компонента ScrollView?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2015, 01:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прокрутка текста в TextView без ScrollView (Программирование Android):

IsSelectable textview in ScrollView - Программирование Android
Как понятно из названия темы, у меня хватило ума втулить isSelectable textview в ScrollView. Проблема в следующем, при клике на textview (к...

TextView и ListView с единой прокруткой ScrollView(?) - Программирование Android
Всем привет, столкнулся с проблемой при одновременном отображении ListView и TextView . Не получается отобразить эти 2 блока как единый...

Автоматическая прокрутка ScrollView - Программирование Android
Имеется ScrollView, а внутри него LinearLayout, в котором находятся кнопки. Как сделать так, чтобы на тех экранах, где прокрутка нужна,...

ScrollView вертикальная прокрутка, ползунок с двух сторон - Программирование Android
Добрый день. Как реализовать прокрутку, чтоб ползунок был с двух сторон, слева и справа? Добавлено через 21 час 20 минут Воу, воу......

Прокрутка TextView по вертикали который вложен в ViewPager - Программирование Android
Дано: ViewPager, в котором находится TextView. Задача: Когда текст в TextView не вмещается на экран, он должен прокручиваться по...

Обновление текста в TextView - Программирование Android
Подскажите как лучше сделать. У меня постоянно изменяется значение переменной и ее нужно выводить. Пока что сделал так: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
22.03.2015, 09:27 #2
Java
1
2
TextView textview= (TextView) findViewById(R.id.your_textview_id);
textview.setMovementMethod(new ScrollingMovementMethod());
(с) http://stackoverflow.com/a/17871686

Добавлено через 8 минут
Модераторам: Ну-ну...не стоит приписывать мне код своими изменениями сообщения...добавил (с)
1
znseday
16 / 16 / 1
Регистрация: 20.03.2012
Сообщений: 454
22.03.2015, 18:05  [ТС] #3
Java
1
textview.setMovementMethod(new ScrollingMovementMethod());
действительно решает проблему. Возможно ли такое, что если эту строчку не добавлять, прокрутка все равно работает, но только если использовать аппаратные кнопки прокрутки? (Нет старого телефона, чтобы протестировать, а на эмуляторе кнопки почему то не работают)
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
22.03.2015, 18:18 #4
Цитата Сообщение от znseday Посмотреть сообщение
Возможно ли такое, что если эту строчку не добавлять, прокрутка все равно работает,
Не буду забиваться, но, судя по документации, - вряд ли.
Почему?
Смотрим

public final MovementMethod getMovementMethod ()

Added in API level 1
Returns
the movement method being used for this TextView. This will frequently be null for non-EditText TextViews.
и дальше

public final void setMovementMethod (MovementMethod movement)

Added in API level 1
Sets the movement method (arrow key handler) to be used for this TextView. This can be null to disallow using the arrow keys to move the cursor or scroll the view.

Be warned that if you want a TextView with a key listener or movement method not to be focusable, or if you want a TextView without a key listener or movement method to be focusable, you must call setFocusable(boolean) again after calling this to get the focusability back the way you want it.
Откуда делаем вывод, что frequently без установки setMovementMethod с не-NULL-овым MovementMethod кина не будет
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2015, 18:18
Привет! Вот еще темы с ответами:

TextView авторазмер текста - Программирование Android
android studio Textview имеет размеры 100% на 50%, заполняя половину экрана. В нем написано число, которое изменяется по нажатию на...

Выделение текста в TextView - Программирование Android
При выделении текста в TextView android:textIsSelectable=&quot;true&quot; на моем устройстве(HTC ONE X Android 4.2.2) появляется всплывающее меню,...

TextView выравнивание текста - Программирование Android
В текст в TextView по умолчанию идет выравнивание текста по левому краю. Как выровнять текст по всей ширине, как если бы в Word вы нажали...

Отображение текста (из файла) в textView - Программирование Android
В общем не могу разобраться как сделать так что бы при нажатии на кнопку (Button) в компоненте textView отображался текст, который будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.03.2015, 18:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru