Android软键盘处理

    /***
     * 获取导航栏的高度
     * @return
     */
    private int getNavigatorBarHeight() {
        int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");
        int height = getResources().getDimensionPixelSize(resourceId);
        return height;
    }

    /****
     * @return true为显示软键盘 false为显示软键盘
     */
    private boolean isShowKeyboard(){
        int screenHeight = getWindow().getDecorView().getHeight();
        Rect rect = new Rect();
        getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
        return  !(screenHeight <= (rect.bottom+getNavigatorBarHeight()));
    }

    /***
     * 隐藏软件
     */
    private void hideKeyboard(){
        InputMethodManager inputMethodManager =  ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE));
        inputMethodManager.hideSoftInputFromWindow(ContactsActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }

以上代码在LG、三星、Vovi、华为手机上一验证,欢迎纠正

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容