Android UI中TextView的使用方法
程序员文章站
2023-12-19 20:02:34
android ui中textview的使用方法
一、textview不同区域设置颜色,大小、点击事件
string msg = getresources(...
android ui中textview的使用方法
一、textview不同区域设置颜色,大小、点击事件
string msg = getresources().getstring(r.string.school_roll_auth); spannablestringbuilder style = new spannablestringbuilder(msg); // 设置字体颜色 style.setspan( new foregroundcolorspan(getresources().getcolor( r.color.tv_color_99)), 0, msg.length() - 5, spannable.span_exclusive_inclusive); style.setspan( new foregroundcolorspan(getresources().getcolor( r.color.text_blue)), msg.length() - 5, msg.length(), spannable.span_exclusive_inclusive); // 设置字体背景色 style.setspan( new backgroundcolorspan(getresources().getcolor( r.color.bg_common)), msg.length() - 5, msg.length(), spannable.span_exclusive_inclusive); // 设置可点击部分 style.setspan(new clickablespan() { @override public void onclick(view widget) { //do click .... } @override public void updatedrawstate(textpaint ds) { super.updatedrawstate(ds); ds.setunderlinetext(false); ds.clearshadowlayer(); } }, msg.length() - 5, msg.length(), spannable.span_exclusive_inclusive); tv_school_roll_msg.settext(style); // 此方法在需要响应用户事件时使用,如点击一个电话号码就跳转到拨号页面。如果不执行这个方法是不会响应事件的,即便文本看着已经是下划线蓝色字了。 tv_school_roll_msg.setmovementmethod(linkmovementmethod.getinstance());
//设置字体不同大小 spannablestringbuilder sb = new spannablestringbuilder(numtext); sb.setspan(new absolutesizespan(app.getinstance().getresources() .getdimensionpixelsize(r.dimen.text_size_24)), 0, income.indexof(".") + 1, spannable.span_exclusive_exclusive); sb.setspan(new absolutesizespan(app.getinstance().getresources() .getdimensionpixelsize(r.dimen.text_size_16)), income.indexof(".") + 1, income.length(), spannable.span_exclusive_exclusive); view.settext(sb);
注:spannable.span_exclusive_exclusive参数是对区域的说明,左包含,右不包含 spannablestringbuilder的append方法
spannablestringbuilder sb = new spannablestringbuilder(num); spannablestringbuilder sbunitname = sb.append("元"); sbunitname.setspan(new absolutesizespan(getresources().getdimensionpixelsize(floatsizeresourcesid)), num.length() - 1, num.length() + unitname.length(),spannable.span_exclusive_exclusive);
append之后数符索引不是从0开始,是从原始字符开始
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
推荐阅读
-
Android 中LayoutInflater.inflate()方法的介绍
-
Android中button的onClick事件几种方法
-
Android中Activity之间跳转和参数传递的实例
-
Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
-
Android编程中PopupWindow的用法分析【位置、动画、焦点】
-
Android开发笔记之Android中数据的存储方式(二)
-
详解Android中实现热更新的原理
-
Android编程实现自动调整TextView字体大小以适应文字长度的方法
-
Android编程实现在一个程序中启动另一个程序的方法
-
Android编程开发实现TextView显示表情图像和文字的方法