自动隐藏状态栏但不隐藏软导航键
Auto-hide status bar but not soft navigations keys
我是 Cordova 的新手。 我可以同时使用 Cordova 和 Java 方法
我尝试了清单方式:
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
启动时状态栏隐藏半秒后再次出现。而且,为什么我的主题不是黑色的?它仍然是我系统的默认白色。
我在我的主要 xxx.java 中尝试了 java 方式:
super.getActivity().runOnUiThread(new Runnable() {
public void run() {
View rootView = getActivity().getWindow().getDecorView().getRootView();
int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
rootView.setSystemUiVisibility(mUIFlag);
}
});
但它不是真正的全屏(由于屏幕调整大小而发生闪烁),它不是自动隐藏,并且当点击发生时两个栏都会回来。
我尝试了 Cordova 的默认全屏首选项
它还隐藏了软导航按钮,因为我不希望这种情况发生。
有没有办法自动隐藏状态栏而不是软导航栏并保持全屏模式?
确实不是理想的方式。我进入了 Cordova 的 \src\org\apache\cordova\cordovaactivity.java
并注释掉了隐藏导航线(在我的例子中是 ln 276):
@SuppressLint("NewApi")
private void toggleFullscreen(Window window) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
final int uiOptions =
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*/;
window.getDecorView().setSystemUiVisibility(uiOptions);
} else {
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
我是 Cordova 的新手。 我可以同时使用 Cordova 和 Java 方法
我尝试了清单方式:
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
启动时状态栏隐藏半秒后再次出现。而且,为什么我的主题不是黑色的?它仍然是我系统的默认白色。
我在我的主要 xxx.java 中尝试了 java 方式:
super.getActivity().runOnUiThread(new Runnable() {
public void run() {
View rootView = getActivity().getWindow().getDecorView().getRootView();
int mUIFlag = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN;
rootView.setSystemUiVisibility(mUIFlag);
}
});
但它不是真正的全屏(由于屏幕调整大小而发生闪烁),它不是自动隐藏,并且当点击发生时两个栏都会回来。
我尝试了 Cordova 的默认全屏首选项
它还隐藏了软导航按钮,因为我不希望这种情况发生。
有没有办法自动隐藏状态栏而不是软导航栏并保持全屏模式?
确实不是理想的方式。我进入了 Cordova 的 \src\org\apache\cordova\cordovaactivity.java
并注释掉了隐藏导航线(在我的例子中是 ln 276):
@SuppressLint("NewApi")
private void toggleFullscreen(Window window) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
final int uiOptions =
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*/;
window.getDecorView().setSystemUiVisibility(uiOptions);
} else {
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}