Ich habe eine TextView als Anzeige eingestellt. Ich möchte die ausgeführte Operation in einer Zeile anzeigen, zum Beispiel:
9856243187 + 2457896123 - 214583
Das Problem ist, wenn die Eingabe den Rand der Textansicht erreicht - springt sie zur nächsten Zeile.
Gibt es also überhaupt ein Verhalten, um dieses Verhalten zu vermeiden und die Eingabe in einer Zeile zu halten, auch wenn sie den Bildschirm verlässt?
Sie sollten Android:maxLines="1"
in Ihrem TextView-Tag verwenden. Android:singleLine="true"
ist veraltet .
Android:singleLine="true"
ist die Antwort
Update:
Das Android:singleLine
-Attribut wurde seit API Level 3 nicht mehr unterstützt
Android:maxLines="1"
Für neue Benutzer, die diese Frage sehen, verwenden Sie Android:singleLine="true"
. Verwerfungswarnungen ignorieren.
Gemäß diesem Fehlerbericht kann die Einstellung von Android:maxLines="1"
zum Absturz Ihrer Anwendung führen, wenn auch bestimmte Werte in Android:ellipsize
festgelegt werden. Anscheinend betrifft dies die meisten Android-Geräte, auf denen 4.1 Jellybean bis 6.0.1 Marshmallow läuft (behoben in 7.0 Nougat). Abhängig von Ihrem Gerät kann Ihre Laufleistung variieren. Wenn Sie als Entwickler jedoch auf eine Vielzahl von Geräten abzielen, sollten Sie am besten Android:singleLine="true"
verwenden, um Abstürze zu vermeiden.
fügen Sie den Code in Ihre Textansicht ein
Android:singleLine="true"
Setzen Sie die Textansicht auf Singeline.
Schauen Sie sich this an.
Dieser Code hat für mich funktioniert:
Android:singleLine="true"
Danke Jungs Single Line hat die Tricks gemacht, aber ich musste auch die Ellipsis entfernen:
Android:ellipsize="none"
Wenn Sie Ihren einzeiligen Inhalt manuell scrollen möchten, sollten Sie TextView in HorizontalScrollView verwenden
<HorizontalScrollView
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:paddingBottom="16dp"
Android:paddingTop="16dp"
Android:scrollHorizontally="true"
Android:singleLine="true"
Android:text="Single line text view that scrolls automatically if the text is too long to fit in the widget" />
</HorizontalScrollView>
Kannst du es bitte versuchen?
<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"/>
Hoffe, das wird dir helfen.