gpt4 book ai didi

java - 如何在 Android 中为 textView 创建计数效果

转载 作者:IT老高 更新时间:2023-10-28 23:26:32 28 4
gpt4 key购买 nike

我正在开发一个应用程序来计算几段文本中问号的数量。

扫描完成后(完全不需要时间),我希望在数字从 0 变为 TOTAL 后显示总数。所以,对于 10:0,1,2,3,4,5,6,7,8,9 10 然后停止。

我尝试了几种不同的技术:

                TextView sentScore = (TextView) findViewById(R.id.sentScore);

long freezeTime = SystemClock.uptimeMillis();

for (int i = 0; i < sent; i++) {
if ((SystemClock.uptimeMillis() - freezeTime) > 500) {
sentScore.setText(sent.toString());
}
}

我也试过这个:

    for (int i = 0; i < sent; i++) { 
// try {
Thread.sleep(500);

} catch (InterruptedException ie) {
sentScore.setText(i.toString());
}
}

我确信这些都是完全业余的尝试。任何帮助将不胜感激。

谢谢,

理查德

最佳答案

我为此使用了更传统的 Android 风格动画:

        ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0, count);
animator.addUpdateListener(new AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
view.setText(String.valueOf(animation.getAnimatedValue()));
}
});
animator.setEvaluator(new TypeEvaluator<Integer>() {
public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
return Math.round(startValue + (endValue - startValue) * fraction);
}
});
animator.setDuration(1000);
animator.start();

您可以使用 0count 值来使计数器从任意数字变为任意数字,并使用 1000设置整个动画的持续时间。

请注意,这支持 Android API 级别 11 及更高级别,但您可以使用很棒的 nineoldandroids项目使其易于向后兼容。

关于java - 如何在 Android 中为 textView 创建计数效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9736940/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com