PopupWindow的显示隐藏配置动画

如果对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中的动画,看到的效果是从屏幕的最下方开始做动画的。

猜你喜欢

转载自jonson.iteye.com/blog/2105043