在 Android WebView 中使用文本输入时防止退出全屏模式?
Prevent exiting FullScreen mode when using text input inside an Android WebView?
我正在制作全屏 Android 应用程序。
在它里面我有一个 WebView 加载一个网页,上面有一个文本输入。
当用户单击文本输入时,应用程序将退出全屏模式并且永远不会 returns 返回。
我可以使用 js-android 接口调用一个函数,每次输入失去焦点或制作一个假的屏幕键盘时强制它返回全屏,但我正在寻找一个更好的解决方案。
这就是我首先强制它进入全屏模式的方式:
public static void setStickFullScreen(View view) {
int systemUiVisibility = view.getSystemUiVisibility();
int flags = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
systemUiVisibility |= flags;
view.setSystemUiVisibility(systemUiVisibility);
}
@Override public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
setStickFullScreen(getWindow().getDecorView());
}
我希望它始终全屏显示而不显示顶部和底部 android 导航。
有什么办法吗?
解决方案在另一个地方。
应用的主题应该继承自 NoActionBar 主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>
我正在制作全屏 Android 应用程序。 在它里面我有一个 WebView 加载一个网页,上面有一个文本输入。 当用户单击文本输入时,应用程序将退出全屏模式并且永远不会 returns 返回。
我可以使用 js-android 接口调用一个函数,每次输入失去焦点或制作一个假的屏幕键盘时强制它返回全屏,但我正在寻找一个更好的解决方案。
这就是我首先强制它进入全屏模式的方式:
public static void setStickFullScreen(View view) {
int systemUiVisibility = view.getSystemUiVisibility();
int flags = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
systemUiVisibility |= flags;
view.setSystemUiVisibility(systemUiVisibility);
}
@Override public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
setStickFullScreen(getWindow().getDecorView());
}
我希望它始终全屏显示而不显示顶部和底部 android 导航。
有什么办法吗?
解决方案在另一个地方。
应用的主题应该继承自 NoActionBar 主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>