android开发之软键盘控制

android开发中我们经常要遇到软键盘的控制。一些遇到这些问题时,总是现学现买,今天就花点时间总结一下。以后再遇到类似的问题时,看看这篇博客即可。

我觉得软键盘的控制主要是两个方面。

1. 软键盘的状态。( stateUnspecified、stateUnchanged、stateHidden、stateAlwaysHidden、stateVisible、 stateAlwaysVisible)也就是显示和隐藏。

2. 我们都知道软键盘其实就是一个对话框,当弹出软键盘时,主窗体如何调整。(adjustNothing、 adjustUnspecified、adjustResize、 adjustPan)


我今天主要是想总结软键盘的调整模式。


一、adjustNothing

这种模式,就是不调整的意思。不管在edittext所在的布局中是否含有带滚动的view,这种模式下窗体都是不调整的。如果是这样的话,导致的结果输入框可能被软键盘遮盖。

二、adjustUnspecified

    这种模式下,可能是一种平移模式(adjustPan),也有可能是一种压缩模式(adjustResize)。当这个edittext所在的布局中含有能滚动的view时,比如是listview,scrollview,那么adjustUnspecified就表现出一种压缩模式。否则就是一种平移模式。

三、adjustResize

    是一种压缩模式。会改变edittext所在的布局的高度。从而是导致父布局的onsizechange方法被执行。有一点要特别注意,当edittext所在的布局中含有listview,事实上这中布局结构很常见,当软键盘弹起和收起时,会导致listview的高度发生改变,就会出现 notifyDataSetChanged的效果,getview方法就会调用。

四、adjustPan

   是一种平移模式。当软键盘弹起时,当前的edittext所有的布局会上移。但父布局的onsizechange的方法不会被调用的。

主要是参考了如下资料:
http://www.educity.cn/wenda/180902.html
 http://blog.csdn.net/wang_shaner/article/details/8467688
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值