哪个主题属性更改了EditText的错误消息的文本颜色

时间:2011-07-19 10:16:29

标签: android themes android-edittext android-3.0-honeycomb

在我的表单中,我在setError("")字段上使用EditText。我的应用主题延伸android:Theme.Holo 我已为android:errorMessageBackgroundandroid:errorMessageBackgroundAbove手动设置了背景较暗的图像。

现在问题是:错误消息的文本颜色也很暗,不可读。

我尝试在主题中更改不同的textColor属性,但我找不到正确的属性。

是的,有人可以帮助我吗? 谢谢! 克里斯

6 个答案:

答案 0 :(得分:1)

您可以使用 HTML字体标记

更改文字颜色

但是要自定义背景颜色,您应该自定义弹出窗口。 欲了解更多信息,请通过以下链接: - How to write style to error text of EditText in android?

答案 1 :(得分:1)

你可以尝试这个:

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

答案 2 :(得分:0)

在manifest.xml中执行以下操作

<resources>
    <style name="LightErrorFix" parent="@android:style/Theme.Light">
         <item name="android:textColorSecondaryInverse">@android:color/secondary_text_light</item>
    </style>
</resources>

答案 3 :(得分:0)

设置属性 android:textColorPrimaryInverse="YourCOLOR"与颜色结合。

答案 4 :(得分:0)

假设你是这样的:

EditText text = (EditText) findViewById(R.id.myedittext);

您可以执行以下操作:

text.setTextColor(Color.parseColor("#FFFFFF"));

text.setTextColor(Color.rgb(200,0,0));

或者如果你想/需要alpha:

text.setTextColor(Color.argb(0,200,0,0));

无论如何,你应该在color.xml中指定你的颜色(更好地维护):

<color name="myColor">#f00</color>

然后像这样使用它:

text.setTextColor(getResources().getColor(R.color.myColor));

玩得开心:)

答案 5 :(得分:0)

我的回答有效,就在kotlin。

private fun setErrorOnSearchView(searchView: SearchView, errorMessage: String) {
    val id = searchView.context
            .resources
            .getIdentifier("android:id/search_src_text", null, null)
    val editText = searchView.find<EditText>(id)

    val errorColor = ContextCompat.getColor(this,R.color.red)
    val fgcspan = ForegroundColorSpan(errorColor)
    val builder = SpannableStringBuilder(errorMessage)
    builder.setSpan(fgcspan, 0, errorMessage.length, 0)
    editText.error = builder
}