写点什么

自定义 View:属性动画和硬件加速

用户头像
Changing Lin
关注
发布于: 刚刚
自定义View:属性动画和硬件加速

1.知识点

  • Animation:动画、渐变动画

  • Keyframe:关键帧

  • ObjectAnimator:属性动画

  • PropertyValuesHolder:属性值持有

  • AnimatorSet:动画集合

  • Interpolator:插值器,入场动画 Decelerate 减速,出场动画 Accelerate 加速

  • TypeEvaluator:估值器,用于自定义实现估值接口

  • ValueAnimator:数值动画

  • ViewPropertyAnimator:

  • Listeners:监听器

2.原理

  • 属性动画本质:从起始点到结束点的渐变过程

  • 硬件加速:使⽤ GPU 绘制,

  • 硬件加速的缺陷:兼容性。由于使用 GPU 的绘制(暂时)无法完成某些绘制,因此对于⼀些特定的 API,需要关闭来转回到使用 CPU 进⾏绘制。

3.代码


public class BeSmartActivity extends AppCompatActivity {
View view; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_be_smart);
view = findViewById(R.id.text);
ValueAnimator animator = ValueAnimator.ofFloat(10, 20, 30, 40, 50, 60); animator.setStartDelay(1000); animator.setDuration(5000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { Float value = (Float) animation.getAnimatedValue(); view.setTranslationX(value); } }); animator.start(); }}
复制代码


发布于: 刚刚阅读数: 2
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
自定义View:属性动画和硬件加速