解决Activity内控件,当使用软键盘时,会着顶上去的解决方案

我们在开发过程中,经常会使用到布局内输入控件如:EditText等,如果不设置Window参数,EditText下方的控件就会被键盘顶上去。很奇怪,试了N次,才发现,原来Activity的Window属性没设置,导致键盘顶获得焦点以下的控件全部被顶上去。

经过多次试验,得出结论:解决这个问题不外乎两种方法:一是通过配置文件来配,别一种方法则是用代码的方式实现。下面我们来解决。

第一种方法:配置文件更改

在AndroidManifest.xml文件中进行配置属性就可以解决。

<activity android:name=".MainActivity" android:windowSoftInputMode="adjustPan|stateHidden"></activity>

android:windowSoftInputMode实际上是Activity中窗体(Window)的输入模式,其有很详细的解释,相信很多人都可以在很多博客上找得到,为减少文字输入,请参考"明轩子博客”,标题为:android:windowSoftInputMode属性详解

第二种方法:代码实现

就是在Activity.OnCreate方法内输入如下语句:

 this.getWindow().setSoftInputMode(

WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN

 | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);就可以解决这个问题。


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值