2012-01-07 84 views
1

我在一个弹出窗口中编写了一个使用setAnimationStyle的代码,当我检查运行Android 2.2操作系统的Galaxy 1设备上的代码时,一切都很顺利。但是当我在运行Android 2.3.5操作系统的Galaxy 2设备上尝试它时,动画不再适用。setAnimationStyle不适用于Android 2.3.5

这里是代码。 谢谢。

这是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动画/动画

<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

移动到2.3.4时遇到同样的问题 解决方法:动画控制l在PopupWindow中。 我的PopupWindow包含一个主要的线性布局,并在其内部的子线路布局。 我试图给主线性布局设置动画效果 - 没有成功。 然后我试着动画孩子的布局和成功。应用到他们每一个翻译动画(每个动画的不同实例),并在显示PopupWindow之后立即对它们进行动画处理。它们都在同一时间滑动 - 净效果 - 就好像PopupWindow本身是动画一样。

相关问题