EditText 的货币格式
Currency format for EditText
我正在使用此 library 在用户输入时格式化文本。我有一个 EditText
用户输入钱的地方。我想作为用户类型实现以下行为:
用户输入 -> 结果 EditText
1 -> 1 美元
10 -> 10 美元
100 -> 100 美元
1000 -> 1000 美元
然而,我得到的是:
1 -> 1 美元
10 -> 10 美元
100 -> 100 美元
1000 -> 100 0 美元
val mask = MaskedTextChangedListener(
"[000] [000] [000] dollars",
false,
etAmount,
object : TextWatcher {
override fun afterTextChanged(s: Editable?) { }
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
},
null
)
etAmount.addTextChangedListener(mask)
关于如何实现这一点的文档不是很清楚,我被困在这个问题上。任何建议将不胜感激。
这里是图书馆作者。
我们有一个 wiki page 描述从右到左对齐的文本的遮罩;此页面包含一个类似于您的案例。
简而言之,尝试像这样配置您的侦听器:
mask.rightToLeft = true
我正在使用此 library 在用户输入时格式化文本。我有一个 EditText
用户输入钱的地方。我想作为用户类型实现以下行为:
用户输入 -> 结果 EditText
1 -> 1 美元
10 -> 10 美元
100 -> 100 美元
1000 -> 1000 美元
然而,我得到的是:
1 -> 1 美元
10 -> 10 美元
100 -> 100 美元
1000 -> 100 0 美元
val mask = MaskedTextChangedListener(
"[000] [000] [000] dollars",
false,
etAmount,
object : TextWatcher {
override fun afterTextChanged(s: Editable?) { }
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
},
null
)
etAmount.addTextChangedListener(mask)
关于如何实现这一点的文档不是很清楚,我被困在这个问题上。任何建议将不胜感激。
这里是图书馆作者。
我们有一个 wiki page 描述从右到左对齐的文本的遮罩;此页面包含一个类似于您的案例。
简而言之,尝试像这样配置您的侦听器:
mask.rightToLeft = true