View图片效果

这篇博客主要介绍了如何在Android中使用`ObjectAnimator`和`ValueAnimator`实现图片的渐变、旋转、平移和缩放等视觉效果。通过`MainActivity`类中的不同方法调用,如`initObjAnimatar`和`initvalueAnimator`,展示了如何设置动画时长并启动动画,从而改变ImageView的状态,创建出丰富的动画效果。
摘要由CSDN通过智能技术生成

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();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值