微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐