android 软键盘覆盖布局的问题
来源:互联网 发布:算法竞赛入门书籍 编辑:程序博客网 时间:2024/05/22 04:42
在YOLO的直播间内,可以发送文字评论,要求文字输入框随键盘弹起,而底下的视频又不会变形,也不会被顶上去,这个问题曾一度困扰我们很久,适逢大师兄公司安卓工程师也遇到了同样的问题,所以简单整理成一篇文章,供更多开发者参考。本文源码地址。
面临的问题
主要还是activity的windowSoftInputMode
选项只能设置一种值,如果希望输入框随着键盘弹起而顶上去,那底下的视图要么会顶上去,要么会变形(adjustResize
),而希望底下的视图保持不动就成了一个伤脑筋的问题。
有图有真相
解决思路
目前想到了三种思路:
1, 使用多层activity,底下用于播放视频,顶上用于其他交互信息以及文字输入框,顶上的activity设置背景透明,由于是两个单独的activity,它们响应键盘弹起的行为就可以独立开来了,但是两层activity的开销较大,所以并未采用过;
2, 一层activity,用于播放视频,其他交互信息以及文字输入框作为一个dialog fragment,由于dialog fragment响应键盘弹起的行为不受activity限制,所以同样可以达到想要的效果,YOLO曾一度使用过该方法,但是由于dialog fragment终究是一个dialog,它显示在窗口的最顶层,会带来其他UI层次的问题,最终废弃了这种方法;
3, 法2的改进版本,一层activity,但是使用多层fragment,最底层fragment播放视频,上层fragment放其他元素,而文字输入框单独放到一个dialog fragment里面,由于文字输入并非常态,它所在的dialog并不会长时间显示,所以不会带来负面效果,而activity的windowSoftInputMode
值则设置为adjustPan
,目前看来最完美了;
下面是赞助商 100offer 的广告:
优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。
100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。
注册 100offer,谈谈你对下一份工作的期待。一周内,收到 5-10 个满足你要求的好机会!
- android 软键盘覆盖布局的问题
- 关于Android 软键盘覆盖布局问题
- 【十四】Android Android 软键盘覆盖布局问题
- [Android初级]关于如何解决软键盘弹出后覆盖界面布局的问题
- Android-解决软键盘覆盖布局
- android webview 软键盘覆盖 输入框的 问题
- android软键盘以及输入法影响界面布局的问题
- android软键盘以及输入法影响界面布局的问题
- Android中软键盘弹出时关于布局的问题
- android 软键盘在全屏下的布局计算问题
- Android中软键盘弹出时关于布局的问题
- android 软键盘在全屏下的布局计算问题
- Android—软键盘弹出时关于布局的问题
- android底部布局被软键盘抬起的问题
- Android软键盘弹出时布局的调整问题
- Android中软键盘弹出时关于布局的问题
- Android软键盘弹出时有关布局的问题
- Android软键盘(二) 软键盘弹出布局上移的问题
- caffe权值及featureMap可视化
- 喵哈哈村的星星与月亮(四)-(暴力枚举)
- easyUI的引用顺序
- (三)PCL中点的类型
- new 关键字的理解
- android 软键盘覆盖布局的问题
- 菜狗子我又特么回来了&清明学习总结
- 简单错误记录
- cocos-js button点击事件
- 考研英语近义词与反义词·十四·总篇
- 有向图的最小费用最大流问题
- Oracle安装之后无法进入database control
- Java String 类型编码转换
- JAVA 仿QQ聊天程序