Android软键盘使用及输入法挡住输入框的问题解决

在Android的开发中,有时候会遇到软键盘弹出时挡住输入框的情况。这时候可以设置下软键盘的模式就可以了。

有两个版本解决:
1.直接用代码修改输入模式:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
或直接:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
2.在AndroidManifest.xml中的activity标签中设置windowSoftInputMode。

上述属性的设置主要做两个事情:
1.软键盘状态,隐藏/显示;
2.窗口是否调整;

关于软键盘状态可以设置的值有:
1.stateUnspecified
不指定软键盘的状态(是否它是隐藏或显示),系统将选择一个合适的状态或依赖于主题的设置;软件盘状态的默认设置;

2.stateUnchanged
Activity获得焦点时,软件盘保持前面的状态,无论是隐藏还是显示;

3.stateHidden
正常情况下,Activity获得焦点时,软键盘是隐藏状态;

4.stateAlwaysHidden
当该主窗口获得焦点时,软键盘总是被隐藏;

5.stateVisible
正常情况下,Activity获得焦点时,软件盘是显示状态;

6.stateAlwaysVisible
该主窗口获得焦点时,软键盘总是显示状态。

关于窗口状态可以设置的值有:
1.adjustUnspecified
默认设置,不指定主窗口是否调整以适合软键盘输入,由系统决定干什么;

2.adjustResize
调整主窗口,也就是挤压窗口界面,将窗口调整到软件盘之上;

3.adjustPan
不调整窗口,显示到状态上就是软键盘会覆盖主窗口的下半部分;

注:上述两种值的设置用“|”隔开!

对于非Activity的窗口,可以通过setSoftInputMode()来设置上述属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值