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

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

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

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

22.03.2015, 01:29. Просмотров 1691. Ответов 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?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2015, 01:29     Прокрутка текста в TextView без ScrollView
Посмотрите здесь:

Прокрутка TextView по вертикали который вложен в ViewPager Android
TextView и ListView с единой прокруткой ScrollView(?) Android
Android Вставка текста из файла в TextView
Android TextView выравнивание текста
Android Динамическое изменение текста в TextView
Android Выделение текста в TextView
ScrollView вертикальная прокрутка, ползунок с двух сторон Android
Android Анимация печатания текста в TextView
TextView авторазмер текста Android
IsSelectable textview in ScrollView Android
Автоматическая прокрутка ScrollView Android
Выравнивание текста в TextView по ширине Android

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

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

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

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