popwindow通过setAnimationStyle(int animationStyle)函数来设置动画效果 android:windowEnterAnimation表示进入窗口动画 android:windowExitAnimation表示窗口退出动画 在res/values/style.xml代码: ?xml version="1.0" encoding="utf-8"? resources style
popwindow通过setAnimationStyle(int animationStyle)函数来设置动画效果
android:windowEnterAnimation表示进入窗口动画
android:windowExitAnimation表示窗口退出动画
在res/values/style.xml代码:
1
2
3
4
5
6
7
8
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<resources>
<style name=
"PopupAnimation"
parent=
"android:Animation"
mce_bogus=
"1"
>
<item name=
"android:windowEnterAnimation"
>@anim/popup_enter</item>
<item name=
"android:windowExitAnimation"
>@anim/popup_exit</item>
</style>
</resources>
|
在res/anim/popup_enter.xml声明所需进入动画
1
2
3
4
5
6
7
8
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<scale android:fromXScale=
"0.6"
android:toXScale=
"1.0"
android:fromYScale=
"0.6"
android:toYScale=
"1.0"
android:pivotX=
"50%"
android:pivotY=
"50%"
android:duration=
"1000"
/>
<alpha android:interpolator=
"@android:anim/decelerate_interpolator"
android:fromAlpha=
"0.0"
android:toAlpha=
"1.0"
android:duration=
"1000"
/>
</set>
|
在res/anim/popup_exit.xml声明所需退出动画
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<scale
android:fromXScale=
"1.0"
android:toXScale=
"0.5"
android:fromYScale=
"1.0"
android:toYScale=
"0.5"
android:pivotX=
"50%"
android:pivotY=
"50%"
android:duration=
"500"
/>
<alpha
android:interpolator=
"@android:anim/accelerate_interpolator"
android:fromAlpha=
"1.0"
android:toAlpha=
"0.0"
android:duration=
"500"
/>
</set>
|
popupWindow.setAnimationStyle(R.style.PopupAnimation);
popupWindow.showAtLocation(findViewById(R.id.parent), Gravity.CENTER| Gravity.CENTER, 0, 0);
popupWindow.update();
调用popupWindow.dismiss();语句。popwindow消失,自动调用消失动画popup_exit.xml