使导航栏保持在任何活动动画的顶部

时间:2014-07-28 14:16:54

标签: android android-5.0-lollipop

首先,我正在使用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>

0 个答案:

没有答案