软键盘挤压布局的问题

今天给一个项目加水平传感器,这个没什么难度,但是要同时传递参数,那么就需要在弹出的对话框中设置输入框,遇到一个问题

当输入框获得焦点的时候会将整个布局顶上去,或者覆盖输入框,覆盖输入框这个问题我相信很多人百度一下就可以解决了,但是一般情况下我们为了屏幕适配等问题,都会用到权重,那么输入法弹出的同时就会将整个布局顶上去

我们公司就我 一个菜鸟Android,没有大牛带,所以自己摸索了一天,把关于输入法的这块研究了一小部分,解决了这个问题,分享给大家,不废话了,上代码

 

android:windowSoftInputMode="stateHidden|adjustPan|adjustResize"

 

解释一下:

android:windowSoftInputMode="adjustResize" //输入法挡住编辑框的方案

android:windowSoftInputMode="adjustPan"      //保持布局的方案

以下是从网上一位大神处转的关于判断是否弹出

网址没记住,大神原谅!

//判断输入法是否弹出

if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STAT E_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" //不会遮挡输入框

当然,前面的设置隐藏根据情况而定,也可以不要

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值