Spannable
来源:互联网 发布:小猪cms创始人 编辑:程序博客网 时间:2024/05/29 02:47
TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。
使用步骤:
- SpannableString spannable = new SpannableString(str);
- // SpannableStringBuilder spannable = new SpannableStringBuilder(str);
- //创建各类Span
- CharacterStyle span=new UnderlineSpan();
- spannable.setSpan(span,start,end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
- //可以连续设置span
- view.setText(spannable);
void android.text.SpannableString.setSpan(Object what, int start, int end, int flags)
setSpan会将start到end这间的文本设置成创建的span格式。span可以是图片格式。
各类Span示例
- new URLSpan("http://www.baidu.com")
- new BackgroundColorSpan(Color.RED)
- new ForegroundColorSpan(Color.YELLOW)
- new StyleSpan(android.graphics.Typeface.BOLD_ITALIC)
- new UnderlineSpan();
- new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。
package com.qudaicheng.hello;
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.widget.TextView;
public class helloActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView myTextView = (TextView)this.findViewById(R.id.tv);
// 创建一个 SpannableString对象
SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");
// 设置超链接
sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// 设置高亮样式一
sp.setSpan(new BackgroundColorSpan(Color.RED), 17, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// 设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW), 20, 24, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
// 设置斜体
sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
// SpannableString对象设置给TextView
myTextView.setText(sp);
// 设置TextView可点击
myTextView.setMovementMethod(LinkMovementMethod.getInstance());
// TextView tv=(TextView)findViewById(R.id.tv);
// String str="我的一个android测试程序";
// SpannableStringBuilder stryle = new SpannableStringBuilder(str);
// stryle.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// stryle.setSpan(new ForegroundColorSpan(Color.RED), 4, 11, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// stryle.setSpan(new ForegroundColorSpan(Color.WHITE), 11, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// tv.setText(stryle);
}
}
- Spannable
- Spannable
- Spannable
- android Spannable
- Spannable简介
- Spannable简介
- Android Spannable
- android Spannable
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE与Spannable.SPAN_INCLUSIVE_EXCLUSIVE
- textview Spannable 应用
- Spannable方法的用法
- TextView中 Spannable
- Spannable 详细 解释
- android.text.Spannable
- Android Spannable的使用
- Android_ Spannable文本样式
- TextView字体样式Spannable
- Spanned、Spannable、Editable
- which must be escaped when used within the value 问题解决
- 不同浏览器下word-wrap和word-break强制换行
- ASIHTTPRequest类库简介和使用说明
- 拿到offer之后
- busybox 基本根文件系统
- Spannable
- 鼠标拖动(移动、拖曳)控件
- OPENGL ES资料
- mysql 索引
- jmx 远程监控 jvm及weblogic
- Amf3+socket开发网络游戏或应用的一点研究心得
- [转] 为什么要进行傅立叶变换
- 轻松得到C# ADO.NET的各种数据库连接字符串
- Git学习教程