为PopupWindow设置弹出动画效果

1.首先需要在工程的res文件夹下面创建一个anim文件夹,在这个文件夹下面 创建 2个 xml文件,

我的的名字分别是 popshow_anim.xml和pophidden_anim.xml 后面来引用。

 popshow_anim.xml里面:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 
 3 <set xmlns:android="http://schemas.android.com/apk/res/android">
 4 
 5 <scale  android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 6 
 7           android:fromXScale="0.0"
 8 
 9           android:toXScale="1.0"
10 
11           android:fromYScale="0.0"
12 
13           android:toYScale="1.0"
14 
15           android:pivotX="50%"
16 
17           android:pivotY="50%"
18 
19           android:fillAfter="false"
20 
21           android:duration="200" >
22 
23  
24 </scale>
25 
26 </set>

pophidden_anim.xml里面:

 1 <!-- 消失动画-->
 2 
 3  <?xml version="1.0" encoding="utf-8"?>
 4 
 5 <set xmlns:android="http://schemas.android.com/apk/res/android">
 6 
 7  <!-- 透明度渐变-->
 8 
 9  <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="200" />
10 
11 </set>


在xml中的这些配置可以用代码来实现。

2.values文件夹的styles.xml中添加PP的样式:

1 <!-- popwidnow 显示消失动画-->
2 
3  <style name="mypopwindow_anim_style">
4 
5   <item name="android:windowEnterAnimation">@anim/popshow_anim</item>        <!-- 指定显示的动画xml  -->
6 
7    <item name="android:windowExitAnimation">@anim/pophidden_anim</item>       <!-- 指定消失的动画xml  -->
8 
9  </style>

3.在代码中,添加popupwindow 动画;

1  myimgpopupwindow.setAnimationStyle(R.style.mypopwindow_anim_style); //设置动画
2 
3   myimgpopupwindow.showAtLocation( View( 参照的view对象), Gravity.CENTER, 0, 0);     //居中来显示
原文地址:https://www.cnblogs.com/androidxiaoyang/p/2872620.html