android开发之软键盘控制
2015-12-04 16:33
543 查看
android开发中我们经常要遇到软键盘的控制。一些遇到这些问题时,总是现学现买,今天就花点时间总结一下。以后再遇到类似的问题时,看看这篇博客即可。
我觉得软键盘的控制主要是两个方面。
1. 软键盘的状态。( stateUnspecified、stateUnchanged、stateHidden、stateAlwaysHidden、stateVisible、 stateAlwaysVisible)也就是显示和隐藏。
2. 我们都知道软键盘其实就是一个对话框,当弹出软键盘时,主窗体如何调整。(adjustNothing、 adjustUnspecified、adjustResize、 adjustPan)
我今天主要是想总结软键盘的调整模式。
主要是参考了如下资料: http://www.educity.cn/wenda/180902.html http://blog.csdn.net/wang_shaner/article/details/8467688
我觉得软键盘的控制主要是两个方面。
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
相关文章推荐
- Android之View基础总结(View的事件体系一)
- Android开发周报:弹幕源码开放送
- android launcher3拖放功能深入剖析
- 【转载】Android样式的开发:View Animation篇
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
- 给 Android 开发者的 RxJava 详解
- Android开发之Tools使用
- Android动画解析2-帧动画实现
- Android Studio的使用02-Can't resolve the symblo异常
- Android调用WebService(图文教程)
- Android URI简介
- android(12)(简单学生管理系统,包括文件写入SD卡,pull解析xml文件等)
- Android 对话框(Dialog)大全
- Android调用系统自带的文件管理器进行文件选择
- Android 控件GridView的使用
- Camera和Photo相关
- LinearGradient在android开发中实现字体渐变效果实例
- Android Studio 操作记录
- Android Studio 常见问题
- android中LinearGradient线性渐变