有两个活动.
活动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 举报,一经查实,本站将立刻删除。