Android 監聽軟鍵盤按鍵的三種方式

2021-09-09 02:19:00 字數 1988 閱讀 1858

重寫activity的dispatchkeyevent(keyevent event)方法,在其中監聽keyeventkey.keycode_enter鍵(右下角確定鍵),當此鍵按下的時候,隱藏輸入法軟鍵盤,設定edittext內容和載入webview內容。

@override

public boolean dispatchkeyevent(keyevent event

)

edittext.settext(

"success");

webview.loadurl(url);

return

true

; }

return super.dispatchkeyevent(event

); }

重寫dispatchkeyevent(keyevent event)的方法感覺有點用牛刀的感覺,因為我們非常可能在這個方法中進行其他任務,所以我們可以使用onkeylistener的方法來監聽軟鍵盤按鍵。

private onkeylistener onkeylistener = new

onkeylistener()

edittext.settext(

"success");

webview.loadurl(url);

return

true

; }

return

false

; }

};

edittext.setonkeylistener(onkeylistener);
第三種方法我認為可以幫助程式設計師更精確的判斷右下角按鍵情況,以便應對更加複雜的情況。它可以幫助程式設計師依據當前郵件下為「go」,「done」,「search」鍵的情況下做出更細分的操作。

edittext.setoneditoractionlistener(new

textview.oneditoractionlistener()

edittext.settext(

"success");

webview.loadurl(url);

return

true

; }

return

false

; }

});

android:id="

@+id/edittext

"android:layout_width="

match_parent

"android:layout_height="

wrap_content

"android:singleline="

true

"android:imeoptions="

actionsearch

"/>

actionnone : 回車鍵,按下後游標到下一行

actiongo : go,

actionsearch : 放大鏡

actionsend : send

actionnext : next

actiondone : done,確定/完成,隱藏軟鍵盤,即使不是最後乙個文字輸入框

我在寫這個demo的時候,發現了webview的乙個問題,就是直接使用webview.load(url)方法會在手機上面彈出系統瀏覽器來訪問url鏈結,而不是我們設定的webview,我找到的解決辦法就是使用webview.setwebviewclient(....)的方法來確保url會在activity的webview上面載入。

Android 軟鍵盤監聽(kotlin)

class softkeyboardlistener activity activity 根檢視顯示高度沒有變化,可以看作軟鍵盤顯示 隱藏狀態沒有改變 if rootviewvisibleheight visibleheight 根檢視顯示高度變小超過200,可以看作軟鍵盤顯示了 if rootvi...

Android App三種監聽軟鍵盤按鍵

function 1 重寫activity的dispatchkeyevent keyevent event 方法,在其中監聽keyeventkey.keycode enter鍵 右下角確定鍵 當此鍵按下的時候,隱藏輸入法軟鍵盤,設定edittext內容和載入webview內容。override pu...

Android App監聽軟鍵盤按鍵的三種方式

重寫activity的dispatchkeyevent keyevent event 方法,在其中監聽keyeventkey.keycode enter鍵 右下角確定鍵 當此鍵按下的時候,隱藏輸入法軟鍵盤,設定edittext內容和載入webview內容。1 2 3 4 5 6 7 8 9 10 1...