2016-06-25 5 views
5

Ich mache einen Taschenrechner und Benutzereingabe ist in EditText enthalten. Die Eingabe erfolgt über die Schaltflächen auf dem Bildschirm, sodass die Android-Tastatur deaktiviert ist. Ich möchte jedoch, dass alle Eingaben in eine Zeile geschrieben werden und wenn die Zeile den Rand erreicht, muss sie ellipsenförmig und dann horizontal gescrollt werden, damit Sie den ganzen Text erreichen können.EditText wird nicht in eine einzige Zeile schreiben

Ich habe versucht, dies zu tun, indem Sie Android: MaxLines = "1" und Android: Ellipsize = "Ende", aber das funktioniert nicht. Text ist immer noch in mehreren Zeilen, aber nur eine Zeile ist sichtbar und Sie müssen vertikal scrollen, um andere Zeilen zu sehen. Ich habe auch versucht, Android: SingleLine = "True", aber das macht EditText vollständig unbrauchbar.

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

Antwort

9

Ich denke, das wird für Sie arbeiten. Lass mich wissen ob es funktioniert.

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

Diese post könnte Ihnen auch helfen.

+5

Dieses + Android: input = "text" für mich gearbeitet. Scheint, als wäre inputType hier entscheidend. Die Verbindung, die du zur Verfügung gestellt hast, hat mir sehr geholfen. Ty – leonz

+0

Np, danke, dass Sie mich auch wissen lassen. Ich werde dann die Antwort damit aktualisieren. Froh, dass es geholfen hat! –

1

Für einzelne Zeile in EditText, müssen Sie nur zwei Eigenschaften festlegen:

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