我正在創建一個提供聊天功能的應用程序。屏幕上有一個EditText,我在其中設置了OnKeyListener。無論何時用戶在輸入消息後按下「Enter」鍵,消息都會顯示在屏幕上。它工作正常。這是我的EditText:當用戶想要去新線的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>
的問題。現在,如果用戶想要轉到新行並按下「Enter」鍵,則會發送消息。
在一些聊天messangers,我已經看到,按下「Shift + Enter鍵」(或任何其它組合鍵)同時將用戶帶到新行。我們如何檢測Android中同時按下的「Shift + Enter」(或任何其他鍵組合鍵)?有什麼辦法可以在Android中實現這個功能嗎?
我將如何檢查Shift鍵和回車鍵點擊simultan eously?任何代碼片段? –
'如果((event.getAction()== KeyEvent.ACTION_DOWN) \t \t \t &&(鍵代碼== KeyEvent的。KEYCODE_ENTER)){ \t \t \t //你的發送功能 \t \t \t迴歸真實; }否則如果 ((event.getAction()== KeyEvent.ACTION_DOWN) \t \t \t &&(鍵代碼== KeyEvent.KEYCODE_ENTER \t \t \t \t \t &&鍵代碼==(KEYCODE_SHIFT_LEFT || KEYCODE_SHIFT_RIGHT))){ //你的新行功能 返回true; } '
代碼未編譯,可能包含語法錯誤,提供功能。除了Shift之外,您還可以使用LongPress來輸入「新行」功能 – Chand51
對於KeyEvent和長按事件,請參閱http://developer.android.com/reference/android/view/KeyEvent.html – Chand51