android - 在 Android 中向自定义 View 添加动画的最佳方式

标签 android android-animation custom-controls

我有一个自定义 View ,我在其中创建了一个游戏。当玩家获得一些分数时,我想添加一个动画,比方说,“+500”从相对于自定义 View 的任意 x、y 位置冒泡。

我在想最坏的情况,我可以为每个屏幕尺寸使用不同的图像,并通过让一个线程在我的 View 代码中的 onDraw 中更改它们的位置来为它们设置动画,反复调用 invalidate。不过,这似乎是我在重新发明轮子。

如何使用 Android 拥有的看起来像现有 View 一部分的东西,以更好的方式在自定义 View 上制作动画?

最佳答案

使用ObjectAnimator .你可以阅读它here .如果您只想为文本设置动画(如 +500),则使用 TextView 并在其上应用 ValueAnimator。像这样:

ObjectAnimator anim = ObjectAnimator.ofFloat(textView, "translationY", 0,100f);
anim.setDuration(2000);
anim.start();

您可以获得自定义 View 的 y 位置,并从那里开始动画:

`ObjectAnimator anim = ObjectAnimator.ofFloat(textView, "translationY",y,y-100f);`

关于android - 在 Android 中向自定义 View 添加动画的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52529042/

相关文章:

java - 如何更改 AppCompatButton 菜单项文本

android-layout - Android:编辑文本提示

java - 是否可以在通知窗口(Android)上制作动画图标

java - 什么是 Swift 字典的 Android Java 等价物?

jquery - 当视频自定义控件搜索栏试图结束时,HTML5 视频结束事件未触发

c++ - MFC 自定义控件未出现在对话框中

android - fragment 之间的过渡动​​画

android - postDelayed run() 内部不会调用动画

java - 简单缩放动画期间的中心 View

c# - 将自定义控件内的 TextBlock 绑定(bind)到同一自定义控件的依赖属性