在我的表单中,我在setError("")
字段上使用EditText
。我的应用主题延伸android:Theme.Holo
我已为android:errorMessageBackground
和android:errorMessageBackgroundAbove
手动设置了背景较暗的图像。
现在问题是:错误消息的文本颜色也很暗,不可读。
我尝试在主题中更改不同的textColor
属性,但我找不到正确的属性。
答案 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
}