You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android软键盘重新唤起时遮挡EditText的问题解决

Android沉浸式全屏场景下EditText软键盘二次唤起遮挡问题的解决

最近我在开发一款需要屏幕固定+全屏显示的应用,所以把导航栏等系统控件都隐藏了。Activity启动后,EditText获取焦点时软键盘弹出并将EditText上移,这个场景是正常的,没什么问题。但关闭软键盘之后,再次点击EditText唤起软键盘时,软键盘直接把EditText给挡住了!我尝试把整个布局包裹在ScrollView里,结果问题还是存在。

我用到的相关配置

Window Flags设置:

val flags = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
    or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
    or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
    or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
    or View.SYSTEM_UI_FLAG_FULLSCREEN 
    or View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY)
window.decorView.systemUiVisibility = flags
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Manifest中的软键盘配置:

android:windowSoftInputMode="stateHidden|adjustResize"

最终解决办法

折腾了好一阵,最后居然是通过移除EditText的inputType属性解决了这个问题!二次唤起软键盘时,EditText能正常上移,不再被遮挡了。

内容的提问来源于stack exchange,提问作者PaulyC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:55:02