Android TextView 实现文字大小不同和文字颜色不同
来源:互联网 发布:c语言如何调用opencv 编辑:程序博客网 时间:2024/05/16 01:55
效果图如下:
关键代码如下:
- StringBuffer sb = new StringBuffer();
- if(day > 0) {
- sb.append("<a href=\"1\">");
- sb.append(""+day);
- sb.append("</a>");
- sb.append(""+Global.getString(R.string.unit_Day2));
- }
- sb.append("<a href=\"2\">");
- if(hour > 9) {
- sb.append(" "+hour);
- } else {
- sb.append(" 0"+hour);
- }
- sb.append("</a>");
- sb.append(""+Global.getString(R.string.unit_Hour2));
- sb.append("<a href=\"3\">");
- if(minute > 9) {
- sb.append(" "+minute);
- } else {
- sb.append(" 0"+minute);
- }
- sb.append("</a>");
- sb.append(""+Global.getString(R.string.unit_Minute2));
- sb.append("<a href=\"4\">");
- if(second > 9) {
- sb.append(" " + second);
- } else {
- sb.append(" 0" + second);
- }
- sb.append("</a>");
- sb.append(""+Global.getString(R.string.unit_Second));
- int end = sb.length();
- SpannableString ss = new SpannableString(Html.fromHtml(sb.toString()));
- URLSpan[] urls = ss.getSpans(0, end, URLSpan.class);
- String resultStr = sb.toString();
- Pattern p_html = Pattern.compile(REGEX_HTML, Pattern.CASE_INSENSITIVE);
- Matcher m_html = p_html.matcher(resultStr);
- resultStr = m_html.replaceAll(""); // 过滤html标签
- SpannableString span = new SpannableString(resultStr);
- for (URLSpan url : urls) {
- int startIndex = ss.getSpanStart(url);
- int endIndex = ss.getSpanEnd(url);
- // 原字两倍大小
- span.setSpan(new AbsoluteSizeSpan(Global.dpToPx(24)), startIndex, endIndex,
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- // 设置样式2
- span.setSpan(new ForegroundColorSpan(Color.WHITE),
- startIndex, endIndex,
- Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
- // 设置样式3
- span.setSpan(new StyleSpan(Typeface.BOLD),
- startIndex, endIndex,
- Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
- }
- mBottomLL2_Detail.setText(span);
说明:
1.主要原理为使用SpannableString来做多样式的String给TextView显示
2.用到<a href>标签的原因是为了做到国际化,因为span是按照index来多样化的,所以需要用href来标识多样化的index
0 0
- Android TextView 实现文字大小不同和文字颜色不同
- Android TextView 实现文字大小不同和文字颜色不同
- TextView上面显示不同文字和颜色
- android设置TextView中文字不同的颜色
- Android 一个TextView中设置文字不同字体大小和颜色的最完整方法
- 一个textview实现两种文字大小以及文字颜色
- 同一个TextView内不同文字颜色、字体、事件可以不同
- 同一个TextView内不同文字颜色、字体、事件可以不同
- 同一个TextView内不同文字颜色、字体、事件可以不同
- Android TextView实现不同字体颜色并添加点击事件
- android 在一个textview中实现不同的颜色和大小
- android中TextView与Html结合使用实现字体和颜色的不同,并且换行
- android 一个 textview 设置不同的字体大小和颜色
- android 一个 textview 设置不同的字体大小和颜色
- Android textview设置不同的颜色和大小
- android 一个 textview 设置不同的字体大小和颜色
- android 一个 textview 设置不同的字体大小和颜色
- android 一个 textview 设置不同的字体大小和颜色
- Silverlight ValidationSummary不显示异常的小问题
- 优游平台总代怎么联系【总代Q941494533】秸
- ajax与jquery的使用
- RTLabel常见的设置标签
- 优游平台总代【总代Q941494533】斜
- Android TextView 实现文字大小不同和文字颜色不同
- xp回收站删除了怎么恢复
- 程序测试
- 优游平台总代【总代Q941494533】聊
- 优游平台总代找我注册【总代Q941494533】少
- 快速排序之Java实现
- 优游平台总代【总代Q941494533】钾
- 优游平台总代的EMS是多少【总代Q941494533】朔
- 优游平台总代预留高点【总代Q941494533】谘