当我的应用程序启动时,我想隐藏软键盘栏(红色矩形框内的部分),以获得更大的屏幕。
我该如何隐藏它?
当应用程序退出时,我需要有意显示该栏吗?或者它会在应用程序退出后自动恢复?
使用Android 4.1,在手机前面没有硬件按键。
当我的应用程序启动时,我想隐藏软键盘栏(红色矩形框内的部分),以获得更大的屏幕。
我该如何隐藏它?
当应用程序退出时,我需要有意显示该栏吗?或者它会在应用程序退出后自动恢复?
使用Android 4.1,在手机前面没有硬件按键。
我知道已经很晚了,但这是正确的答案,你想做的是所谓的沉浸式模式。适用于(API 19)
请查看:https://developer.android.com/training/system-ui/immersive.html
你要求的代码如下:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
尝试
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
来自官方文档
SYSYEM_UI_FLAG_LOW_PROFILE标志替代了STATUS_BAR_HIDDEN标志。当设置此标志时,系统栏或导航栏将启用“低调模式”。导航按钮会变暗,系统栏中的其他元素也会隐藏。启用此功能可创建更具沉浸感的游戏,无需分散注意力到系统导航按钮。
SYSYEM_UI_FLAG_VISIBLE标志替代了STATUS_BAR_VISIBLE标志,以请求显示系统栏或导航栏。
SYSYEM_UI_FLAG_HIDE_NAVIGATION是一种新的标志,请求完全隐藏导航栏。请注意,这仅适用于某些手机使用的导航栏(不会隐藏平板电脑上的系统栏)。只要系统收到用户输入,导航栏就会重新出现。因此,此模式主要用于视频播放或其他需要整个屏幕但不需要用户输入的情况中。
导航栏的行为取决于应用程序,如果我没记错的话,所以在用户离开您的应用程序后,它应该再次显示。