Android动画——属性动画

简介: 在属性动画中,常用到的API有ValueAnimator,ObjectAnimator。ValueAnimator:时间引擎,负责计算各个帧的属性值,基本上其他属性动画都会直接或间接继承它;ObjectAnimator: ValueAnimator 的子类,对指定对象的属性执行动画。

在属性动画中,常用到的API有ValueAnimator,ObjectAnimator。

ValueAnimator:时间引擎,负责计算各个帧的属性值,基本上其他属性动画都会直接或间接继承它;

ObjectAnimator: ValueAnimator 的子类,对指定对象的属性执行动画。

属性动画可以看作是增强版的补间动画,与补间动画的不同之处体现在:

●补间动画只能定义两个关键帧在透明、旋转、位移和倾斜这四个属性的变换,但是属性动画可以定义任何属性的变化。

●补间动画只能对 UI 组件执行动画,但属性动画可以对任何对象执行动画。


与补间动画类似的是,属性动画需要定义几个方面的属性:

动画持续时间。默认为300ms, android:duration 属性指定。

动画插值方式 ,android:interploator 指定。

动画重复次数, android:repeatCount 。

重复行为 ,android:repeatMode 指定。

动画集,在属性资源文件中通过 <set …/> 来组合。

帧刷新率,指定多长时间播放一帧。默认为 10 ms。



ValueAnimator


ValueAnimator valueAnimator=ValueAnimator.ofFloat(0f,1f);
valueAnimator.setDuration(2000);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener(){
    @Override
    public void onAnimationUpdate(ValueAnimator animtion){
        float value=(float)animation.getAnimatedValue();
        log.e(...)
    }
});
valueAnimator.start();


ObjectAnimator

TextView textview=findViewById(R.id.tv);
//只要TextView类有alpha对应的get set方法,就可以用这个属性,并不一定需要有字段。
ObjectAnimator objectAnimator=ObjectAnimator.ofFloat(textview,"alpha",0f,1f);
objectAnimator.setDuration(2000);
valueAnimator.start();
//这个监听器需要重写4个方法,如果不需要4个,则添加下面的匿名类
objectAnimator.addListener(new Animator.AnimatorListener() {
      @Override
      public void onAnimationStart(Animation animation) {
          //动画开始时执行
      }
       @Override
      public void onAnimationRepeat(Animation animation) {
          //动画重复时执行
      }
     @Override
      public void onAnimationCancel()(Animation animation) {
          //动画取消时执行
      }
      @Override
      public void onAnimationEnd(Animation animation) {
          //动画结束时执行
      }
  });
//这个只需要重写你需要的方法即可
objectAnimator.addListener(new AnimatorListenerAdapter() {
      @Override
      public void onAnimationStart(Animation animation) {
          //动画开始时执行
      }
  });
目录
相关文章
|
3月前
|
存储 Shell Android开发
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
79 2
基于Android P,自定义Android开机动画的方法
|
29天前
|
Android开发 UED
Android 中加载 Gif 动画
【10月更文挑战第20天】加载 Gif 动画是 Android 开发中的一项重要技能。通过使用第三方库或自定义实现,可以方便地在应用中展示生动的 Gif 动画。在实际应用中,需要根据具体情况进行合理选择和优化,以确保用户体验和性能的平衡。可以通过不断的实践和探索,进一步掌握在 Android 中加载 Gif 动画的技巧和方法,为开发高质量的 Android 应用提供支持。
|
6月前
|
Java Android开发 开发者
Android10 修改开发者选项中动画缩放默认值
Android10 修改开发者选项中动画缩放默认值
196 0
|
6月前
|
XML Java Android开发
android的三种动画
android的三种动画
38 0
|
4月前
|
XML Android开发 数据格式
Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来
在 Android 中实现 Activity 的对话框式过渡动画:从底部滑入与从顶部滑出。需定义两个 XML 动画文件 `activity_slide_in.xml` 和 `activity_slide_out.xml`,分别控制 Activity 的进入与退出动画。使用 `overridePendingTransition` 方法在启动 (`startActivity`) 或结束 (`finish`) Activity 时应用这些动画。为了使前 Activity 保持静止,可定义 `no_animation.xml` 并在启动新 Activity 时仅设置新 Activity 的进入动画。
121 12
|
4月前
|
XML Android开发 UED
Android动画之共享元素动画简单实践
本文介绍Android共享元素动画, 实现两Activity间平滑过渡特定UI元素。通过设置`transitionName`属性和使用`ActivityOptions.makeSceneTransitionAnimation`启动目标Activity实现动画效果。可自定义过渡动画提升体验。
71 0
|
5月前
|
Android开发 UED
Android Item平移动画
【6月更文挑战第18天】
109 8
|
4月前
|
Android开发
android 动画 插值器和估值器
android 动画 插值器和估值器
|
6月前
|
数据库 Android开发
Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画
Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画
Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画
下一篇
无影云桌面