天天看点

popWindow的一些弹出动画的设置

在安卓开发中,一般会有设置popwindow的弹出动画样式的需求的,基于做过的项目,我在此做一下总结记录。

popWindow在底部弹出(pop_show)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="500"
        android:fromYDelta="100%p"
        android:toYDelta="0" />
    <alpha
        android:duration="500"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />
</set>
           

popWindow在底部消失(pop_hidden)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="500"
        android:fromYDelta="0"
        android:toYDelta="100%p" />
    <alpha
        android:duration="500"
        android:fromAlpha="1.0"
        android:toAlpha="0.0" />
</set>
           

popWindow的底部动画

<!--pop从底部出来-->
    <style name="my_popwindow">
     <item name="android:windowEnterAnimation">@anim/pop_show</item>
        <item name="android:windowExitAnimation">@anim/pop_hidden</item>
    </style>
           

popWindow在左侧弹出(pop_left_show)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 定义从右向左进入的动画 -->
    <translate
        android:duration="500"
        android:fromXDelta="-100%"
        android:toXDelta="0" />
</set>
           

popWindow在左侧弹出(pop_left_hidden)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="500"
        android:fromXDelta="0"
        android:toXDelta="-100%" />
</set>
           

popWindow右侧弹出(pop_right_show)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 定义从右向左进入的动画 -->
    <translate
        android:duration="500"
        android:fromXDelta="100%"
        android:toXDelta="0" />
</set>
           

popWindow右侧消失(pop_right_hidden)

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="500"
        android:fromXDelta="0"
        android:toXDelta="100%" />
</set>