本人入门级菜鸟,希望大家多多交流,也希望能帮到大家!
今天给一个项目加水平传感器,这个没什么难度,但是要同时传递参数,那么就需要在弹出的对话框中设置输入框,遇到一个问题
当输入框获得焦点的时候会将整个布局顶上去,或者覆盖输入框,覆盖输入框这个问题我相信很多人百度一下就可以解决了,但是一般情况下我们为了屏幕适配等问题,都会用到权重,那么输入法弹出的同时就会将整个布局顶上去
我们公司就我 一个菜鸟Android,没有大牛带,所以自己摸索了一天,把关于输入法的这块研究了一小部分,解决了这个问题,分享给大家,不废话了,上代码
android:windowSoftInputMode="stateHidden|adjustPan|adjustResize"
解释一下:
android:windowSoftInputMode="adjustResize"//输入法挡住编辑框的方案
android:windowSoftInputMode="adjustPan" //保持布局的方案
以下是从网上一位大神处转的关于判断是否弹出
网址没记住,大神原谅!
//判断输入法是否弹出
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
//隐藏输入法
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
//弹出输入法
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
//一般大多遇到的情况都是在Activity中直接用输入法
android:windowSoftInputMode="stateHidden|adjustPan //保持布局
android:windowSoftInputMode="stateHidden|adjustResize" //不会遮挡输入框
当然,前面的设置隐藏根据情况而定,也可以不要
希望能帮到大家,谢谢!