Ich erstelle eine App, die Chat-Funktionalität darin bietet. Es gibt einen EditText auf dem Bildschirm, auf dem ich OnKeyListener eingestellt habe. Wenn der Benutzer nach dem Eingeben der Nachricht die Eingabetaste drückt, wird die Nachricht auf dem Bildschirm angezeigt. Es funktioniert gut. Hier ist meine EditText:Wie absichtlich zu einer neuen Zeile in einem EditText gehen?
<EditText android:id="@+id/chatMessageField"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginRight="5dip" android:layout_marginLeft="5dip"
android:maxLines="2" android:minLines="1" android:scrollbars="vertical"
android:hint="@string/chatMessageHintText" android:textColorHint="#3b64a8">
</EditText>
Das Problem ist, wenn Benutzer neue Linie gehen will, bevor die EditText den Text wickelt und geht in neue Zeile. Wenn der Benutzer nun zu einer neuen Zeile wechseln möchte und die Eingabetaste drückt, wird die Nachricht gesendet.
In einigen Chat-Nachrichten habe ich gesehen, dass das Drücken von "Shift + Enter" (oder eine andere Tastenkombination) gleichzeitig den Benutzer zu einer neuen Zeile führt. Wie können wir Tasten "Shift + Enter" (oder eine andere Tastenkombination) gleichzeitig in Android drücken? Gibt es eine Möglichkeit, diese Funktionalität in Android zu erreichen?
gehen Wie werde ich für Shift überprüfen und Enter-Taste klickte simultan ? Irgendein Codeausschnitt? –
'if ((event.getAction() == KeyEvent.ACTION_DOWN) \t \t \t && (Schlüsselcode == SchlüsselEreignis.KEYCODE_ENTER)) { \t \t \t // Ihre Send-Funktionalität \t \t \t return true; } else if ((event.getAction() == KeyEvent.ACTION_DOWN) \t \t \t && (keyCode == KeyEvent.KEYCODE_ENTER \t \t \t \t \t && keyCode == (KEYCODE_SHIFT_LEFT || KEYCODE_SHIFT_RIGHT))) { ///Ihre neue Leitungsfunktionalität return true; } '
Code ist nicht kompiliert, kann Syntaxfehler enthalten, für die Funktionalität dargestellt. Anstelle von Shift können Sie auch LongPress für die Eingabe verwenden, um die "neue Zeile" -Funktionalität zu erreichen. – Chand51
Für KeyEvent und langes Drücken Ereignis, siehe http://developer.android.com/reference/android/view/KeyEvent.html – Chand51