web-dev-qa-db-fra.com

Comment configurer un TextView pour qu'il affiche le texte sur une seule ligne sous Android

J'ai défini un TextView comme affichage. Je souhaite afficher l'opération en cours sur une ligne, par exemple:

9856243187 + 2457896123 - 214583

Le problème est que, lorsque l'entrée atteint le bord de TextView, elle passe à la ligne suivante.

Donc, y a-t-il un moyen d'éviter ce comportement et de conserver l'entrée sur une seule ligne, même si elle sort de l'écran?

15
Toni Joe

Vous devez utiliser Android:maxLines="1" dans votre balise TextView. Android:singleLine="true" est obsolète

46
Copacel
Android:singleLine="true"

est la réponse

Mettre à jour :  

L'attribut Android:singleLine est déconseillé depuis le niveau 3 de l'API, vous pouvez utiliser

Android:maxLines="1"
11
Ravi Rupareliya

tl; dr:

Pour les nouveaux utilisateurs qui voient cette question, utilisez Android:singleLine="true". Ignorer les avertissements de dépréciation.

Explication

Selon ce rapport de bogue , la définition de Android:maxLines="1" peut entraîner le blocage de votre application lorsque des valeurs spécifiques sont également définies dans Android:ellipsize. Apparemment, cela affecte la plupart des appareils Android exécutant la version 4.1 Jellybean à la version 6.0.1 Marshmallow (corrigé dans la version 7.0 Nougat). Selon votre appareil, votre kilométrage peut varier. Toutefois, si, en tant que développeur, vous ciblez un large éventail de périphériques, il est préférable d’utiliser Android:singleLine="true" afin d’éviter les pannes.

7
Jonathan Precise

ajoutez le code dans votre Textview 

Android:singleLine="true"
3
sasikumar

Définissez le TextView sur singeline.

Regardez this

2
EE66

Ce code a fonctionné pour moi:

Android:singleLine="true"
1
Maryam Azhdari

Merci les gars simple ligne a fait les tours, mais je devais aussi supprimer les Ellipsis:

Android:ellipsize="none"
1
Toni Joe

Si vous souhaitez faire défiler manuellement le contenu d'une seule ligne, vous devez utiliser TextView dans HorizontalScrollView.

<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

Pouvez-vous s'il vous plaît essayer celui-ci?

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

J'espère que ceci vous aidera.

0
Hiren Patel