如何在TextView中使单个字符逐渐消失

4

有没有人知道一种有效的方法来执行一种动画,它所要做的就是逐个显示文本字符?

例如:

我在TextView中有值1225。现在value将变为1250。现在我需要做的动画如下:

1225中的最后一个数字(5)想要向上淡出,新值6也会以同样的方式出现,我需要递增这个1225的值,直到达到1250。有人能给我建议吗?


1
使用Framelayout可以让您滑动/淡化每个视图(例如,透明背景)。但在您的情况下,问题是您不希望第一个数字改变(被淡化)。只要所有数字都在同一个TextView中,它可能不会按照您想要的方式工作。将每个数字放入自己的TextView中应该可以解决问题。然后,通过使用Framelayout,您将能够将每个数字与另一个数字一起滑动/淡化。关于我的信息:您是否在其他应用程序中看到过这样的事情? - HpTerm
我在其他应用程序中没有看到过这种动画。 - No_Rulz
正如我所说,我认为您需要将每个数字放入不同的文本视图中,并在帧布局中管理它们的间距/滑动/透明度。这将是一条漫长的路...但对我来说是可能的。很抱歉我没有提供代码。我有用于推送视图的代码,就像您在“stickyheaders”中找到的那样,用于listview。但它只是正确计算它们各自位置的视图在框架布局中推送一个视图。我不认为它会对您有太大帮助。 - HpTerm
你可以发一张简单的图片来解释你想要的动画吗? - user
1个回答

0

你可以使用TextSwitcher

看一下TextSwitcher的API演示。你可以结合setInAnimation()setOutAnimation()使用setText(),这样文本就会有动画效果地改变。

更新

我在这里找到了一个好的解决方案!


它将提供整个文本进行动画,但我需要在文本中单独动画一个字符。 - No_Rulz
哦,很抱歉我的朋友! :-( - Jorge Gil

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