欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PopupWindow的显示隐藏配置动画

程序员文章站 2022-03-16 10:38:02
...

如果对PopupWindow的显示隐藏过程配置动画。

有几个注意点:

1.PopupWindow的动画需要成对配置,即一个显示一个隐藏。

2.调用PopupWindow setAnimationStyle接口来设置。

 

定义一个Style

 <style name="popup_animation">
        <item name="@android:windowEnterAnimation">@anim/xiaoying_popup_show</item>
        <item name="@android:windowExitAnimation">@anim/xiaoying_popup_hide</item>
    </style>

 提供两个例子动画

显示动画:

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="500"
        android:fromXScale="0.0"
        android:fromYScale="0.0"
        android:interpolator="@android:anim/bounce_interpolator"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale="1.0"
        android:toYScale="1.0" />

</set>

隐藏动画:

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="500"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%p"
        android:pivotY="50%p"
        android:toXScale="0.0"
        android:toYScale="0.0" />

</set>

  

调用:

mPopupWindow.setAnimationStyle(R.style.popup_animation);

 

 

最后在动画配置过程中发现还有问题,没解决,有经验的同学请指教。

问题:

对于不占满整个window的画面的情况,动画不能从有效的View的相对0点开始做动画。比如有效的view的bottom值为400px,

demo中的动画,看到的效果是从屏幕的最下方开始做动画的。