一次软键盘引起的界面跳动

软键盘导致界面被顶起

在RelativeLayout布局中放置在顶部的View由于受到软键盘弹起的影响,会被顶到软键盘以上,体验非常不好,这时可以给Activity设置 android:windowSoftInputMode=“adjustPan|stateHidden”,就可以防止底部View被顶起。上面的问题应该是比较普遍的问题,解决方法网上说的也很多。但更多的时候我们遇到的是软键盘遮挡的问题,例如登录界面,网上的解决方案也比较多。
今天记录一个由于软键盘隐藏引起的界面跳动问题,请看gif图:
在这里插入图片描述
问题描述:
一个界面根布局为FrameLayout,点击按钮显示在Framelayout中的一个覆盖布局,覆盖布局有一个EditText,此时点击EditText弹起软键盘,然后点击右上的隐藏按钮,隐藏覆盖布局,无论主动或者不主动隐藏软键盘,隐藏覆盖布局后,它后面的布局都会跳动一下,除非首先隐藏软键盘,等软键盘完全隐藏后再隐藏覆盖布局,后面的界面才不会移动。

界面为什么会跳动,肯定是软键盘引起的,然后尝试最常用的方法设置android:windowSoftInputMode=“adjustPan|stateHidden”,隐藏覆盖布局依然会引起界面跳动。
感觉是焦点的变化引起了界面的跳动然后在覆盖布局后面的布局添加一个EditText在覆盖布局隐藏时获取焦点。
gif效果:
在这里插入图片描述
界面不跳动了,所以接下来就好解决了,只需要在根布局添加主动获取焦点的代码即可:
android:focusable=“true”
android:focusableInTouchMode="true"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值