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