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
相关产品推荐
相关产品推荐

