AutoCompleteTextView 正在突出显示
AutoCompleteTextView is getting highlighted
我已经使用 AutoCompleteTextView 组件为电子邮件和密码创建了一个登录名 activity。一旦自动完成,这些字段就会突出显示。
如何禁用此突出显示?
找不到与此相关的 属性。
form inputs are getting highlighted screenshot
遗憾的是,我无法通过设计属性(样式/布局属性等)找到任何解决方案。
我不得不使用一个解决方法,这不是最漂亮的 - 但完成了:
- 向相关的 EditText 添加了 TextChangeListener:
mPasswordView.addTextChangedListener(textWatcherWorkAround);
- 在监听器中,我在 'afterTextChanged' 重写方法中添加了:
// til is the TextInputLayout wrapping my EditText
til.setBackground(getResources().getDrawable(android.R.color.transparent));
mPasswordView.removeTextChangedListener(this);
mEmailView.removeTextChangedListener(this); // To avoid infinite loop
String original = mPasswordView.getText().toString();
mPasswordView.setText(original + " ");
mPasswordView.addTextChangedListener(this); // To next time
它不是很好,如果您找到任何直接的更好的方法,请告诉我。
现在 - 我希望它能帮助遇到这个问题的人!
虽然过了一段时间,但我终于找到了正确的答案。
此亮点归功于 Android 的自动填充框架。
覆盖突出显示设置 -
- SDK 最低版本必须 > 26
- 在应用主题(样式)中添加以下项目:android:autofilledHighlight
并将该值设置为您想要的任何颜色('disable' 此突出显示只需将其设置为透明)。
我已经使用 AutoCompleteTextView 组件为电子邮件和密码创建了一个登录名 activity。一旦自动完成,这些字段就会突出显示。 如何禁用此突出显示? 找不到与此相关的 属性。
form inputs are getting highlighted screenshot
遗憾的是,我无法通过设计属性(样式/布局属性等)找到任何解决方案。
我不得不使用一个解决方法,这不是最漂亮的 - 但完成了:
- 向相关的 EditText 添加了 TextChangeListener:
mPasswordView.addTextChangedListener(textWatcherWorkAround);
- 在监听器中,我在 'afterTextChanged' 重写方法中添加了:
// til is the TextInputLayout wrapping my EditText til.setBackground(getResources().getDrawable(android.R.color.transparent)); mPasswordView.removeTextChangedListener(this); mEmailView.removeTextChangedListener(this); // To avoid infinite loop String original = mPasswordView.getText().toString(); mPasswordView.setText(original + " "); mPasswordView.addTextChangedListener(this); // To next time
它不是很好,如果您找到任何直接的更好的方法,请告诉我。 现在 - 我希望它能帮助遇到这个问题的人!
虽然过了一段时间,但我终于找到了正确的答案。 此亮点归功于 Android 的自动填充框架。
覆盖突出显示设置 -
- SDK 最低版本必须 > 26
- 在应用主题(样式)中添加以下项目:android:autofilledHighlight 并将该值设置为您想要的任何颜色('disable' 此突出显示只需将其设置为透明)。