Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ChayChan
PowerfulViewLibrary
提交
850b5b3f
P
PowerfulViewLibrary
项目概览
ChayChan
/
PowerfulViewLibrary
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
6
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PowerfulViewLibrary
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
6
Issue
6
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
850b5b3f
编写于
1月 29, 2018
作者:
C
chaychan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复金额精度变化的问题
上级
42799f70
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
4 deletion
+22
-4
viewlib/src/main/java/com/chaychan/viewlib/BigDecimalEvaluator.java
...c/main/java/com/chaychan/viewlib/BigDecimalEvaluator.java
+16
-0
viewlib/src/main/java/com/chaychan/viewlib/NumberRunningTextView.java
...main/java/com/chaychan/viewlib/NumberRunningTextView.java
+6
-4
未找到文件。
viewlib/src/main/java/com/chaychan/viewlib/BigDecimalEvaluator.java
0 → 100644
浏览文件 @
850b5b3f
package
com.chaychan.viewlib
;
import
android.animation.TypeEvaluator
;
import
java.math.BigDecimal
;
class
BigDecimalEvaluator
implements
TypeEvaluator
{
@Override
public
Object
evaluate
(
float
fraction
,
Object
startValue
,
Object
endValue
)
{
BigDecimal
start
=
(
BigDecimal
)
startValue
;
BigDecimal
end
=
(
BigDecimal
)
endValue
;
BigDecimal
result
=
end
.
subtract
(
start
);
return
result
.
multiply
(
new
BigDecimal
(
""
+
fraction
)).
add
(
start
);
}
}
\ No newline at end of file
viewlib/src/main/java/com/chaychan/viewlib/NumberRunningTextView.java
浏览文件 @
850b5b3f
...
@@ -9,6 +9,7 @@ import android.widget.TextView;
...
@@ -9,6 +9,7 @@ import android.widget.TextView;
import
com.chaychan.viewlib.utils.StringUtils
;
import
com.chaychan.viewlib.utils.StringUtils
;
import
java.math.BigDecimal
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
/**
/**
...
@@ -97,19 +98,20 @@ public class NumberRunningTextView extends TextView {
...
@@ -97,19 +98,20 @@ public class NumberRunningTextView extends TextView {
public
void
playMoneyAnim
(
String
moneyStr
)
{
public
void
playMoneyAnim
(
String
moneyStr
)
{
String
money
=
moneyStr
.
replace
(
","
,
""
).
replace
(
"-"
,
""
);
//如果传入的数字已经是使用逗号格式化过的,或者含有符号,去除逗号和负号
String
money
=
moneyStr
.
replace
(
","
,
""
).
replace
(
"-"
,
""
);
//如果传入的数字已经是使用逗号格式化过的,或者含有符号,去除逗号和负号
try
{
try
{
float
finalFloat
=
Float
.
parseFloat
(
money
);
BigDecimal
bigDecimal
=
new
BigDecimal
(
money
);
float
finalFloat
=
bigDecimal
.
floatValue
();
if
(
finalFloat
<
minMoney
)
{
if
(
finalFloat
<
minMoney
)
{
//如果传入的为0,则直接使用setText()
//如果传入的为0,则直接使用setText()
setText
(
moneyStr
);
setText
(
moneyStr
);
return
;
return
;
}
}
ValueAnimator
floatAnimator
=
ValueAnimator
.
of
Float
(
0
,
finalFloat
);
ValueAnimator
floatAnimator
=
ValueAnimator
.
of
Object
(
new
BigDecimalEvaluator
(),
new
BigDecimal
(
0
),
bigDecimal
);
floatAnimator
.
setDuration
(
duration
);
floatAnimator
.
setDuration
(
duration
);
floatAnimator
.
addUpdateListener
(
new
ValueAnimator
.
AnimatorUpdateListener
()
{
floatAnimator
.
addUpdateListener
(
new
ValueAnimator
.
AnimatorUpdateListener
()
{
@Override
@Override
public
void
onAnimationUpdate
(
ValueAnimator
animation
)
{
public
void
onAnimationUpdate
(
ValueAnimator
animation
)
{
float
currentNum
=
(
float
)
animation
.
getAnimatedValue
();
BigDecimal
currentNum
=
(
BigDecimal
)
animation
.
getAnimatedValue
();
String
str
=
formatter
.
format
(
Double
.
parseDouble
(
String
.
valueOf
(
currentNum
)));
//格式化成两位小数
String
str
=
formatter
.
format
(
Double
.
parseDouble
(
currentNum
.
toString
(
)));
//格式化成两位小数
// 更新显示的内容
// 更新显示的内容
if
(
useCommaFormat
)
{
if
(
useCommaFormat
)
{
//使用每三位数字一个逗号的格式
//使用每三位数字一个逗号的格式
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录