2016-06-25 17 views
5

Sto facendo una calcolatrice e l'input dell'utente è contenuto in EditText. L'input viene digitato attraverso i pulsanti sullo schermo, quindi la tastiera Android è disabilitata. Tuttavia, voglio che scriva tutto l'input in una riga e quando la linea raggiunge il bordo, deve essere ellittica e quindi scorrevole orizzontalmente in modo da poter raggiungere l'intero testo.EditText non scrive in una riga singola

Ho provato a farlo impostando android: maxLines = "1" e android: ellipsize = "end", ma questo non funziona. Il testo è ancora su più righe, ma solo una linea è visibile ed è necessario scorrere verticalmente per vedere altre linee. Ho anche provato ad usare android: singleLine = "true", ma questo rende EditText completamente inutilizzabile.

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

risposta

9

Penso che questo sarà il lavoro per voi. Fammi sapere se funziona.

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

Questo post potrebbe essere d'aiuto.

+5

Questa + android: InputType = "text" ha lavorato per me. Sembra che inputType sia cruciale qui. Il link che mi hai fornito mi ha aiutato molto. Ty – leonz

+0

Np, grazie per avermelo fatto sapere. Aggiornerò la risposta con esso allora. Sono contento che ci abbia aiutato! –

1

Per singola linea in EditText, basta impostare due proprietà:

android:inputType="text" 
android:maxLines="1"