gpt4 book ai didi

Android 更改 EditText 的下划线长度

转载 作者:行者123 更新时间:2023-11-30 01:09:46 24 4
gpt4 key购买 nike

我有一个提示(“名称”),下划线覆盖了提示的长度,但是当我开始输入时,如果下划线比提示短,则下划线不会跟随我输入的内容的长度。我想知道是否有办法改变下划线的长度?

enter image description here [ enter image description here ][ enter image description here ] 3

最佳答案

此代码应满足您的要求:

final EditText editText = (EditText) findViewById(R.id.edit_query);
final CharSequence rememberHint = editText.getHint();
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if (!b && TextUtils.isEmpty(editText.getText())) {
editText.setHint(rememberHint);
} else {
editText.setHint("");
}
}
});

我使用 hack,因此,当我们关注我们的 edittext 或取消关注它但它不是空的时,我们从中清除提示,然后,当我们取消关注它并且它是空的时,我们将提示放回去。

已更新

您还可以添加文本观察器以在您清除所有文本但没有从中移开焦点时在其位置返回提示:

editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}

@Override
public void afterTextChanged(Editable editable) {
if (editable.length() != 0) {
editText.setHint("");
} else {
editText.setHint(rememberHint);
}
}
});

这个对答案的补充将从用户的角度提供更多的默认行为。

关于Android 更改 EditText 的下划线长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38534707/

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