日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android数字滚动动画,Android超简单实现金钱滚动效果

發(fā)布時間:2024/9/27 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android数字滚动动画,Android超简单实现金钱滚动效果 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

目錄

效果展示

實現(xiàn)原理

利用ValueAnimator將數(shù)值從0一直增長到你所需要展示的數(shù)值,然后使用TextView將增長過程中的數(shù)值不斷展示即可實現(xiàn)金錢的滾動效果。

ValueAnimator基礎講解

ValueAnimator是Android中用來實現(xiàn)屬性動畫的類,它是Android3.0后才引入的,它可以實現(xiàn)將數(shù)值從某一個值到某一個值的變化,比如ValueAnimator.ofInt(10,100)就可以實現(xiàn)數(shù)值從10到100的變化,而此方法的參數(shù)類型是可變長度的參數(shù),即可以傳入多個數(shù)值,比如ValueAnimator.ofInt(10,100,20)則可實現(xiàn)數(shù)值從10到100到20的變化,那么我們如何獲取期間變化的值呢?這里我們通過valueAnimator.addUpdateListener()添加一個監(jiān)聽事件來獲取,而動畫的時長可以用setDuration()方法來設置。

ValueAnimator mValueAnimator = ValueAnimator.ofInt(0,100);

mValueAnimator.setDuration(1000);//動畫時間為1秒

mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

int value = (int) animation.getAnimatedValue();//獲取期間變化的值

}

});

實現(xiàn)效果(代碼展示)

public class RunnTextView extends TextView {

private ValueAnimator mValueAnimator;

private DecimalFormat mDf;

public RunnTextView(Context context) {

this(context,null);

}

public RunnTextView(Context context, @Nullable AttributeSet attrs) {

this(context, attrs,0);

}

public RunnTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

init();

}

private void init() {

//格式化小數(shù)(保留小數(shù)點后兩位)

mDf = new DecimalFormat("0.00");

initAnim();

}

/**

* 初始化動畫

*/

private void initAnim() {

mValueAnimator = ValueAnimator.ofFloat(0,0);//由于金錢是小數(shù)所以這里使用ofFloat方法

mValueAnimator.setDuration(1000);//動畫時間為1秒

mValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

float value = (float) animation.getAnimatedValue();

if(value>0){//當數(shù)值大于0的時候才賦值

setText(mDf.format(value));

}

}

});

}

/**

* 設置要顯示的金錢

* @param money

*/

public void setMoney(float money){

mValueAnimator.setFloatValues(0,money);//重新設置數(shù)值的變化區(qū)間

mValueAnimator.start();//開啟動畫

}

/**

* 取消動畫和動畫監(jiān)聽(優(yōu)化內存)

*/

public void cancle(){

mValueAnimator.removeAllUpdateListeners();//清除監(jiān)聽事件

mValueAnimator.cancel();//取消動畫

}

}

總結

以上是生活随笔為你收集整理的android数字滚动动画,Android超简单实现金钱滚动效果的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。