郑海波的CSDN博客

需求 对ImageView进行类似于翻纸牌的动画解决 各种Animator的组合

第一步动画: 动画代码文件1,card_flip_left_out.xml

=”http://schemas.android.com/apk/res/android” ><!– 先缩小 –><objectAnimator=”1.0″android:valueTo=”0.8″ /><objectAnimator=<objectAnimator==<objectAnimator==”0.0″ /> </set>

第二步动画 动画文件2:card_flip_left_out

=”http://schemas.android.com/apk/res/android” ><!– 立即设置为透明 –><objectAnimator=<objectAnimator==”0″ /><!– 旋转一半的时间,逐渐显示 –><objectAnimator==”1.0″ /><!– 最后放大 –><objectAnimator==”1.0″ /><objectAnimator==”1.0″ /></set>

下面就是写java代码啦,在第一个动画结束的时候,换图。

package com.example.android.animationsdemo;import android.animation.Animator;import android.animation.AnimatorInflater;import android.animation.AnimatorListenerAdapter;import android.animation.AnimatorSet;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;/** * @date 2015年3月18日 下午2:28:33 * @author Zheng Haibo * @Description: 图片的翻转动画 */{private ImageView imageView;private int clickCount = 0;(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_image_flip);imageView = (ImageView) findViewById(R.id.iv_show);imageView.setOnClickListener(new OnClickListener() {(View v) {playFlipAnimation2();}});}() {clickCount++;AnimatorSet animatorSetOut = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.card_flip_left_out);final AnimatorSet animatorSetIn = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.card_flip_left_in);animatorSetOut.setTarget(imageView);animatorSetIn.setTarget(imageView);animatorSetOut.addListener(new AnimatorListenerAdapter() {(Animator animation) {// 翻转90度之后,,换图if (clickCount % 2 == 0) {imageView.setImageResource(R.drawable.image1);} else {imageView.setImageResource(R.drawable.image2);}animatorSetIn.start();}});animatorSetIn.addListener(new AnimatorListenerAdapter() {(Animator animation) {// TODO}});animatorSetOut.start();}}更多交流

Android开发联盟QQ群:272209595

你被雨淋湿的心,是否依旧。

郑海波的CSDN博客

相关文章:

你感兴趣的文章:

标签云: