5

チャット機能を提供するアプリを作成しています。OnKeyListener を設定した EditText が画面に表示されます。ユーザーがメッセージを入力した後に「Enter」キーを押すたびに、メッセージが画面に投稿されます。それは正常に動作します。これが私の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 でこの機能を実現する方法はありますか?

4

4 に答える 4

5

これを試してみてください... 役立つかもしれません。

EditText の入力を次のように設定します。

youredittext.setInputType(EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE);

それから加えて:

android:singleLine="false"

また

youredittext.setSingleLine(false);

こちらもどうぞ

于 2012-11-02T07:06:31.373 に答える
4

メソッドでは、OnKeyListenercheck forEnterShift Enterを使用し、 と の個別の機能をそれぞれ提供しSendますNew Line

于 2012-11-02T06:26:53.780 に答える
1

あなたの解決策を探している間、私はこのリンクを手に入れました。それを試してみてくださいそれはあなたの問題を解決するかもしれません。

そして、あなたが得た他の最良の方法を投稿してください、これは非常に有用で良い質問です..、。

ありがとう..、。

編集......................

カスタムショートカットの使用方法については、このリンクも参照してください。

于 2012-11-02T06:54:59.493 に答える
0

ここで「OnKeyListener」メソッドを設定できます。キーごとに、次のように機能を提供できます。

editText.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
    switch(keyCode) {
        case KeyEvent.KEYCODE_0:
            //handle code for pressing 0
            break;
        case KeyEvent.KEYCODE_1
            //handles code for pressing 1
        default:
            break;
    }
}
});

シフトのコードを検索して入力してみてください

動作する場合があります。楽しむ。

于 2012-11-02T06:47:27.670 に答える