package com.example.denglu;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.TextView);
imageView = findViewById(R.id.ImageView);
// 文字位移
initvalueAnimator();
//全部执行
initvalueAnimatorSet();
// 渐变
// initObjAnimatar(“alpha”);
//在X旋转
// initObjAnimatar(“rotationX”);
//在Y旋转
// ;initObjAnimatar(“rotationY”);
// Y 平移
// initObjAnimatar(“translationY”);
// X平移
// initObjAnimatar(“translationX”);
// 缩放
// initObjAnimatar(“scale”);
}
//图片
private void initvalueAnimatorSet() {
ObjectAnimator alpha = ObjectAnimator.ofFloat(imageView, "alpha", 0f, 1f);
ObjectAnimator rotationX = ObjectAnimator.ofFloat(imageView,"rotationX",200f,300f,500f,300f);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(alpha).with(rotationX);
// .before(objectAnimatorY)
// //之后
// .after(objectAnimator);
animatorSet.setDuration(5000);
animatorSet.start();
}
private void initObjAnimatar(String state) {
// 渐变
// ObjectAnimator animator = ObjectAnimator.ofFloat(imageView, state, 0f, 1f);
ObjectAnimator animator = ObjectAnimator.ofFloat(imageView,state,1f,5f,1f);
animator.setDuration(5000);
animator.start();
}
// ________________________
private void initvalueAnimator() {
final ValueAnimator valueAnimator = ValueAnimator.ofInt(100,500,800,600,500,100);
valueAnimator.setDuration(3000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int AnimatedValue = (int)animation.getAnimatedValue();
textView.layout(AnimatedValue,AnimatedValue,AnimatedValue+textView.getWidth(),AnimatedValue+textView.getHeight());
}
});
valueAnimator.start();
}
}