代码中定义动画示例
public class MainActivity extends ListActivity </integer>
常用的Activity转场动画中的补间动画
public void overridePendingTransition (int enterAnim, int exitAnim)。
【淡入淡出效果】 overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
【由左向右滑入的效果】 overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
其中,时间为400毫秒。<integer name="config_mediumAnimTime">400</integer>
fade_in 淡入
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromAlpha="0.0"
android:interpolator="@interpolator/decelerate_quad"
android:toAlpha="1.0" />
fade_out 淡出
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:interpolator="@interpolator/accelerate_quad"
android:toAlpha="0.0" />
slide_in_left 从左边淡入到屏幕
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="-50%p"
android:toXDelta="0" />
<alpha
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
slide_out_right 淡出到右边屏幕
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0"
android:toXDelta="50%p" />
<alpha
android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
常用的pop/dialog窗口显示/消失动画
通过下面代码可以实现在Dialog或AlertDialog显示、消失时的具有可爱的动画效果。
dialog.getWindow().setWindowAnimations(R.style.dialog_anim);
通过下面代码可以实现在popupWindow 显示、消失时的具有可爱的动画效果。
popWindow.setAnimationStyle(R.style.dialog_anim);
其中,R.style.dialog_anim为在styles.xml中定义的一个样式
<style name="dialog_animation" parent="@android:style/Animation">
<!--窗体进入动画--><item name="android:windowEnterAnimation">@anim/popshow_anim</item>
<!--窗体退出动画--><item name="android:windowExitAnimation">@anim/pophidden_anim</item>
</style>
其中引用的便是两个自定义的补间动画。
常用的效果的设置如下:
popshow_anim.xml 由下往上淡入
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="100%p"
android:toYDelta="0" />
<alpha
android:duration="1000"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
pophidden_anim.xml 由上往下淡出
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="50%p" />
<alpha
android:duration="1000"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
2017-3-17