AndroidUI 视图动画-混合动画效果 (AnimationSet)/动画效果监听
2015-10-01 20:11
555 查看
在前面介绍了几种动画效果:透明动画效果(AlphsAnimation)、移动动画效果(TranslateAnimation)、旋转动画效果(RotateAnimation)、缩放动画效果(ScaleAnimation);那么可不可以将这几种动画效果混在一块用呢?
可以的,这个时候我们就用到了AnimationSet,它可以将一种或多种动画效果放在一起运行,下面是一个移动+透明效果的例子:
动画代码:
XML:
效果:
动画效果监听,如果想在动画的执行过程,做一些其它事情可以实现动画的setAnimationListener事件监听器,在事件监听器里面有三个方法:
//透明效果动画
AlphaAnimation alpha=new AlphaAnimation(0,1);
alpha.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
});
可以的,这个时候我们就用到了AnimationSet,它可以将一种或多种动画效果放在一起运行,下面是一个移动+透明效果的例子:
<Button android:id="@+id/btnAnimation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btnAnimation" />
动画代码:
findViewById(R.id.btnAnimation).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //创建动画容器,并且将是否使用动画补间(shareInterpolator)设置为true; // AnimationSet set=new AnimationSet(true); //透明效果动画 // AlphaAnimation alpha=new AlphaAnimation(0,1); // alpha.setDuration(2000); //移动效果动画 // TranslateAnimation trans=new TranslateAnimation(50, 0, 50, 0); // trans.setDuration(2000); // set.addAnimation(alpha); // set.addAnimation(trans); // v.startAnimation(set); //使用XML配置混合动画 v.startAnimation(AnimationUtils.loadAnimation(v.getContext(), R.anim.set1)); } });
XML:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="true"> <alpha android:fromAlpha="0" android:toAlpha="1" android:duration="2000" /> <translate android:fromXDelta="50" android:toXDelta="0" android:fromYDelta="50" android:toYDelta="0" android:duration="2000" /> </set>
效果:
动画效果监听,如果想在动画的执行过程,做一些其它事情可以实现动画的setAnimationListener事件监听器,在事件监听器里面有三个方法:
//透明效果动画
AlphaAnimation alpha=new AlphaAnimation(0,1);
alpha.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
});
相关文章推荐
- AndroidUI 视图动画-混合动画效果 (AnimationSet)/动画效果监听
- Request的getParameter和getAttribute方法的区别
- java gui
- AndroidUI 视图动画-缩放动画效果 (ScaleAnimation)
- GUI(主)线程与子线程之间的通信(用信号槽通讯)
- AndroidUI 视图动画-缩放动画效果 (ScaleAnimation)
- HDU 3721 - Building Roads(DFS`树的直径)
- AndroidUI 视图动画-移动动画效果 (TranslateAnimation)
- AndroidUI 视图动画-移动动画效果 (TranslateAnimation)
- POJ 2785:4 Values whose Sum is 0 二分
- POJ 2785:4 Values whose Sum is 0 二分
- 完美解决amzonui里面input和icon布局问题
- UI:文件操作、通知中心
- UITabBarController详细说明(简介和设置)
- 《Hadoop: The Definitive Guide》读书笔记 -- Chapter 1 Meet Hadoop
- js中关于value的一个小知识点(value既是属性也是变量)
- easyui datagrid加载数据和分页
- UIButton是UIImageView的子控件无法与用户交互
- 显示器 RUIGE瑞鸽高清显示器TL-S1700HD
- 远程调用服务(RPC)和消息(Message Queue)对比及其适用/不适用场合