web-dev-qa-db-fra.com

EditText n'écrira pas sur une seule ligne

Je fais une calculatrice et la saisie de l'utilisateur est contenue dans EditText. La saisie se fait à l’aide de boutons à l’écran, le clavier Android est donc désactivé. Cependant, je souhaite qu'il écrive toutes les entrées sur une seule ligne. Lorsque cette dernière atteint la limite, elle doit être ellipsée, puis défilable horizontalement pour vous permettre d’atteindre le texte intégral.

J'ai essayé de le faire en configurant Android: maxLines = "1" et Android: ellipsize = "end", mais cela ne fonctionne pas. Le texte est toujours composé de plusieurs lignes, mais une seule ligne est visible et vous devez faire défiler verticalement pour voir les autres lignes. J'ai aussi essayé d'utiliser Android: singleLine = "true", mais cela rend EditText complètement inutilisable.

Ceci est EditText XML:

<EditText
     Android:id="@+id/textView"
     Android:layout_width="match_parent"
     Android:layout_height="match_parent"
     Android:layout_gravity="end"
     Android:background="@color/colorBlue"
     Android:textAlignment="textEnd"
     Android:textSize="40sp" />
8
leonz

Je pense que cela fonctionnera pour vous. Laissez-moi savoir si cela fonctionne.

<EditText
 Android:id="@+id/textView"
 Android:layout_width="match_parent"
 Android:layout_height="match_parent"
 Android:layout_gravity="end"
 Android:background="@color/colorBlue"
 Android:textAlignment="textEnd"
 Android:textSize="40sp"
 Android:inputType="text" 
 Android:maxLines="1"
 Android:lines="1"
 Android:scrollHorizontally="true"
 Android:ellipsize="end"/>

Ce post pourrait aussi vous aider. 

12
Charles Li

Pour une seule ligne dans EditText, il vous suffit de définir deux propriétés:

Android:inputType="text" 
Android:maxLines="1"
3
SANAT

L'ajout de cette ligne dans l'edittext rend le texte singleline défilable. Android:inputType="textShortMessage"

0
pz64_
**This example helps you to create multiline EditText in Android.**  

<RelativeLayout
        xmlns:Android="http://schemas.Android.com/apk/res/Android"
        xmlns:tools="http://schemas.Android.com/tools"
        Android:id="@+id/rl"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:padding="10dp"
        tools:context=".MainActivity"
        >

        <!--

            Android:scrollbars="vertical"
                It will display a vertical scrollbar if the EditText text exceed
                3 lines (Android:maxLines).
        -->
        <EditText
            Android:id="@+id/et"
            Android:layout_width="250dp"
            Android:layout_height="wrap_content"
            Android:padding="10dp"
            Android:layout_marginBottom="10dp"
            Android:hint="Multiline EditText by XML layout"
            Android:fontFamily="sans-serif-condensed"
            Android:background="#d3d7b6"
            Android:minLines="2"
            Android:maxLines="3"
            Android:scrollbars="vertical"
            Android:inputType="textMultiLine"
            />
        <EditText
            Android:id="@+id/et2"
            Android:layout_width="250dp"
            Android:layout_height="wrap_content"
            Android:padding="10dp"
            Android:fontFamily="sans-serif-condensed"
            Android:hint="Multiline EditText programmatically"
            Android:background="#d4d7a5"
            Android:layout_below="@+id/et"
            />
    </RelativeLayout>
0
Vishal Sharma