作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试为我的 android 应用程序编写新的自定义样式。我需要为在 EditText
中设置 setError
后出现的 errorText 赋予样式。
如何自定义样式?
例如:我想在style.xml中设置它的background
white和textColor
: Blue etc.
最佳答案
解决方案在最后,截图如下:
一些解释
您可能可以使用以下行设置文本颜色
yourEditText.setError(Html.fromHtml("<font color='blue'>this is the error</font>"));
但是,这可能无法保证。
根据源码,显示的这个Popup
是ErrorPopup
类型,是TextView
内部的一个内部类。此 Popup
的内容是从 com.android.internal.R.layout.textview_hint
TextView
final TextView err = (TextView) inflater.inflate(com.android.internal.R.layout.textview_hint,
null);
这个Popup
的背景取决于是否应该放在 anchor 上方:
if (above) {
mView.setBackgroundResource(com.android.internal.R.drawable.popup_inline_error_above);
} else {
mView.setBackgroundResource(com.android.internal.R.drawable.popup_inline_error);
}
由于用于创建弹出窗口的所有 android 资源都是内部的并且最终是硬编码的,因此您最好的办法是创建自己的错误弹出窗口。这将非常简单,并且您不会真正干扰正常的 EditText
,因为默认弹出窗口仅用于显示错误,因此,创建自己的就可以了。
解决方案
我在这里创建了它:WidgyWidgets
关于android - 如何在android中将样式写入EditText的错误文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14413575/
我是一名优秀的程序员,十分优秀!