因為PopupWindow不同於view,它不提供setAnimation接口,所以不可使用【android】動畫效果研究(view)【1】中所使用的方法。但Android提供了PopupWindow.setAnimationStyle方法。
參考文獻:http://gqdy365.iteye.com/blog/1007282
(1)定義動畫文件
與一樣,也使用Animation類,對於該類中幾種動畫效果的定義以及使用,可參加【android】動畫效果研究(view)【1】,這里不再重復。也可以參考以上文獻。
(2)定義style.xml文件
popupwindow的效果要在style中定義相應的動畫並引用剛才定義的動畫文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="toast_anim"
parent="@android:style/Animation.Dialog"
mce_bogus="1">
<item name="android:windowEnterAnimation">@anim/dialog_enter_action</item>
<item name="android:windowExitAnimation">@anim/dialog_enter_action</item>
</style>
</resources>
(3)在Activity中調用setAnimationStyle
View TestView = getLayoutInflater().inflate(R.layout.dialog, null); PopupWindow testPop = new PopupWindow(TestView); testPop.setAnimationStyle(R.style.toast_anim); testPop.showAtLocation(v, Gravity.CENTER, 0, 0); testPop.update(0,0,300,200);
