Android使用Spannable对文字进行设置
2012-10-19 17:12
417 查看
在Android中TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。
废话少说,直接上代码:
注意点:
* 当我们文字中有了超链接时,一般我们必须有网络权限,但是在这里大家不用添加网络权限也可以访问超链接哦。。。
* [b]spannableTextView.setMovementMethod(LinkMovementMethod.getInstance());这句很重要,如果没有这句,超链接是不可点击的。[/b]
如果我们文字中包含html标签那我们该如何展示哪,有一个很好的静态方法:
myTextView.setMovementMethod(LinkMovementMethod.getInstance()); // 如果标签里有链接要加上这句,否则链接无效撒。。。
废话少说,直接上代码:
package com.qzhousoft.SpannableDemo.ui; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.text.Spannable; import android.text.SpannableString; import android.text.Spanned; import android.text.method.LinkMovementMethod; import android.text.style.BackgroundColorSpan; import android.text.style.ForegroundColorSpan; import android.text.style.StyleSpan; import android.text.style.URLSpan; import android.text.style.UnderlineSpan; import android.widget.TextView; /** * <Spannable使用示例> * @author 王乾州 */ public class main extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView spannableTextView = (TextView)this.findViewById(R.id.tv); /** * 创建一个 SpannableString对象 */ SpannableString sp = new SpannableString(“谷歌超链接、高亮显示、高亮1、高亮2、斜体、下划线.”); /** * 设置超链接 */ sp.setSpan(new URLSpan(“http://www.google.com”), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); /** * 设置高亮样式一 */ sp.setSpan(new BackgroundColorSpan(Color.RED), 11, 14, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); /** * 设置高亮样式二 */ sp.setSpan(new ForegroundColorSpan(Color.YELLOW), 15, 18, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); /** * 设置斜体 */ sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 19, 21, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); /** * 设置下划线 */ sp.setSpan(new UnderlineSpan(), 22, 25, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); /** * SpannableString对象设置给TextView */ spannableTextView.setText(sp); /** * 设置TextView中的超链接可点击 */ spannableTextView.setMovementMethod(LinkMovementMethod.getInstance()); } }
注意点:
* 当我们文字中有了超链接时,一般我们必须有网络权限,但是在这里大家不用添加网络权限也可以访问超链接哦。。。
* [b]spannableTextView.setMovementMethod(LinkMovementMethod.getInstance());这句很重要,如果没有这句,超链接是不可点击的。[/b]
如果我们文字中包含html标签那我们该如何展示哪,有一个很好的静态方法:
Html.fromHtml()
myTextView.setText(Html.fromHtml(“<font color=\”#330099\”>测试…</font>”));myTextView.setMovementMethod(LinkMovementMethod.getInstance()); // 如果标签里有链接要加上这句,否则链接无效撒。。。
相关文章推荐
- Android布局TextView文字设置不同样式Spannable的使用
- Android 使用SpannableStringBuilder设置TextView中的文字及图片
- Android - 使用SpannableString设置复合文本
- 使用Netty进行Android与Server端通信实现文字发送接收与图片上传
- Android 使用代码设置selector 的图片或文字颜色
- 使用Netty进行Android与Server端通信实现文字发送接收与图片上传
- Android利用SpannableStringBuilder设置TextView中部分文字的颜色...
- Android中xml布局文件中使用include引入布局进行复用(解决使用include布局重叠,颜色设置无效问题)
- [转]设置Android手机以使用ARM Streamline进行性能分析(一)
- Android UI设计之<六>使用HTML标签,实现在TextView中对部分文字进行加粗显示
- [转]设置Android手机以使用ARM Streamline进行性能分析(二)
- Android使用Shape进行渐变设置
- 在使用EditText进行文本输入时,若不进行特殊的设置,使用Android自带的软键盘,该软键盘会占用整个界面,那么,如何让键盘只占用屏幕的一部分呢?
- 使用DELPHI对图片中的文字进行识别的过程(最简单实现)
- android中用Spannable在TextView中设置超链接、颜色、字体
- (转)Android使用ant对项目进行编译签名优化打包
- c++builder上使用TIDTCPServer和TIDTCPClient进行简单通信,如何通过代码动态设置TIDTCPServer的Bindings属性。
- [windows]设置使用空白密码进行远程登录
- 如何使用fiddler进行android手机测试
- 使用C#和Excel进行报表开发(七)-设置单元格的显示格式