首先,我正在使用Android-L预览版。现在,任何人都不要误解导航栏是什么,这里有一张照片: https://imageshack.com/i/f0bjjDnQp
我正在应用以下活动动画:
activity.startActivity(intent);
activity.overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.scale_in);
R.anim.slide_in_from_bottom.xml是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromYDelta="100%"
android:toYDelta="0%"/>
</set>
和R.anim.scale_in是:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="300"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.9"
android:toYScale="0.9"/>
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.1"/>
</set>
除了新活动在导航栏顶部进行动画这一事实外,动画效果很好,我希望它是相反的。我也可以在整个动画中看到黑色状态栏,我也想避免。
更新
所以我发现了问题所在。随着Android L预览的引入,我们可以选择设置此Material主题,并且该主题以这种方式在活动之间制作动画。如果我设置android:Theme.Holo.Light,一切正常。一旦我添加了这个Material主题,我就会得到覆盖导航栏的这种丑陋的效果。 所以我想我可以尝试在材质主题中找到正确的参数,使其表现为旧主题,但我无法解决这个问题。我已尝试在下方设置此行,但它也无效。
<item name="android:windowActionBarOverlay" >false</item>