android - PopupWindow 进入退出动画不适用于棉花糖 (23)

标签 android android-animation android-6.0-marshmallow android-popupwindow

我为 PopupWindow 设置了进入/退出动画样式像这样

 mPopupWindow.setAnimationStyle(R.style.PopupAnimation);

和风格
<style name="PopupAnimation" parent="Widget.AppCompat.PopupWindow">
    <item name="android:windowEnterAnimation">@anim/popup_show</item>
    <item name="android:windowExitAnimation">@anim/popup_hide</item>
</style>

所以,当 PopupWindow显示/隐藏它的动画效果很好 Lollipop和所有以前的安卓版本。但与 Marshmallow弹出窗口在动画时间间隔后出现并且没有动画效果。

动画/popup-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>

动画/弹出隐藏.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>

最佳答案

我知道这是一个老问题,但对于新读者:
问题可能不是您的代码、样式或动画。
如果您对自己的工作充满信心,请尝试清理和重建您的项目,重新启动您的计算机和 Android 设备,并在运行最新版本之前从您的 Android 设备中删除任何旧版本的应用程序。
我遇到了这个确切的问题,它在 Lollipop 设备上运行良好,但在较新的设备上却不行。花了一天时间试图修复它,但第二天早上它只是随机开始工作。我以为问题解决了,但是当我调整动画的持续时间时,我发现它并没有反射(reflect)在 Android 设备上。在上传新版本之前从设备中删除旧版本的应用程序是唯一可以使更改生效的方法。

关于android - PopupWindow 进入退出动画不适用于棉花糖 (23),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33447200/

相关文章:

Java - 如何从 Android 中的 azure 移动服务检索和使用单个值

java - 如何更改 ActionBar 的颜色

Android - imageview.setBackgroundResource 问题

android - 在Android中,滑动切换屏幕时如何显示双屏动画

android - 手机锁定时键盘不显示并且 Activity 禁用键盘保护

android - 音频播放期间打瞌睡模式/应用程序待机

android - PJSUA2 无法从 Android 6.0.1 调用电话

java - 如何将 bundle 数据从一个 fragment 获取到另一个 fragment ?

java - 带有 Android 应用程序的多频段应用程序

Android缩放动画到指定尺寸