PopupWindow输入退出动画不在Marshmallow上工作(23)

Lib*_*bin 5 android android-animation android-popupwindow android-6.0-marshmallow

我已进入/退出动画风格为PopupWindow这样的

 mPopupWindow.setAnimationStyle(R.style.PopupAnimation);
Run Code Online (Sandbox Code Playgroud)

和风格一样

<style name="PopupAnimation" parent="Widget.AppCompat.PopupWindow">
    <item name="android:windowEnterAnimation">@anim/popup_show</item>
    <item name="android:windowExitAnimation">@anim/popup_hide</item>
</style>
Run Code Online (Sandbox Code Playgroud)

因此,当PopupWindow显示/隐藏时,它具有适用于Lollipop以及所有以前的Android版本的动画.但随着Marshmallow动画时间间隔后弹出窗口显示并且没有动画效果.

动画/弹出窗口show.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:duration="1000"/>
</set>
Run Code Online (Sandbox Code Playgroud)

动画/弹出窗口hide.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0"
    android:toAlpha="0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:duration="1000"/>
</set>
Run Code Online (Sandbox Code Playgroud)

Ant*_*ony 1

我知道这是一个老问题,但对于新读者来说:

问题可能不是您的代码、样式或动画。

如果您对自己的工作充满信心,请尝试清理和重建您的项目,重新启动计算机和 Android 设备,并在运行最新版本之前从 Android 设备中删除应用程序的所有旧版本。

我遇到了这个确切的问题,它在棒棒糖设备上运行良好,但在较新的设备上却不起作用。经过一天的尝试徒劳无功后,第二天早上它就随机开始工作了。我以为问题已经解决了,但是当我调整动画的持续时间时,我发现它没有反映在Android设备上。在上传新版本之前从设备中删除旧版本的应用程序是唯一能让更改生效的方法。