如何在全屏时禁用导航栏幻灯片animation?

我有一个活动,去另一个全屏幕的活动。 但是,从此活动转换为我的全屏活动时,导航栏会滑下而不是立即消失。 我已经在第二个活动中填充了一个全屏窗口,但是由于缓慢的滑动animation,它在animation完成后的1秒后resize,而不是立即膨胀到全屏。 因此,我需要animation立即消失。 我试过了

<item name="android:windowAnimationStyle">@null</item>

 overridePendingTransition(0, 0); 

 Transition fade = new Fade(); fade.excludeTarget(android.R.id.navigationBarBackground, true); getWindow().setEnterTransition(fade); 

没有运气。

在Windows端,我试过了

 WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS WindowManager.LayoutParams.FLAG_FULLSCREEN WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN 

我如何隐藏导航栏: View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

Solutions Collecting From Web of "如何在全屏时禁用导航栏幻灯片animation?"

我想,我钉了它:

在这里输入图像说明

FullscreenActivity类:

 public class FullscreenActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; decorView.setSystemUiVisibility(uiOptions); ActionBar actionBar = getSupportActionBar(); if (actionBar != null) { actionBar.hide(); } setContentView(R.layout.activity_fullscreen); } } 

performance:

  <activity android:name=".FullscreenActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/title_activity_fullscreen" android:theme="@style/FullscreenTheme"/> 

样式:

 <style name="FullscreenTheme" parent="AppTheme"> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item> <item name="android:windowActionBarOverlay">true</item> <item name="android:windowBackground">@null</item> <item name="metaButtonBarStyle">?android:attr/buttonBarStyle</item> <item name="metaButtonBarButtonStyle">?android:attr/buttonBarButtonStyle</item> </style> 

NB! 设置StatusBar颜色要求API 21对于旧版本 ,要“隐藏”StatusBar,您需要使用:

  int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN; 

作为上面代码中的uiOptions。 (虽然会导致相当快的resize)。

我希望,这有帮助