Android之监听手机软键盘弹起与关闭
2016-02-25 14:28
337 查看
背景:
在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭。
预备知识:
在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下:
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
那么这里值的含义列表如下:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
原文在 http://blog.csdn.net/bear_huangzhen/article/details/45896333
在很多App开发过程中需要在Activity中监听Android设备的软键盘弹起与关闭,但是Android似乎没有提供相关的的监听API给我们来调用,本文提供了一个可行的办法来监听软键盘的弹起与关闭。
预备知识:
在manifest文件中可以设置Activity的android:windowSoftInputMode属性,这个属性值常见的设置如下:
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
那么这里值的含义列表如下:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
原文在 http://blog.csdn.net/bear_huangzhen/article/details/45896333
相关文章推荐
- Android service ( 二) 远程服务
- Android高级模糊技术
- Android 源码
- Android studio 修改项目列表的字体大小
- Android的快速开发框架 afinal
- 左右滑动的Tab
- android开发艺术探索学习 之 Activity的生命周期
- [Android小技巧]如何不用图片创建一个带圆角的按钮
- Android service ( 一 ) 三种开启服务方法
- Android官方下拉刷新与下拉刷新和上拉加载SwipeRefreshLayout
- Android studio 修改项目字体
- Android Fragment应用实战,使用碎片向ActivityGroup说再见
- Android MediaRecorder 录音
- Android沉浸式效果实现
- Android 内存 - 获取单个应用内存限制
- Android仿QQ和iOS的ListView左滑出现删除和置顶等操作,可自定义菜单
- 探究android:largeHeap
- 通俗理解Android中View的事件分发机制及滑动冲突处理
- Android调用摄像头
- Android应用程序的默认最大内存值