/ / Jak ustawić długi ciąg w widoku tekstowym w jednym wierszu z przewijaniem poziomym - Android

Jak ustawić długi ciąg w widoku tekstowym w jednej linii z poziomym przewijaniem - Android

właściwie mam jeden widok przewijania. Wewnątrz tego przewijania ustawiam jeden widok tekstu w czasie wykonywania Chcę ustawić tekst w tym widoku tekstu. Ciąg, który zamierzam ustawić, jest trochę tak duży, że nie mogłem uzyskać ciągu w jednym wierszu i mogę uzyskać ciąg dwóch lub trzech wierszy. Rozmiar mojego układu widoku przewijania wynosi 250 pikseli. Nie chcę przekraczam ten rozmiar ... Oczekuję, że chcę zobaczyć ten ciąg w tym przewijanym widoku jako pojedynczy wiersz, jeśli ciąg przekracza rozmiar przewijania, powinien przewijać się poziomo w widoku tekstowym. Próbowałem niektórych funkcji, takich jak ustawianie przewijania w poziomie do przewijania i widoku tekstowego ale nic nie działa. Proszę, pomóżcie mi rozwiązać ten problem.

urs,

s.kumaran.

Odpowiedzi:

5 dla odpowiedzi № 1

musisz użyć tych dwóch atrybutów Xml w widżecie TextView:

android:scrollHorizontally="true"

android:singleLine="true"

Więc twój układ xml musi zawierać coś takiego:

<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"/>

możesz uzyskać odpowiednią metodę dla tych atrybutów, jeśli tworzysz TextView z kodem, patrz Dokumentacja TextView :

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

3 dla odpowiedzi № 2

Spróbuj tego ,,

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

gdzie dodałeś widok tekstowy .. Wewnątrz widoku przewijania możemy dodać tylko jeden widok ...


2 dla odpowiedzi nr 3

Brać Widok tekstu i HorizontalScrollView. Wystarczy umieścić widok tekstu w widoku HorizontalScrollView. I tak, pamiętajcie o tym android:singleLine="true" wewnątrz TextView.


1 dla odpowiedzi nr 4

Miałem ten sam problem z TextView wewnątrztabela i nic tutaj szczegółowo nie rozwiązało, że nie przewijałaby się ona w poziomie (automatycznie, co może nie być pożądanym efektem z OP, ale jest dość niejasne).

Porównując niektóre działające kody, odkryłem, że TextView musi być wybrany do przewijania, aby rozpocząć:

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

Wydaje się szalony, ale działa.


0 dla odpowiedzi № 5

dla mnie ta jedna linia w pliku XML EditText wystarczyła:

android:singleLine="true"