私はそこにチャット機能を提供するアプリを作成しています。 OnKeyListenerを設定した画面にEditTextがあります。メッセージを入力した後、ユーザが「Enter」キーを押すと、そのメッセージが画面に表示されます。それはうまく動作します。ここに私のEditTextです:EditTextで意図的に新しい行に移動するには?
<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>
ユーザーはのEditTextがテキストをラップし、新しい行に行く前に新しい行に移動したいときに問題があります。ユーザーが改行してEnterキーを押すと、メッセージが送信されます。
チャットメッセンジャーでは、「Shift + Enter」(または他のキーの組み合わせ)を同時に押すと、ユーザーが新しい行に移動することがわかりました。 Androidで同時に押された「Shift + Enter」(または他のキーの組み合わせ)キーを検出するにはどうすればよいですか? Androidでこの機能を実現する方法はありますか?あなたのOnKeyListener
方法で
を行きますクリックしてsimultanえ?すべてのコードスニペット? –
'if((event.getAction()== KeyEvent.ACTION_DOWN) \t \t \t &&(keyCode == KeyEvent)KEYCODE_ENTER)){ \t \t \t //あなたの送信機能 \t \t \tリターンはtrue。 }そうであれば((event.getAction()== KeyEvent.ACTION_DOWN) \t \t \t &&(のkeyCode == KeyEvent.KEYCODE_ENTER \t \t \t \t \t &&のkeyCode ==(KEYCODE_SHIFT_LEFT || KEYCODE_SHIFT_RIGHT))){ //新しい行機能 がtrueを返します。 } '
コードがコンパイルされていないか、構文エラーが含まれている可能性があります。 Shiftの代わりに、LongPressをEnterに使用して、「改行」機能を実現することもできます。 – Chand51
KeyEventおよびlong pressイベントについては、http://developer.android.com/reference/android/view/KeyEvent.html – Chand51