標籤:
自動彈出軟鍵盤
editText = (EditText) findViewById(R.id.edit_text); editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); InputMethodManager imm = imm.showSoftInput( edtsearch_title, InputMethodManager.RESULT_SHOWN); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
關閉軟鍵盤
//方法1: ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow( getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);//方法2: InputMethodManager imm = (InputMethodManager) view.getContext() .getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive()) { imm.hideSoftInputFromWindow(view.getApplicationWindowToken(), 0);
如何擷取軟鍵盤的高度
final RelativeLayout myLayout = (RelativeLayout)findViewById(R.id.rootview); myLayout.getViewTreeObserver(). addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { /** * the result is pixels */ @Override public void onGlobalLayout() { Rect r = new Rect(); myLayout.getWindowVisibleDisplayFrame(r); int screenHeight = myLayout.getRootView().getHeight(); int heightDifference = screenHeight - (r.bottom - r.top); Log.e("Keyboard Size", "Size: " + heightDifference); //boolean visible = heightDiff > screenHeight / 3; } });
參考
http://stackoverflow.com/questions/13534365/getting-the-dimensions-of-the-soft-keyboard
http://stackoverflow.com/questions/18435112/how-to-get-android-soft-keyboard-height
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android修鍊之道—擷取軟鍵盤的高度