android - 全屏时如何禁用导航栏滑动动画?

标签 android animation transition

我有一个进入另一个全屏 Activity 的 Activity 。但是,当从这个 Activity 过渡到我的全屏 Activity 时,导航栏会向下滑动而不是立即消失。我在第二个 Activity 中充气了一个全屏窗口,但由于滑动动画缓慢,它在动画完成后 1 秒后调整大小,而不是立即充气到全屏。因此,我需要动画立即消失。我试过了

<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

最佳答案

我想,我做到了:

enter image description here

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);
    }
}

list :

    <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>

注意!设置StatusBar颜色需要API 21对于旧版本,要“隐藏”状态栏,您需要使用:

        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN;

作为上面代码中的 uiOptions。 (不过,它会导致快速调整大小)。

希望对你有帮助

关于android - 全屏时如何禁用导航栏滑动动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976783/

相关文章:

java - 如何将菜单文件夹添加到android studio项目的res文件夹中

android - 如何从任何已安装应用程序的包名称中获取版本代码?

android - 重击 : adb: command not found error on Mac

c# - 动画 split 襟翼显示

CSS Transitions - div 上的不透明度变化但不是 div 内容

html - css3 中的动画

android - Google Play 公开测试 : app not available

android - 如何使用 xml 中定义的动画加载 AnimatorSet

android - 在 ViewPager 上强制动画

css - 为什么会发生奇怪的 CSS 背景图像转换?