Android最近学到的文字效果填充~不用Html也可以实现
来源:互联网 发布:js 异步方法 同步执行 编辑:程序博客网 时间:2024/05/21 12:44
有的时候可能只想用一个textview来表示文字,但文字里肯定有分不同内容的东西,需要用不同的颜色、样式来表示,这个时候,就需要用到SpannableString对象来处理。
mTextView = (TextView)findViewById(R.id.test);
SpannableString tSS = new SpannableString(“SpannableString学习中”);
tSS.setSpan(new BackgroundColorSpan(Color.RED), 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //红色高亮
tSS.setSpan(new UnderlineSpan(), 15, 18,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //下划线
tSS.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 2, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //斜体
mTextView.setText(tSS);
关键方法:
public void setSpan (Object what, int start, int end, int flags)
主要是start跟end
start是其实位置,无论中英文,都算一个。从0开始计算起。end是结束位置,所以处理的文字,包含开始位置,但不包含结束位置。
代码其实不复杂,只是记住这种解决方案,下次再碰到记起要用什么就行。
在别的论坛学的~
下面的摘自:http://blog.csdn.net/ftbgy10/article/details/7246274
- //ss.setSpan 的第一个参数是CharacterStyle的子类,用以设置字体样式
-
//TextView对象 -
TextView txtInfo = new TextView( this); -
-
//文本内容 -
SpannableString ss = new SpannableString( "红色打电话斜体删除线绿色下划线图片:."); -
-
//设置0-2的字符颜色 -
ss.setSpan(new ForegroundColorSpan(Color.RED), 0,2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
-
//设置2-5的字符链接到电话簿,点击时触发拨号 -
ss.setSpan(new URLSpan( "tel:4155551212"),2, 5,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
-
//设置9-11的字符为网络链接,点击时打开页面 -
ss.setSpan(new URLSpan( "http://www.hao123.com"),9, 11,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
-
//设置13-15的字符点击时,转到写短信的界面,发送对象为10086 -
ss.setSpan(new URLSpan( "sms:10086"),13, 15,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
-
//粗体 -
ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 5,7,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
-
//斜体 -
ss.setSpan(new StrikethroughSpan(), 7,10,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
- <pre
name="code" class="java"> -
ss.setSpan(new UnderlineSpan(), 10,16,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); -
- <pre
name="code" class="java"><pre name= "code"class="java"> -
Drawable d = getResources().getDrawable(R.drawable.icon); -
-
//设置图片大小 -
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); -
-
//插入的位置 -
ss.setSpan(new ImageSpan(d, 18,ImageSpan.ALIGN_BASELINE), 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); -
-
//设置文本内容到textView -
txtInfo.setText(ss); -
-
//不添加这一句,拨号,http,发短信的超链接不能执行. -
txtInfo.setMovementMethod(LinkMovementMethod.getInstance());
- Android最近学到的文字效果填充~不用Html也可以实现
- 最近学到的android资料
- android TextView不用ScrollViewe也可以滚动的方法
- android TextView不用ScrollViewe也可以滚动的方法
- android TextView不用ScrollViewe也可以滚动的方法
- HTML+CSS实现图片下半部分遮罩文字效果(仿微信推送信息的图片文字效果)
- 不用百度地图,不用高德地图,使用原生的android api也可以定位并做相应的优化
- Android闪动的文字效果
- HTML也可以实现页面跳转
- 不用扫描仪也可以“扫描”
- Android自定义TextView实现动态的文字效果BlingBling
- 总结最近学到的东西
- 最近学到的小技巧
- 【HTML】文字效果
- 不用邀请也可以申请GMail的方法
- 不用邀请也可以得到Google Writely的帐号
- 不用写JS也可以制作精彩的跳动效果
- 不用临时变量也可以交换变量的值
- postgresql使用pg_dump、pg_restore备份及恢复数据库
- twitter和新浪微博比较
- 信息对称
- 在redhat as4 上安装rrdtool
- 飞猪投稿伤感日志-我哭了谁知道?
- Android最近学到的文字效果填充~不用Html也可以实现
- [协议分析] IP分片(碎片)重组简单概念
- 求职那些事十二之百度一面
- Ubuntu KVM Client OS创建 二
- get与post区别
- linux 电池驱动
- linux shell 中对于2>&1 &的含义
- android 混淆时出现的一些问题
- Linux自动引导配置光盘的制作