我有一个自定义 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/