Как установить длинную строку в текстовом представлении в одной строке с горизонтальной прокруткой

На самом деле у меня есть один прокрутка. Внутри этого прокрутки я установил одно текстовое представление во время выполнения. Я хочу установить текст в этом текстовом представлении. Строка, которую я собираюсь установить, – это какая-то большая длина, поэтому я не мог получить строку в одной строке, и я могу получить свою строку две или три строки. Размер ширины макета прокрутки составляет 250 пикселей. Я не хочу превышать этот размер … Мое ожидание: я хочу видеть, что строка внутри этого scrollview как одна строка, если строка превышает размер прокрутки, тогда она должна горизонтально прокручиваться в текстовом представлении. Я пробовал некоторые функции, такие как установка горизонтального прокрутки в scrollview и textview, но ничего не получается. Pls поможет мне решить эту проблему.

Урс,

s.kumaran.

Вы должны использовать эти два атрибута Xml в своем виджете TextView:

android:scrollHorizontally="true"

android:singleLine="true"

Поэтому ваш xml-макет должен содержать что-то вроде этого:

 <TextView android:text="Single-line text view that scrolls automatically if the text is too long to fit in the widget" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit ="marquee_forever" android:focusable="true" android:focusableInTouchMode="true" android:scrollHorizontally="true" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 

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

 setHorizontallyScrolling(boolean) setTransformationMethod(TransformationMethod) setMarqueeRepeatLimit(int) 

попробуй это ,,

TextView.setHorizontallyScrolling (true) TextView.setLines (1);

Где вы добавили текст. В scrollview мы можем добавить только одно представление …

Возьмите TextView и HorizontalScrollView . Просто поместите текст в HorizontalScrollView. И да, не забудьте упомянуть android:singleLine="true" внутри TextView.

Для меня эта одна строка в редакторе EditText достаточно:

 android:singleLine="true" 

У меня была та же проблема с TextView внутри таблицы, и ничто подробное здесь не решило, что она не будет прокручиваться по горизонтали (автоматически, что может не быть желаемым эффектом от OP, но это неясно).

Сравнивая некоторый код, который действительно работал, я обнаружил, что TextView должен быть выбран для запуска прокрутки:

 TextView text_view = new TextView(context); text_view.setLines(1); text_view.setHorizontallyScrolling(true); text_view.setMarqueeRepeatLimit(-1); // At this point the view is not scrolling! ... text_view.setSelected(true); // Get scrolling to start 

Кажется сумасшедшим, но он работает.