其他分享
首页 > 其他分享> > android-在全屏和正常活动之间导航

android-在全屏和正常活动之间导航

作者:互联网

有两个活动.

活动A是全屏活动(隐藏状态栏),使用getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

活动B是正常的活动(状态栏可见).

我需要在活动A和活动B之间导航.

问题在于,随着状态栏变得可见并且活动大小调整,从A到B时会有抽动动作.

知道如何确保从一个活动到另一个活动顺利过渡吗?

另外,我使用滑入和滑出动画在活动之间进行过渡.

解决方法:

您可以在切换活动时简单地使用动画,

        startActivity(new Intent(FirstActivity.this, SecondActivity.class));
        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

编辑:

更换以下一块

<translate         
 android:duration="300"
 android:fromXDelta="100%"
 android:fromYDelta="0%"
 android:toXDelta="0%"
 android:toYDelta="0%">

与这个

<translate         
 android:duration="300"
 android:fromXDelta="100%"
 android:fromYDelta="0%"
 android:toXDelta="0%"
 android:toYDelta="0%">

<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />

注意:

整个代码应该看起来像这样,

    <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate         
     android:duration="300"
     android:fromXDelta="100%"
     android:fromYDelta="0%"
     android:toXDelta="0%"
     android:toYDelta="0%">

    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />

</set>

可选方式:(参考:article)

可以在有帮助的情况下尝试将这种方式添加到现有动画中,

更换

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,     WindowManager.LayoutParams.FLAG_FULLSCREEN);

    WindowManager.LayoutParams attributes = getWindow().getAttributes();
    attributes.flags |= WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |   WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS;
    getWindow().setAttributes(attributes);

标签:navigation,android-activity,android-fullscreen,android
来源: https://codeday.me/bug/20191121/2051745.html