如何更改EditText的错误弹出窗口的文本颜色?

时间:2012-01-24 18:34:41

标签: android android-edittext

在ICS上,当使用基于android:Theme.Light的主题时,使用setError(...)错误弹出中的文字为白色,背景也是如此。

我可以通过在我的主题中添加<item name="android:textColorPrimaryInverse">#ff000000</item>来解决此问题。虽然这有助于我有点担心通过改变其他一些文本,使用textColorPrimaryInverse将从白色变为黑色并且可能不可见。我只想更改显示有问题的弹出窗口EditText或仅针对该活动的属性。

澄清

我想更改弹出窗口的属性,最好是文本颜色,当用户在EditText输入错误信息时,会显示错误消息。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

editText.setError(Html.fromHtml("<font color='red'>Error Message!</font>"));

答案 1 :(得分:0)

在代码中使用http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int)或http://developer.android.com/reference/android/view/View.html#setBackgroundColor(int)。它们属于View,但EditText继承它们。第二种方法更容易,第一种方法更为一致。

编辑:哦,这是一个更难的问题。 也许,使用EditText.setError(CharSequence错误,Drawable图标),您可以在图标上放置错误文本?您可以为图标设置setBounds(Rect),因此,它可能足够大。图标可以是您需要的颜色。

但我使用onKey,beforeTextChanged,onTextChanged并将自己的错误消息显示为Toast。对于吐司,你可以使用通常的视图。