Android——修改字符串中所有数字的样式
来源:互联网 发布:mac zip 解压命令 编辑:程序博客网 时间:2024/05/14 00:49
类似效果:今天是2016年2月1日1点
检查字符串中的数字,在一个TextView上显示
package com.example.textcolordemo;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.app.Activity;import android.os.Bundle;import android.text.SpannableString;import android.text.Spanned;import android.text.style.TextAppearanceSpan;import android.widget.TextView;public class MainActivity extends Activity {private TextView myTv;String str = "今天是2016年2月1日9点";SpannableString styledText = new SpannableString(str);static List<String> intStr = new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myTv = (TextView) findViewById(R.id.myTv);initInvestInfo(str);}/** * 根据位置设置字体样式 * @param a * @param b */public void setTextStyle(int a,int b){styledText.setSpan(new TextAppearanceSpan(this, R.style.person_weixin_larger_text), a, b,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);// 正常时的样式}/** * 查找数字,并对样式进行设置 * @param info */private void initInvestInfo(String info) { String regex = "\\d*"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(info); boolean initFirst = true; while (m.find()) { intStr.add(m.group().trim()); } int positionArray[][] = new int[intStr.size()][2]; int firstPos = 0; int lastPos = 0; for (int i = 0; i < intStr.size(); i++) { if (!intStr.get(i).trim().equals("")) { // 获取到数字的位置 firstPos = info.indexOf(intStr.get(i), lastPos); lastPos = firstPos + intStr.get(i).length(); positionArray[i][0] = firstPos; positionArray[i][1] = lastPos; // 让固定位置的数字显示为红色 setTextStyle(firstPos, lastPos); } } myTv.setText(styledText); }}
0 0
- Android——修改字符串中所有数字的样式
- 截取字符串中所有的数字
- 截取字符串中所有的数字字符
- C指针操作——获取字符串中所有数字
- 修改对话框中所有控件的窗口样式
- android自定义数字软键盘、修改review按钮的样式
- android代码中修改Checkbox的样式
- asp正则表达式提取字符串中所有的数字
- VB.NET取得字符串中所有的数字
- 批量修改PPT所有的字体样式
- android中actionbar样式修改
- Android 学习入门——修改progressbar的默认样式
- 获取字符串的的所有数字
- Android中如何修改SeekBar的默认样式
- 在android 2.3.x中修改actionbarsherlock的样式
- 在android 2.3.x中修改actionbarsherlock的样式
- 兔子--Android Studio修改log中字体的样式
- android 中样式修改关于shape 的相关问题
- 找到震动马达
- Mysql中如何实现某字段数据自动加1
- 关于h5中meta标签的使用
- 获取iOS IP地址
- LintCode Majority Number iii
- Android——修改字符串中所有数字的样式
- Remove duplicate in sorted linked list 1
- AutoCAD学习笔记——常用快捷方式及家装设计相关概念
- rbd COW 镜像克隆
- Android中px dpi dip density densityDpi 的相关说明
- 代码才是最好的注释
- SAM格式定义
- jquery.validate使用攻略 第三部
- Android M新特性Doze and App Standby模式详解