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

问题描述 投票:0回答:6

在我的表单中,我在

setError("")
字段上使用
EditText
。我的应用程序主题扩展了
android:Theme.Holo

我已手动为
android:errorMessageBackground
android:errorMessageAboveBackground
设置了深色背景的图像。

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

我尝试更改主题中不同的

textColor
属性,但我无法找到正确的属性。

有人可以帮助我吗?

android themes android-edittext android-3.0-honeycomb
6个回答
1
投票

您可以使用 HTML 字体标签更改文本颜色。

但是要自定义背景颜色,您应该制作自己的自定义弹出窗口。 欲了解更多信息,请访问此链接:- android中EditText的错误文本如何写入样式?


1
投票

你可以试试这个:

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

0
投票

在manifest.xml中执行以下操作

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

0
投票

假设你做了这样的事情:

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

您可以执行以下操作:

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

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

或者如果你想要/需要阿尔法:

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

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

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

然后像这样使用它:

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

玩得开心:)


0
投票

设置属性

android:textColorPrimaryInverse="YourCOLOR"
需要的颜色。


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
}
© www.soinside.com 2019 - 2024. All rights reserved.