移动+透明渐变叠加动画Demo

来源:互联网 发布:centos 安装本地rpm包 编辑:程序博客网 时间:2024/04/30 04:54

前面所有的Demo都是单一的动画,根据需求,我们可以将两种以上的动画效果混合到一个动画中。

一、通过java实现动画:

package com.jikexueyuan.anim;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.view.animation.AnimationSet;import android.view.animation.AnimationUtils;import android.view.animation.TranslateAnimation;import android.widget.Toast;public class MainActivity extends Activity {private AnimationSet as;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                as= new AnimationSet(true);        as.setDuration(1000);                AlphaAnimation aa = new AlphaAnimation(0, 1);        aa.setDuration(1000);        as.addAnimation(aa);                TranslateAnimation ta = new TranslateAnimation(200, 0, 200, 0);        ta.setDuration(1000);        as.addAnimation(ta);        findViewById(R.id.btnAnimMe).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {arg0.startAnimation(as);//Animation a = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim);//a.setAnimationListener(new Animation.AnimationListener() {////@Override//public void onAnimationStart(Animation animation) {//}////@Override//public void onAnimationRepeat(Animation animation) {//}////@Override//public void onAnimationEnd(Animation animation) {//Toast.makeText(MainActivity.this, "Animation end", Toast.LENGTH_SHORT).show();}//});//arg0.startAnimation(a);//}});    }}


二、通过xml实现动画:

package com.jikexueyuan.anim;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.Toast;public class MainActivity extends Activity {//private AnimationSet as;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //        as= new AnimationSet(true);//        as.setDuration(1000);//        //        AlphaAnimation aa = new AlphaAnimation(0, 1);//        aa.setDuration(1000);//        as.addAnimation(aa);//        //        TranslateAnimation ta = new TranslateAnimation(200, 0, 200, 0);//        ta.setDuration(1000);//        as.addAnimation(ta);        findViewById(R.id.btnAnimMe).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {//arg0.startAnimation(as);Animation a = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim);a.setAnimationListener(new Animation.AnimationListener() {@Overridepublic void onAnimationStart(Animation animation) {}@Overridepublic void onAnimationRepeat(Animation animation) {}@Overridepublic void onAnimationEnd(Animation animation) {Toast.makeText(MainActivity.this, "Animation end", Toast.LENGTH_SHORT).show();}});arg0.startAnimation(a);}});    }}

xml:

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"    android:duration="1000"    android:shareInterpolator="true" >    <alpha        android:fromAlpha="0"        android:toAlpha="1" />    <translate        android:fromXDelta="200"        android:fromYDelta="200"        android:toXDelta="0"        android:toYDelta="0" /></set>



1 0