博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android弹出和关闭软键盘
阅读量:3977 次
发布时间:2019-05-24

本文共 903 字,大约阅读时间需要 3 分钟。

之前的写法有问题,这里记下免得以后再用错:

/**     * 显示键盘     *     * @param et 输入焦点     */    public void showInput(final EditText et) {        et.requestFocus();        InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);        imm.showSoftInput(et, InputMethodManager.SHOW_IMPLICIT);    }    /**     * 隐藏键盘     */    protected void hideInput() {        InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);        View v = getWindow().peekDecorView();        if (null != v) {            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);        }    }

另外,避免软键盘弹出会覆盖底部控件的方法是在布局文件根布局加上一个属性:

android:fitsSystemWindows="true"

设置默认不弹出键盘:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);// 设置默认键盘不弹出

注意:最新发现,隐藏软键盘不可以放在onDestroy()方法里面执行,而应该放在finish()方法之前执行,否则会出现隐藏后又弹出的奇怪问题。

 

 

转载地址:http://oorki.baihongyu.com/

你可能感兴趣的文章
操作系统:进程/线程同步的方式和…
查看>>
Makefile的编写
查看>>
Makefile的编写
查看>>
C语言常用算法
查看>>
Linux设备驱动调试技术 2
查看>>
Linux设备驱动调试技术 3
查看>>
系统处理 IRQ_EINT0 IRQ_EIN…
查看>>
系统处理 IRQ_EINT0 IRQ_EIN…
查看>>
misc_register和register_ch…
查看>>
misc_register和register_ch…
查看>>
misc_register和register_ch…
查看>>
misc_register和register_ch…
查看>>
platform设备添加流程(转载)
查看>>
platform设备添加流程(转载)
查看>>
GCC编译关键字“__attribute_…
查看>>
GCC编译关键字“__attribute_…
查看>>
Linux对I/O端口资源的管理( …
查看>>
Linux对I/O端口资源的管理( …
查看>>
[转载]Linux内核中的platfor…
查看>>
顺序和屏障 收藏
查看>>