Android:在Android中设置TextView动画以随时间增加其值(浮动)

Android:在Android中设置TextView动画以随时间增加其值(浮动),android,Android,我在Android中有一个文本视图,它将显示浮点值。我想展示一个动画,其中它的值在给定的时间内从0增加到给定的浮点值。我需要小数点后的数字被动画以及 另外,我尝试了Pedro Oliveira发布的以下解决方案,但它只适用于int值。我更关心的是设置浮点值的动画 public void animateTextView(int initialValue, int finalValue, final TextView textview) { DecelerateInterpolator de

我在Android中有一个文本视图,它将显示浮点值。我想展示一个动画,其中它的值在给定的时间内从0增加到给定的浮点值。我需要小数点后的数字被动画以及

另外,我尝试了Pedro Oliveira发布的以下解决方案,但它只适用于int值。我更关心的是设置浮点值的动画

public void animateTextView(int initialValue, int finalValue, final TextView textview) {
    DecelerateInterpolator decelerateInterpolator = new DecelerateInterpolator(0.8f);
    int start = Math.min(initialValue, finalValue);
    int end = Math.max(initialValue, finalValue);
    int difference = Math.abs(finalValue - initialValue);
    Handler handler = new Handler();
    for (int count = start; count <= end; count++) {
        int time = Math.round(decelerateInterpolator.getInterpolation((((float) count) / difference)) * 100) * count;
        final int finalCount = ((initialValue > finalValue) ? initialValue - count : count);
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                textview.setText(finalCount + "");
            }
        }, time);
    }
public void animateTextView(int initialValue、int finalValue、final TextView TextView){
减速插补器减速插补器=新减速插补器(0.8f);
int start=Math.min(初始值,最终值);
int end=Math.max(初始值,最终值);
int差=Math.abs(finalValue-initialValue);
Handler=newhandler();
对于(int count=start;count finalValue)?initialValue-count:count;
handler.postDelayed(新的Runnable(){
@凌驾
公开募捐{
textview.setText(finalCount+“”);
}
},时间);
}
我找到了问题的答案。艾哈迈德扎赫的回答对我来说非常有效,我只是稍微修改了代码

 public void animateTextView(float initialValue, float finalValue, final TextView  textview) {

    ValueAnimator valueAnimator = ValueAnimator.ofFloat(initialValue, finalValue);
    valueAnimator.setDuration(1500);

    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {

            textview.setText(valueAnimator.getAnimatedValue().toString());

        }
    });
    valueAnimator.start();

}

我怀疑这个问题是否会因为反对票的数量而获得更多的意见,但我希望这会帮助那些迫切需要答案的人:)。

那么,到目前为止,你尝试了什么?你有什么问题?计时器?字符串格式?为了避免获得这么多的反对票,我建议以后提供更多信息。现在,这个问题看起来像是:“我遇到了这个问题,没有尝试任何东西,告诉我解决方法。”最简单的方法是使用
ObjectAnimator
,谢谢大家的提醒。我意识到我没有提供太多的信息。但是,在另一个问题中给出了一个解决方案之后,我找到了我在下面发布的答案。请停止向下投票。-->为什么?你的问题还是不好,你没有为别人努力,为什么别人要为你努力呢?深思熟虑。@2你看我不是已经把答案贴出来了吗?如果这不算努力,我不知道什么算努力。