2018-06-25 取消EditText默认打开软件盘

打开activity的时候,如果一个EditText默认持有焦点,这时候软键盘如约而至了。这种行为没毛病,但是如果是一个以数据显示为主的页面,进来就打开软件盘就很烦人了。所以,个人建议,不管是编辑型页面还是查看型页面,软件盘都不要自动打开,而是等待用户点击EditText等编辑区。

1、通过在activity的onCreate中设置软件盘的状态,设置软键盘模式,如

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE|WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); //会造成页面重绘,控件重新摆放

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);//不会造成重会。

关于SoftInputMode,可以进入到SDK源码中查看注释,如

2018-06-25 取消EditText默认打开软件盘_第1张图片
例图

大致意思是不会需要处理resize,但是会保证输入控件可见

2,在manifest.xml中给activity配置


2018-06-25 取消EditText默认打开软件盘_第2张图片
what the hell

你可能感兴趣的:(2018-06-25 取消EditText默认打开软件盘)