从左进入:
out_right_left.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义从右向左动画退出动画 -->
<translate
android:fromXDelta="0"
android:toXDelta="-100%"
android:duration="300"/>
</set>
in_left_right.xml :
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 定义从左向右进入的动画 -->
<translate
android:fromXDelta="-100%"
android:toXDelta="0"
android:duration="300"/>
</set>
styles.xml :
<style name="Anim_left_in" parent="@android:style/Animation">
<item name="android:windowExitAnimation">@anim/out_left_right</item>
<item name="android:windowEnterAnimation">@anim/in_right_left</item>
</style>
MyActivity.java:
private MyPopuWindow myPopuWindow;
myPopuWindow = new MyPopuWindow((Activity) context);
myPopuWindow.showAtLocation(((Activity) context).findViewById(R.id.mysetting),Gravity.CENTER_HORIZONTAL, 60,0);
MyPopuWindow.java
<pre name="code" class="html">this.setAnimationStyle(R.style.Anim_left_in);
从右进入:
Anim:
进入动画设置:
push_right_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0"
android:duration="300"/>
</set>
退出动画设置:
push_right_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="100%"
android:duration="300"/>
</set>
duration:设置速度 ,300比500快一点。
从底部弹出:
push_bottom_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<!-- 上下滑入式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="200"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="200"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
push_bottom_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<!-- 上下滑入式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="200"
android:fromYDelta="0"
android:toYDelta="50%p" />
<alpha
android:duration="200"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
styles.xml :
<!-- 从底端弹出 -->
<style name="Anim_bottom_in" parent="@android:style/Animation">
<item name="android:windowEnterAnimation">@anim/push_bottom_in</item>
<item name="android:windowExitAnimation">@anim/push_bottom_out</item>
</style>
MyActivity.java:
private MyPopuWindow myPopuWindow;
myPopuWindow = new MyPopuWindow((Activity) context);
myPopuWindow.showAtLocation(((Activity) context).findViewById(R.id.mysetting),Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0,0);
MyPopuWindow.java
this.setAnimationStyle(R.style.Anim_bottom_in);