插值与动画与过渡

时间:2017-11-29 13:28:13

标签: android animation android-transitions

我正在研究很多关于android动画和材料设计的内容,现在我对每个“动画类型”的概念感到有些困惑。

来自Android开发者网站:

Animations

动画可以添加微妙的视觉提示,通知用户您的应用中发生了什么,并改善应用界面的心理模型。当屏幕改变状态时,动画特别有用,例如当内容加载或新动作可用时。动画还可以为您的应用添加抛光外观,从而为您的应用提供更高质量的感觉。

Interface Interpolator

插值器定义动画的变化率。这允许加速,减速,重复等基本动画效果(alpha,缩放,平移,旋转)。

Transitions Framework

动画应用的用户界面不仅仅提供视觉吸引力。动画突出显示更改并提供视觉提示,帮助用户了解您的应用的工作方式。

所以这就是问题,他们之间的实际区别是什么?我应该使用哪一个?

1 个答案:

答案 0 :(得分:0)

我尽力解释这一点,我绝对不是专家。

让我们从Interpolator开始。它们是所有Android动画所需的工具。它们是时序实用程序,允许您根据插补器的时序自定义您动画的任何内容。例如,具有恒定变化率的LinearInterpolator意味着无论您动画什么,都将始终具有不断变化。因此,如果您将图像水平设置为100像素,则以60fps超过1秒。图像将每16毫秒移动约6个像素。但是使用AccelerateInterpolator,变化率将根据您应用于插值器构造函数的某些缓动工厂定期增加。使用前面的示例,不会每16毫秒一致地移动6~像素,而是它将改变的像素量将持续增加,直到动画完成。这是材料文档的link,其中包含一些非常有用的视频,用于演示插值器如何影响动画。我建议阅读整个页面,也许是下一页,以便更好地掌握。

接下来,过渡是一种动画,但是一种非常特殊的动画类型。过渡动画在状态更改之间设置动画,例如“活动”,UI元素或文本。例如,如果要在应用程序中的“活动”之间切换,则框架会提供转换两个“活动”的默认动画。这种转变通常是滑入式翻译。当您点击图像并且应用程序转换到包含相同拍摄图像的另一个屏幕时,另一个过渡动画示例。想想点击Play Music中的专辑封面。这是来自材料设计文档(查看第一个视频)的良好过渡动画的link