gpt4 book ai didi

android - 在 Android 中输入 EditText 时的占位符提示

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:15:12 25 4
gpt4 key购买 nike

我有一个 EditText 字段,用户只能输入六位数字。当 EditText 获得焦点时,它应该提示用户他只能输入六位数字。

想法是将剩余的数字显示为灰色,如下所示:

Hint for remaining digits

当用户输入一个数字时,它看起来像这样:

Hint for remaining digits

(红色竖线代表光标。)

在两个图像中,光标不应位于其当前位置之后;灰色数字应该只可见,不应该是可选的。

所以实际上我想设置一个占位符文本,但在用户键入时保留一部分占位符文本。

我从 Design Support 库中了解了 TextInputLayout 类,但我不知道如何实现上述想法。

如何做到这一点?

最佳答案

我只会给你想法,所以实现取决于你。在

中创建您的 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

关于android - 在 Android 中输入 EditText 时的占位符提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35240908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com