PopupWindow的动画显示效果是通过setAnimationStyle(int id)方法设置的
Step:1
定义显示效果的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="120"
android:toYDelta="0"
android:duration="500" />
</set>
定义消失效果的动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="0"
android:fromYDelta="0"
android:toYDelta="120"
android:duration="500" />
</set>
因为setAnimationStyle(int id)的参数是一个style的id
所以
<style name="popwin_anim_style">
<item name="android:windowEnterAnimation">@anim/menushow</item>
<item name="android:windowExitAnimation">@anim/menuhide</item>
</style>
Step3:
在popuwindow的位置上调用这个方法
popupWindow.setAnimationStyle(R.style.popupAnimation);加入我们想点击popuwindow以外别的地方就把popuwindow关闭,可以设置
popuwindow.setFocusable(true);