当我的活动显示自定义对话框时,如何保持新的沉浸式模式?
我正在使用此代码来维护对话框中的沉浸模式,但是使用此解决方案,当我启动自定义对话框时,NavBar会出现不到一秒钟,然后它就会消失.
这是一个更好地解释问题的视频(当NavBar出现时查看屏幕底部):http://youtu.be/epnd5ghey8g
我该如何避免这种行为?
码
我申请中所有活动的父亲:
public abstract class ImmersiveActivity extends Activity {
@SuppressLint("NewApi")
private void disableImmersiveMode() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_FULLSCREEN
);
}
}
@SuppressLint("NewApi")
private void enableImmersiveMode() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
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_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
);
}
}
/**
* Set the Immersive mode or not according to its state in the settings:
* enabled or not.
*/
protected void updateSystemUiVisibility() {
// Retrieve …Run Code Online (Sandbox Code Playgroud) android dialog android-dialog android-activity android-4.4-kitkat
我能够在我的应用程序中设置沉浸式模式navigation,status bars在几乎所有情况下都可以正确隐藏。我迄今发现的唯一的排斥是,当我点击一个Spinner有分量
android:spinnerMode="dropdown"的navigation bar还是来了。从下拉列表中选择一个项目后它就会消失,但我希望它根本不显示。有没有办法做到这一点?
在我的应用程序中,我有全屏模式要求,以实现此目的
我已经设定
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
在我的活动中.
但是当我点击我的微调器时,底部的导航栏变得可见
我也尝试过使用FullscreenActivity,
Android Studio>选择"新建">选择"活动">"全屏活动".
我在用
View root = findViewById(android.R.id.content);
root.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
使我的应用全屏显示。它工作正常,除非我使用Spinner。一旦下拉选项,系统栏就会再次出现。我试着用setSystemUIVisibility()对Spinner没有效果。
如何使我的应用始终保持全屏显示?