如何为Android开发者提供动画交接?

6

我是一名设计师,对于不同的方法来将动画交给Android开发人员并根据特定情况选择最佳方法感兴趣。

1. JSON

我知道Lottie最适合用于微交互和创建动画插图,例如在引导页面上。对于设计师来说,提供JSON文件很容易,因为可以使用AfterEffects中的Bodymovin插件生成它。开发人员只需获取文件并按原样使用,无需进行其他额外的努力。

2. Java或Kotlin

需要复杂交互的UI元素通常使用代码构建,例如BubblePicker,因为这些气泡中的内容可变且有不同的交互条件。由于设计工具无法生成生产就绪的代码,设计师从像Principle这样的工具中导出视频录制,生成ProtoPie或其他工具中的可点击原型。在这种情况下,所有工作都留给开发人员。

3. XML

不知道开发人员何时使用此类型,以及设计师是否可以使用从某些设计工具中导出的方式提供它。

开发人员使用哪些其他技术来创建动画?

考虑不同情况,设计师应该为开发人员提供哪些类型的文件和原型?

1个回答

2
Android动画API真的非常多样化,这意味着开发人员可以选择许多方式来实现动画。我敢说这绝不应该受到提供的资源的性质或限制的影响。这里的“资源”指的是除了实际代码以外的任何东西:位图图像、音频文件甚至文本。了解开发人员可以或想要使用的文件类型或格式涉及沟通,并且您不能期望它们总是相同。
除非可以用一个单词描述,否则始终提供动画的视频。
Android中最常见的动画有:
绘制动画。这种类型的动画通常发生在屏幕上预定义的区域内,通过加载一系列图像实现,一个接一个地进行。在这里,常见的文件类型将是PNG图像,每个动画步骤都有一个图像。可能与视频使用的相同数量的不同精灵,但决不是24 / s那么多!请记住,为了支持不同的屏幕大小和密度,每个系列都必须提供不同的尺寸/密度。如果图像很简单,矢量图形可以简化编码器和设计师的工作,常规SVG也受支持。可以在矢量图像的路径上进行动画处理,甚至在几个这样的路径之间进行变形,只要路径兼容于变形,根据文档,它们必须具有相同数量的命令和每个命令的相同数量的参数。...这需要更深入地了解矢量文件定义的内部特性,如果您可以通过阅读SVG代码看到图像,请尝试!
另一组主要包括应用程序 UI 元素的动画(通过影响诸如颜色、位置、大小等属性)。这种类型可能涉及或不涉及图像资源,并且通常应用于预定义类型的组件。例如:所有按钮应该有一个从指针单击开始的涟漪效果。Android 具有具有特定名称的预定义效果(翻转、缩放),了解这个词汇可能很有用。
最后,布局更改是当您重新排列元素以更好地传达信息或提示用户采取操作时发生的动画。与此类似的是转换,它们在切换屏幕时发生,但也可以用于创建移动图像的动画,改变它们的位置和属性。它们非常容易实现,可能需要与1中提到的相同类型的资源文件。
供参考,请查看以下内容,其中包含一些代码和说明性示例: https://developer.android.com/training/animation/overview 要了解如何支持不同的屏幕尺寸,请查看: https://developer.android.com/training/multiscreen/screensizes 要了解有关 Android 平台中 SVG 支持的更多信息,请查看: https://developer.android.com/studio/write/vector-asset-studio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接