首页 > 系统 > Android > 正文

Android属性动画基础(2)

2019-11-07 23:56:59
字体:
来源:转载
供稿:网友

点击按钮,实现弹出多个按钮

package com.twac.animationtest3;import java.util.ArrayList;import java.util.List;import android.animation.ObjectAnimator;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.animation.AccelerateDecelerateInterpolator;import android.view.animation.BounceInterpolator;import android.widget.ImageView;public class MainActivity extends Activity implements OnClickListener {	PRivate ImageView mImageView;	private int[] res = { R.id.img_main, R.id.img_0, R.id.img_1, R.id.img_2,			R.id.img_3, R.id.img_4, R.id.img_5, R.id.img_6, R.id.img_7 };	private List<ImageView> list = new ArrayList<ImageView>();	private boolean flag = true;	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		for (int i = 0; i < res.length; i++) {			mImageView = (ImageView) findViewById(res[i]);			mImageView.setOnClickListener(this);			list.add(mImageView);		}	}	@Override	public void onClick(View v) {		switch (v.getId()) {		case R.id.img_main:			if (flag) {				startAnim();			} else {				closeAnim();			}//			break;		default:			break;		}	}	private void closeAnim() {		for (int i = 1; i < res.length; i++) {			ObjectAnimator animator = ObjectAnimator.ofFloat(list.get(i),					"TranslationY", 200F * i,0f);			animator.setDuration(1000);			animator.setStartDelay(i*500);			animator.setInterpolator(new AccelerateDecelerateInterpolator());			animator.start();			flag = true;		}	}	private void startAnim() {		for (int i = 1; i < res.length; i++) {			ObjectAnimator animator = ObjectAnimator.ofFloat(list.get(i),					"TranslationY", 0f, 200F * i);			animator.setDuration(1000);			animator.setStartDelay(i*800);			animator.setInterpolator(new BounceInterpolator());			animator.start();			flag = false;		}	}}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表