我是一名设计师,并且对我可以将动画移交给Android开发人员的各种方式以及根据特定情况进行操作的最佳方式感兴趣。
1。 JSON
我知道Lottie最适合动画微交互并创建动画插图,就像入门页面上的动画一样。对于设计人员而言,提供JSON文件很容易,因为它可以使用AfterEffects中的Bodymovin插件生成。开发人员只需获取文件并按原样使用它,无需他做更多的工作。
2。 Java或Kotlin
需要复杂交互的UI元素通常是用代码构建的,例如BubblePicker,因为它在那些气泡中具有可变的内容,并且具有不同的交互方式。由于设计工具无法生成可用于生产的代码,因此设计人员可以从Principle等工具中导出视频录像,因此可以在ProtoPie或其他工具中生成可点击的原型。设计师尝试了不同的方式来展示动画的想法,但在这种情况下,所有工作都留给了开发人员。
3。 XML
不知道开发人员何时使用这种类型,以及设计人员是否可以使用某些设计工具的导出功能提供这种类型。
开发人员还可以使用哪些其他技术来创建动画?
考虑到不同情况,原型设计人员应为开发人员提供哪种类型的文件?
答案 0 :(得分:2)
Android动画API确实是多种多样的,这意味着开发人员可以选择多种方式来交付动画。我敢说这绝不应该受所提供的resources
的性质或限制的限制。让我们用resources
理解不是实际代码的任何东西:位图图像,音频文件甚至文本。知道开发人员可以或想要使用的文件类型或格式涉及沟通,您可以期望它们不会总是相同的。
除非可以用单个词描述,否则始终提供动画视频。
android中最常见的动画是:
可绘制的动画。这种类型的动画通常发生在屏幕上的预定义区域内,并且是通过依次加载一系列图像来实现的。在这里,一个常见的文件类型是PNG图片,每个动画步骤一个。您用于视频的不同精灵数量可能相同,从不超过24 / s!请记住,要支持不同的屏幕尺寸和密度,必须为每个系列提供不同的尺寸/密度。如果图像很简单,矢量图形将简化编码人员和设计人员的工作,则支持常规的SVG。
只要可以兼容变形,就可以在矢量图像的路径上设置动画,甚至可以在其中几个之间进行变形,根据文档they must have the same number of commands and the same number of parameters for each command.
...这需要更多了解矢量文件定义,如果您可以通过阅读SVG代码查看图像,那就快去做吧!
另一个主要类别包括应用程序UI元素的动画(通过作用于颜色,位置,大小和etx等属性)。此类型可能涉及也可能不涉及图像资源,通常应用于预定义类型的组件。例如:all buttons should have a ripple effect starting where the pointer clicks
。 Android具有带有特定名称(翻转,缩放)的预定义效果,了解此词汇表可能会很有用。
最后,布局更改是动画,当您对周围的事物进行重新排序以更好地传达信息或提示用户进行操作时会发生这种情况。与Transitions
相似的是id
,它在切换屏幕时发生,但也可以用于创建动画来移动图像,从而改变其位置和属性。它们确实很容易实现,并且可能需要与 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