我会给你提供一个想法,具体实现取决于你。创建一个TextWatcher,在其中
onTextChanged()
统计用户输入的数字数量,根据数字数量创建一个用零填充的字符串。然后将这些零变成不同的颜色。
Spannable textWithTintedZeros = new SpannableString(paddedString);
textWithTintedZeros.setSpan(new ForegroundColorSpan(yourGrey), firstZeroIndex, length, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
editText.setText(textWithTintedZeros);
editText.setSelection(indexBeforeFirstZero);
View.OnKeyListener
setText()
在onTextChanged()
内设置EditText
的文本时,onTextChanged()
方法会被递归调用。 - MC Emperor