• 二十、动画属性动画


    1. ValueAnimation

    进行 值 的更改,做种结果为  从 0-1 递增,执行时长为2秒

    package com.example.myshuxing;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.animation.ValueAnimator;
    import android.os.Bundle;
    import android.util.Log;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            ValueAnimator valueAnimator = ValueAnimator.ofFloat(0f, 1f);
            //执行周期
            valueAnimator.setDuration(2000);
            //监听
            valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator animation) {
                   float value = (float)animation.getAnimatedValue();
                   Log.e("leo", "onAnimationUpdate: "+value );
                }
            });
            valueAnimator.start();
    
        }
    }
    

    2. ObjectAnimator 结合控件使用,其中 ofFloat 方法中的第二个参数可以使用 平移、旋转、透明度等设置

    TextView view = findViewById(R.id.textmain);
            ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(view,
                    "alpha",0f,1f);
            objectAnimator.setDuration(4000);
            objectAnimator.start();
    

    3.监听器   针对于动画执行过程中的状态,进行调用的方法,一下为几个示例,调用上述的 objectAnimator动画的监听

    objectAnimator.addListener(new Animator.AnimatorListener() {
                //动画开始时调用
                @Override
                public void onAnimationStart(Animator animator) {
                }
                //动画结束时调用
                @Override
                public void onAnimationEnd(Animator animator) {
                }
                //动画被取消时调用
                @Override
                public void onAnimationCancel(Animator animator) {
                }
                //动画被重复执行时调用
                @Override
                public void onAnimationRepeat(Animator animator) {
                }
            });
    
            //可以直接选择所要使用的监听方法
            objectAnimator.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationStart(Animator animation) {
                    super.onAnimationStart(animation);
                }
            });
    

      

  • 相关阅读:
    测试用例编写方法
    mysql数据库在windows下安装与配置
    jQuery文字特效制作文字鼠标滑过多彩色变色显示
    基于浏览器的定位于搜索
    对不起,我又忍不住想你了
    痴语片言
    JQuery-Ajax后台提交数据与获取数据
    $.getJSON异步请求和同步请求
    七、多线程
    硬币收集问题--动态规划3
  • 原文地址:https://www.cnblogs.com/wangshunyun/p/16050742.html
Copyright © 2020-2023  润新知