StatusBar在活动转换期间闪烁android nouget

时间:2017-03-06 18:42:31

标签: android android-animation android-transitions activity-transition

问题

我有一个名为Activity A的Activity,它定义了以下转换。

.then

当我调用Activity A时,一切正常。状态栏保持原样,但appbar会在屏幕上显示动画。但是,当我通过A运行活动B时,幻灯片转换并不尊重状态栏。状态栏消失,但appbar保持固定(正确地从动画中排除)。

我尝试了什么

如果我注释掉了slideexit的代码并且仅在A中保持输入转换,则状态栏在从A转换为B期间保持固定。这证明问题出现在B被调用之前。问题在于A的退出转换。

A退出转换并不排除状态栏并将其关闭。 B只是将它滑回来。

这是我的styles.xml

  @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public static void slideAnimation(Window window) {
    //runs when the activity is being entered
    //runs in reverse when the activity is being destroyed
    Slide slideEnter = new Slide();
    slideEnter.setDuration(mShortAnimationDuration);
    slideEnter.excludeTarget(android.R.id.statusBarBackground, true);
    slideEnter.excludeTarget(R.id.app_bar_layout, false);
    window.setEnterTransition(slideEnter);

    //runs when the calling activity is exiting
    // runs in reverse when the activity is reentering
    Slide slideExit = new Slide();
    slideExit.setDuration(mShortAnimationDuration);
    slideExit.excludeTarget(android.R.id.statusBarBackground, true);
    slideExit.excludeTarget(R.id.app_bar_layout, false);
    window.setExitTransition(slideExit);


}

这是我调用我的活动的方式

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
</style>

我在支持库版本为24.2.1的HTC 10上使用了nouget 7.0。 我坚信这是一个框架问题,因为我清楚地记得这个工作去年可能是3个月前左右。

或者我做错了什么?

0 个答案:

没有答案