打开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源码中查看注释,如
例图大致意思是不会需要处理resize,但是会保证输入控件可见
2,在manifest.xml中给activity配置
what the hell
网友评论