Android 软键盘自动弹出与关闭

在我们写修改信息或者搜索,修改密码等界面的时候,用户进入这个界面的主要目的就是输入修改/查找 某些信息,为了用户体验应该自动弹出软键盘而不是让用户主动点击输入框才弹出。
1.软键盘的自动弹出
private void showKeyboard(){
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.showSoftInput(editText, 0);
}
对于界面比较复杂的情况的时候,软键盘可能无法正常的弹出,需要延迟加载。即在界面加载完成之后,弹出软键盘
1.1 使用 定时器 schedule
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
}
}, 998);
1.2 使用 handler
2.软键盘的关闭
我遇到过一种情况是,首页是scrollView 包裹的界面,滚动一段距离后进入下一个页面,会弹出软键盘,当关闭该界面的时候(即直接 finish()),回到首页的时候,scrollView 不是原来的位置了。处理办法就是 在有软键盘弹出的页面,先关闭软键盘,再 finish()界面。
private void closeKeyboard() {
View view = getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
3.软键盘把某些布局挤上去了的情况
<activity
android:name=".activity.DetailActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan"
android:theme="@style/AppTheme.NoActionBar.Translucent"/>
主要就是 windowSoftInputMode 这个属性,其中2个比较重要的是 adjustPan 和 adjustResize
adjustPan 不会把底部的布局给挤上去,例如relateLayout 布局中 放到bottom 的布局
adjustResize 是自适应的,会把底部的挤上去。
更详细的可以了解下 windowSoftInputMode 这个属性,好多大神的博客上都有说明,我这就不赘述了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# 软键盘自动弹出与关闭
# 软键盘
# 软键盘弹出与关闭如何实现
# 解析android中隐藏与显示软键盘及不自动弹出键盘的实现方法
# Android软键盘弹出时的界面控制方法
# Android WebView无法弹出软键盘的原因及解决办法
# Android 软键盘弹出时把原来布局顶上去的解决方法
# Android判断软键盘弹出并隐藏的简单完美解决方法(推荐)
# Android软键盘显示模式及打开和关闭方式(推荐)
# Android之软键盘自动弹出和关闭【代码分享】
# 弹出
# 自动弹出
# 会把
# 首页
# 的是
# 加载
# 都有
# 去了
# 就不
# 我这
# 希望能
# 大神
# 谢谢大家
# 即在
# 无法正常
# 遇到过
# 输入框
# 自适应
# 解下
# 而不是
相关文章:
如何通过VPS搭建网站快速盈利?
小建面朝正北,A点实际方位是否存在偏差?
中山网站推广排名,中山信息港登录入口?
七夕网站制作视频,七夕大促活动怎么报名?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
建站主机选虚拟主机还是云服务器更好?
如何快速建站并高效导出源代码?
如何在建站之星网店版论坛获取技术支持?
如何快速登录WAP自助建站平台?
如何彻底卸载建站之星软件?
如何在腾讯云服务器快速搭建个人网站?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
如何在建站之星绑定自定义域名?
表情包在线制作网站免费,表情包怎么弄?
大连网站制作公司哪家好一点,大连买房网站哪个好?
如何通过虚拟机搭建网站?详细步骤解析
公众号网站制作网页,微信公众号怎么制作?
高端网站建设与定制开发一站式解决方案 中企动力
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
C++时间戳转换成日期时间的步骤和示例代码
如何快速搭建二级域名独立网站?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
桂林网站制作公司有哪些,桂林马拉松怎么报名?
网站制作报价单模板图片,小松挖机官方网站报价?
浅析上传头像示例及其注意事项
成都网站制作报价公司,成都工业用气开户费用?
如何通过可视化优化提升建站效果?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
网站制作难吗安全吗,做一个网站需要多久时间?
网站制作公司排行榜,抖音怎样做个人官方网站
如何解决VPS建站LNMP环境配置常见问题?
购物网站制作公司有哪些,哪个购物网站比较好?
香港服务器选型指南:免备案配置与高效建站方案解析
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
nginx修改上传文件大小限制的方法
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
无锡营销型网站制作公司,无锡网选车牌流程?
如何挑选最适合建站的高性能VPS主机?
Python路径拼接规范_跨平台处理说明【指导】
已有域名和空间,如何快速搭建网站?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
如何快速生成高效建站系统源代码?
文字头像制作网站推荐软件,醒图能自动配文字吗?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
*请认真填写需求信息,我们会在24小时内与您取得联系。