setAnimationStyle无法在Android 2.3.5上运行

时间:2012-01-07 09:11:43

标签: android animation popup

我在弹出窗口中编写了一个使用setAnimationStyle的代码,当我检查运行Android 2.2操作系统的Galaxy 1设备上的代码时,一切都运行良好。但是当我在运行Android 2.3.5操作系统的Galaxy 2设备上试用它时,动画再也无法工作了。

这是代码。 感谢。

这是style.xml中的动画定义

<style name="AnimationPopup" parent="android:Animation">
        <item name="@android:windowEnterAnimation">@anim/popup_menu</item>
    <item name="@android:windowExitAnimation">@anim/fadeout</item>
</style>  

这是位于res / anim

的动画
   <translate xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromYDelta="100%"
      android:toYDelta="0"
     android:duration="300" 
    />

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
        <alpha android:fromAlpha="1.0" android:toAlpha="0.0"    android:interpolator="@android:anim/accelerate_interpolator" 
android:duration="500"/>
</set>

这是我在活动中使用的代码:

_menu = new PopupWindow(googlePopupInflator);
_menu.setOutsideTouchable(true);
_menu.setAnimationStyle(R.style.AnimationPopup);
_menu.showAtLocation(getWindow().getDecorView(), Gravity.BOTTOM, 0, 0);

1 个答案:

答案 0 :(得分:0)

我在迁移到2.3.4时遇到了同样的问题 做了一个解决方法:为PopupWindow中的控件设置动画。 我的PopupWindow包含一个主线性layou,并在其中包含子linera布局。 我试图动画主线性布局 - 没有成功。 然后我尝试动画子布局并成功。在每个应用程序中应用一个翻译动画(每个动画的动画的不同实例),并在显示PopupWindow后立即对它们进行动画处理。它们都在同一时间滑动 - 净效果 - 就像PopupWindow本身就是动画一样。