Android填坑之旅(第十四篇)关于软键盘弹出未及时隐藏导致自定义View的onMeasure方法测量错误引发的血案
来源:互联网 发布:淘宝企业店铺公司更改 编辑:程序博客网 时间:2024/05/18 03:18
大家好我是涛仔,我今天将项目中碰到九宫格解锁的Bug,及其发生的场景和解决方案给大家分享一下,其中受到@不知叫什么名字的细心帮助与指点在此尤为感谢!
1.Bug及发生场景
我做的这个项目在用户登录App之后,静置10分钟之后再次请求接口,后台就会报登录超时,就会回到九宫格界面重新登录,场景是这样的,用户在带有输入框的Activity中并且输入内容,此状态下软键盘是弹出的,把App应用按Home退到后台,我们通过DDMS中的stop按钮模拟进程杀死,在回到App应用,后台会返回登录超时,这时就回到九宫格界面,这时我们会发现九宫格界面会变得特别特别的小。
2.解决方案
相比读者也猜到问题所在了吧!出现此问题的原因是这样的,在旧Activity(B)中要回到新Activity(A)中在不做任何处理的情况下,旧Activity(B)的软键盘关闭不及时,导致回到Activity(A)中还会驻留Activity(B)的软键盘导致Activity(A)中九宫格绘制出现问题(出现问题的原因就是Activity(A)中自定义ViewGroup九宫格在测量的时候会去掉软键盘的高度,从而使得展示的九宫格界面特别小)
/**@Override protected void onPause() { super.onPause(); /** * create by wangtaotao * 此方法为了防止应用被回收之后或者登陆超时之后,导致九宫格解锁测量出现问题 */ KeyBoardUtils.hideInputForce(this); }
我的解决方案就是以上代码块,只不过写在BaseActivity中。
关于软键盘的问题请参考以下博文,讲的非常细致,大家抽出其中的重点,就可以用到自己的项目中
CSDN传送门
其中抽取比较好的例子
阅读全文
1 0
- Android填坑之旅(第十四篇)关于软键盘弹出未及时隐藏导致自定义View的onMeasure方法测量错误引发的血案
- android 自定义View之View的测量(onMeasure()方法)
- android 自定义View之View的测量(onMeasure()方法)
- Android填坑之旅(第三篇) 关于Android 最有效的隐藏软键盘方法
- Android填坑之旅(第十篇)AndroidStudio中VersionCode引发的血案
- Android填坑之旅(第十二篇)由于Butterknife引发的血案
- Android:View的测量/onMeasure()方法解析
- android 自定义View在弹出的软键盘之上,以及测量软键盘高度和监听软键盘状态
- android 自定义View在弹出的软键盘之上,以及测量软键盘高度和监听软键盘状态
- Android填坑之旅(第六篇)Android中自定义带进度条的WebView,修复不弹出软键盘的BUG
- View的测量onMeasure方法
- Android 自定义View 之测量过程(onMeasure)
- android之Dialog自定义引发的血案
- Android填坑之旅(第十一篇)AndroidStudio中SharedPreferences存储,当key为空的时候引发的血案,导致value存储出现拿取不到的问题
- Android之自定义View,你需要了解和掌握的onMeasure测量规则
- Android 自定义View onMeasure方法的实现
- View测量之onMeasure方法
- Android自定义View 之 View的测量
- 小白算法练习 二分搜素练习 Drying POJ 3104 lanqiao 二分
- Combo Box Control
- 【Redis源码剖析】
- RecycleView(BaseViewHolder+BaseAdapter+不同类型适配+点击事件)
- JAVA互联网架构学习之Spring之AOP
- Android填坑之旅(第十四篇)关于软键盘弹出未及时隐藏导致自定义View的onMeasure方法测量错误引发的血案
- 前端开发周报- CSS 布局方式方式与JavaScript数据结构和算法
- 为什么 30 岁的工程师容易跳槽?
- 链表实现自定义的队列
- Insert boot media in selected boot device and press a key
- LeetCode二叉树基础题(不断更新)
- MYSQL外键-T-SQL
- GitHub使用过程中push出错的解决办法
- text-align/align