EditText导致的问题
在使用EditText并且将其放在屏幕底部的时候,往往会使用例如:
- 1
- 1
等这样的参数,但是它有着很大的缺点,会导致界面上移、EditText被挡住的问题一些问题。
简单思考EditText键盘弹出后为什么导致界面上移呢?
不从代码层次上考虑,当键盘弹出后,键盘本身占据一定空间会致使EditText随之上移,EditText上移也会导致同一布局层次的其他控件发生位移状况,这就是我们常常碰到的情况,也是非常头痛。
那么,如果将EditText放在一个独立层次的控件中,并且让其上部(因为往往EditText都会放在底部)有一个自动控制其大小宽高的控件,是不是就会解决这个问题呢?
答案是肯定的!
将EditText放入独立的层次布局中,并辅以可自动收缩的控件。
类似于这样:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
你可以直接将这段代码放入到你的Demo中,就会惊人的发现EditText会如你所愿的弹出。
但是问题真正结束了么?当然没有。
在全屏化的体验中,我们的背景往往是一个VideoView或SurfaceView等类似的播放控件。
如果仅仅按照我们如上所示的做,你会发现VideoView或SurfaceView这样的控件,在播放时播放内容会被自动缩小,这也是我们不可接受的。
此时,我的布局

本文介绍了如何处理EditText在全屏模式下键盘弹出导致的界面位移问题,通过将EditText放入独立布局并利用View.setSystemUiVisibility方法,实现了全屏化交互体验的优化。同时,详细解析了相关方法和标志的含义,提供了一个避免内容被挤压的解决方案。
最低0.47元/天 解锁文章
959

被折叠的 条评论
为什么被折叠?



