animation动画效果两种实现方式
注
:此例为AlphaAnimation效果,至于其他效果,换一下对象即可。
1、.java文件 代码控制 添加并且开始animation动画
//添加动画效果
AlphaAnimation animation = new AlphaAnimation(0.3f, 1.0f);
//设置次效果的持续时间
animation.setDuration(2000);
//设置动画的监听事件
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
//动画开始监听事件
//do something...
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
//动画结束监听事件
//do something...
}
});
//开始动画
view.startAnimation(animation);
2、.xml文件 代码加载xml 开始动画
alpha_out.xml 淡出效果
代码加载xml:
<?xml version="1.0" encoding="utf-8"?>
<!-- android:duration="@android:integer/config_mediumAnimTime" -->
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<alpha android:fromAlpha="1.0" android:toAlpha="0" android:duration="500"/>
<!-- 透明度控制动画效果 alpha
浮点型值:
fromAlpha 属性为动画起始时透明度
toAlpha 属性为动画结束时透明度
说明:
0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字
长整型值:
duration 属性为动画持续时间
说明:
时间以毫秒为单位
-->
</set>
代码加载xml:
属性:
private Animation anim;
private AnimationListener animLis;
加载:
//初始化动画监听事件AnimationListener
animLis = new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
//动画开始监听事件
//do something...
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
//动画结束监听事件
//do something...
tv.setVisibility(View.GONE);
}
};
//加载xml
anim = AnimationUtils.loadAnimation(this, R.anim.alpha_out);
//设置监听事件
anim.setAnimationListener(animLis);
//开始动画
tv.startAnimation(anim);