jar*_*mod 20 android android-edittext
我有一个非常简单的EditText,如下所示:
<EditText
android:id="@+id/myedit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:maxLength="32"/>
Run Code Online (Sandbox Code Playgroud)
在某些验证代码中,我使用Android EditText.setError()来显示任何验证错误.这在OS 2.x中工作正常,但在OS 3.x设备(Xoom)上没有 - 在Xoom上,您可以看到错误弹出的大纲,但是您看不到错误文本.
我猜测文本在那里,但它是看不见的.如何让它可见?我没有看到android:textColor与错误文本有关的内容.
此外,如果文本确实是不可见的,那么为什么2.x与3.x的行为不同的任何想法 - 似乎这会导致向后兼容性问题.
谢谢.
jar*_*mod 49
看起来您可以通过使用SpannableStringBuilder对象而不是String调用EditText.setError()来解决此问题.
int ecolor = xxxx; // whatever color you want
String estring = "Input is incorrect";
ForegroundColorSpan fgcspan = new ForegroundColorSpan(ecolor);
SpannableStringBuilder ssbuilder = new SpannableStringBuilder(estring);
ssbuilder.setSpan(fgcspan, 0, estring.length(), 0);
myedittext.setError(ssbuilder);
Run Code Online (Sandbox Code Playgroud)
mos*_*tar 18
要获得更优雅的解决方案,请试试这个:
editText.setError(Html.fromHtml("<font color='red'>Error Message!</font>"));
Run Code Online (Sandbox Code Playgroud)
使用本机父主题以适合您自定义样式的API级别!"@android:风格/ theme.name".
通过配置限定符区分主题:
value/style.xml - > parent="@android:style/Theme.Light"
value-v11/style.xml -> parent="@android:style/Theme.Holo.Light"
value-v14/style.xml -> parent="@android:style/Theme.DeviceDefault.Light"
Run Code Online (Sandbox Code Playgroud)
http://code.google.com/p/android/issues/detail?id=22920
| 归档时间: |
|
| 查看次数: |
21108 次 |
| 最近记录: |