在Android中将动画添加到自定义视图的最佳方法

时间:2018-09-27 03:33:12

标签: android android-animation custom-controls

我在创建游戏的地方有一个自定义视图。当玩家获得一些积分时,我想添加一个动画,例如相对于自定义视图从任意x,y位置冒泡的“ +500”。

我正在考虑最坏的情况,我可以为每个屏幕尺寸使用不同的图像,并通过让线程更改其在onDraw中视图代码中的位置来动画化它们,反复调用invalidate。好像我正在重新发明轮子。

使用Android看起来像现有视图一部分的东西,如何更好地在自定义视图上设置动画?

2 个答案:

答案 0 :(得分:2)

使用ObjectAnimator。您可以阅读有关here的信息。如果只想设置文本动画(例如+500),请使用TextView并在其上应用ValueAnimator。像这样:

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

您可以获取自定义视图的y位置,然后从此处开始动画:

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

答案 1 :(得分:2)

如果有帮助,请找到以下链接

您可以使用本教程https://proandroiddev.com/how-to-create-a-bubble-selection-animation-on-android-627044da4854

使textView进行动画处理

,您可以使用此库创建气泡背景动画。

https://github.com/glomadrian/Grav