it-swarm.com.de

Festlegen einer TextView, um Text in einer Zeile in Android anzuzeigen

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?

15
Toni Joe

Sie sollten Android:maxLines="1" in Ihrem TextView-Tag verwenden. Android:singleLine="true" ist veraltet

46
Copacel
Android:singleLine="true"

ist die Antwort

Update:  

Das Android:singleLine-Attribut wurde seit API Level 3 nicht mehr unterstützt

Android:maxLines="1"
11
Ravi Rupareliya

tl; dr:

Für neue Benutzer, die diese Frage sehen, verwenden Sie Android:singleLine="true". Verwerfungswarnungen ignorieren.

Erläuterung

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.

7

fügen Sie den Code in Ihre Textansicht ein 

Android:singleLine="true"
3
sasikumar

Setzen Sie die Textansicht auf Singeline.

Schauen Sie sich this an.

2
EE66

Dieser Code hat für mich funktioniert:

Android:singleLine="true"
1
Maryam Azhdari

Danke Jungs Single Line hat die Tricks gemacht, aber ich musste auch die Ellipsis entfernen:

Android:ellipsize="none"
1
Toni Joe

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>
1
Kishan Vaghela

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.

0
Hiren Patel