- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想更改EditText setError()
的字体系列。
我已经试过了:
editText.setError(Html.fromHtml("<span style=\"font-family: sans-serif !important\">hello</span>"));
当用户选择另一种字体时,我想更改三星手机中错误消息的字体系列。
任何想法将不胜感激。
提前致谢
最佳答案
你可以试试这个:
Typeface typeFaceDefault = Typeface.createFromAsset(getAssets(), "BYekan.ttf");
TextInputLayout inputLayout = (TextInputLayout) view.findViewById(R.id.lyt_input);
SpannableStringBuilder ssbuilder = new SpannableStringBuilder(getString(R.string.err_wrong_input));
ssbuilder.setSpan(new CustomTypefaceSpan("", ActivityMain.typeFaceDefault), 0, ssbuilder.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
inputLayout.setError(ssbuilder);
那么你的元素中也包含了这个文件:
public class CustomTypefaceSpan extends TypefaceSpan {
private final Typeface newType;
public CustomTypefaceSpan(String family, Typeface type) {
super(family);
newType = type;
}
@Override
public void updateDrawState(TextPaint ds) {
applyCustomTypeFace(ds, newType);
}
@Override
public void updateMeasureState(TextPaint paint) {
applyCustomTypeFace(paint, newType);
}
private static void applyCustomTypeFace(Paint paint, Typeface tf) {
int oldStyle;
Typeface old = paint.getTypeface();
if (old == null) {
oldStyle = 0;
} else {
oldStyle = old.getStyle();
}
int fake = oldStyle & ~tf.getStyle();
if ((fake & Typeface.BOLD) != 0) {
paint.setFakeBoldText(true);
}
if ((fake & Typeface.ITALIC) != 0) {
paint.setTextSkewX(-0.25f);
}
paint.setTypeface(tf);
}
}
关于android - 更改 EditText setError() 的字体系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256559/
我正在使用 setError 方法来显示当焦点从该字段移开时 EditText 字段是否被错误填充。如果它被正确填充,我会显示一个图标:drawable.validated 这是我的代码: @Over
我有这几行代码来验证表单输入。然而,它不输出任何东西——只是一个空白框。请问我错过了什么? public void onClick(View view) { if( view.getId(
我已经在两个编辑文本上实现了设置错误的代码。 首先获取任何没有空值或空值的字符串。 其次获取任何没有 null 或空值的字符串,并且必须有一些 Double 值。 代码如下 import java.u
当我尝试验证我的用户名和密码时,我收到一条错误消息,提示未找到 setError,你能帮我找出我的错误吗?我在 androidstudio1.2.2 中执行了此操作 登录.java package c
我的 android 应用程序中有以下页面(我无法截取该页面的屏幕截图,所以我只是画了它):我有 edittexts 并且我使用 edittext 的 showError 属性。 然后,在程序的某个时
我的 xml 代码的密码字段部分: ... ... 调用 setError() 时如何删除这个覆盖的红色感叹号? [更新样式] @color/edit
我对 Android 应用程序中的 EditText 进行了验证。错误消息按预期弹出,但不显示默认错误图标。 if(users.getText().toString().isEmpty()){
我创建了一个登录页面,该页面支持 2 种不同的语言(英语和法语)。 当我从一种语言翻译到另一种语言时,该页面运行良好。 但问题是,当我切换到法语时,setError 消息不再出现用于字段验证。 此代码
我有一个跨字段验证方法,如果以下任一结果为真,该方法应该会失败: country == 'United States'和stateSelect为空 country != 'United States'
我是 android 的新手,遇到以下问题:这是代码: base.OnCreate(bundle); var layout = FindViewById(Resource.Id.la
在按钮单击事件上对编辑文本执行验证检查。当验证失败时,错误代码图标显示在编辑文本框中的正确位置,但其包含字符串的箭头始终显示在其所需位置附近的一个位置。以下是为了更好地理解的快照: 代码如下: els
我在 EditText 上遇到 setError() 问题。打开 Activity 时,它会检查某些字段是否为空,如果为真,则在其上设置错误消息。但是,感叹号图标仅在我在字段中写入一些文本然后将其删除
使用 Kitkat,但也尝试使用 jellybean,但无法显示自定义错误图标。 我将这两个重载方法用于 setError(...) from Android doc我只是在做非常简单的代码:
我在 ViewPager 中有一个 Fragment。 在该 fragment 中,我有几个 EditText 的 OnTextChanged 监听器(添加到 onViewCreated 方法中)执行
我在我的工具栏中使用了一个 EditText View ,当点击“检查”图标时,应用程序将检查所有字段是否为空。如果为空,则调用 setError() 方法。但是弹出消息看起来很奇怪(在下图中)。 而
如何在无法聚焦的 EditText 中使用 setError 显示文本错误?重要的是用户不要修改此 EditText,它将针对应用程序进行修改。也许我有另一个不同于 focusable=false 的
在有多个线程调用 Console.Write 的正在运行的程序中,我可以调用 Console.SetError 来设置新流吗? IE。这是线程安全的吗? 背景:我有一个可以连续运行数天的程序,它会将大
我有 EditText在其中写入 XML:android:drawableRight="@drawable/promotion_create_promotion_plus_icn" 当setError
我目前正在使用一个 Android 应用程序,我在其中使用 setError 方法进行 EditText 验证。问题是我想更改方法内文本的颜色。 EditText UserNameEdt, Pass
这是我的设置 这是java代码 final EditText inputNo = (EditText)findViewById(R.id.inputNo); inputNo.addTex
我是一名优秀的程序员,十分优秀!