最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿支付寶中余額寶的數(shù)字動(dòng)畫(huà)效果

 更新時(shí)間:2016年08月30日 15:07:20   作者:李晨瑋  
最近因?yàn)楣ぷ餍枰叻掠囝~寶數(shù)字動(dòng)畫(huà)效果,達(dá)到炫酷的數(shù)字動(dòng)畫(huà)效果,所以寫(xiě)出了分享給大家,有需要的朋友可以直接拿來(lái)用,下面一起來(lái)看看。

實(shí)現(xiàn)效果圖:

下面是具體代碼,可直接復(fù)制:

package com.lcw.rabbit.widget;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.widget.TextView;

/**
 * 高仿余額寶數(shù)字動(dòng)畫(huà)
 * Create by: chenwei.li
 * Date: 2016-07-20
 * time: 11:52
 * Email: lichenwei.me@foxmail.com
 */
public class CountNumberView extends TextView {
 //動(dòng)畫(huà)時(shí)長(zhǎng)
 private int duration = 1500;
 //顯示數(shù)字
 private float number;
 //顯示表達(dá)式
 private String regex;

 //顯示表示式
 public static final String INTREGEX = "%1$01.0f";//不保留小數(shù),整數(shù)
 public static final String FLOATREGEX = "%1$01.2f";//保留2位小數(shù)

 public CountNumberView(Context context, AttributeSet attrs) {
 super(context, attrs);
 }

 /**
 * 顯示帶有動(dòng)畫(huà)效果的數(shù)字
 * @param number
 * @param regex
 */
 public void showNumberWithAnimation(float number, String regex) {
 if (TextUtils.isEmpty(regex)) {
  //默認(rèn)為整數(shù)
  this.regex = INTREGEX;
 } else {
  this.regex = regex;
 }
 //修改number屬性,會(huì)調(diào)用setNumber方法
 ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(this, "number", 0, number);
 objectAnimator.setDuration(duration);
 //加速器,從慢到快到再到慢
 objectAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
 objectAnimator.start();
 }

 /**
 * 獲取當(dāng)前數(shù)字
 * @return
 */
 public float getNumber() {
 return number;
 }

 /**
 * 根據(jù)正則表達(dá)式,顯示對(duì)應(yīng)數(shù)字樣式
 * @param number
 */
 public void setNumber(float number) {
 this.number = number;
 setText(String.format(regex, number));
 }
}

使用方法,在XML里聲明后(可以完全當(dāng)成TextView來(lái)使用),直接在Java文件里調(diào)用:

 mTvCountNum1.showNumberWithAnimation(3201.23f, CountNumberView.FLOATREGEX);
 mTvCountNum2.showNumberWithAnimation(65535f, CountNumberView.INTREGEX);

這里為了靈活使用,預(yù)留了數(shù)字顯示格式(默認(rèn)提供整型號(hào)和浮點(diǎn)型),大家可以根據(jù)自己的需要去更改Regex。

關(guān)于String.format的第一個(gè)格式參數(shù),這里引用下api的描述:

常規(guī)類(lèi)型、字符類(lèi)型和數(shù)值類(lèi)型的格式說(shuō)明符的語(yǔ)法如下:

%[argument_index$][flags][width][.precision]conversion

可選的 argument_index 是一個(gè)十進(jìn)制整數(shù),用于表明參數(shù)在參數(shù)列表中的位置。第一個(gè)參數(shù)由 "1$" 引用,第二個(gè)參數(shù)由 "2$" 引用,依此類(lèi)推。

可選 flags 是修改輸出格式的字符集。有效標(biāo)志集取決于轉(zhuǎn)換類(lèi)型。

可選 width 是一個(gè)非負(fù)十進(jìn)制整數(shù),表明要向輸出中寫(xiě)入的最少字符數(shù)。

可選 precision 是一個(gè)非負(fù)十進(jìn)制整數(shù),通常用來(lái)限制字符數(shù)。特定行為取決于轉(zhuǎn)換類(lèi)型。

總結(jié)

Android仿支付寶中余額寶的數(shù)字動(dòng)畫(huà)效果到這就結(jié)束了,希望這篇文章對(duì)大家在Android開(kāi)發(fā)中能有所幫助,如果有疑問(wèn)可以留言交流。

相關(guān)文章

最新評(píng)論

肃北| 绥中县| 余江县| 中江县| 砀山县| 吴忠市| 井研县| 兴安盟| 邹平县| 沙河市| 荆门市| 都兰县| 南宫市| 邢台县| 盈江县| 慈溪市| 页游| 桐庐县| 石景山区| 永吉县| 湖南省| 南雄市| 万载县| 武汉市| 广平县| 永兴县| 科技| 望谟县| 墨竹工卡县| 淳化县| 青阳县| 临高县| 贺兰县| 浑源县| 信丰县| 普洱| 柘荣县| 台江县| 昌图县| 通河县| 仙居县|