TextView高级使用:SpannableString

来源:互联网 发布:网络运营是干什么的 编辑:程序博客网 时间:2024/05/15 06:38

TextView(文本视图)

 属性:

android:text="  "    ——指定显示的文本内容

android:textSize="20sp"——指定文本字体大小,使用单位:sp

android:textColor="#000000"——指定文本字体的颜色

android:textStyle="bold | italic"——设置字体样式(文本字体为粗斜体)


可以在Activity 中通过setText 的方式动态修改显示的文本内容      


URLSpan    替换文本信息为超链接

使用方法:在Java代码中写(MainActivity 的 onCreate 方法中写)       

 第一步:初始化TextView

第二步:new一个需要被替换的字符串(对象)

第三步:new一个主动去替换文本内容的超链接对象    

第四步:设置替换的内容。使用setSpan 的四参方法

(第一个参数是去替换文本内容的超链接对象,第二个参数是替换的起始位置,

    第三个参数是结束位置,值可以用被替换字符串的长度表示,第四个参数是设置替换区间为前闭后开) 

第五步:用TextView 的setText 方法让一个超链接替换当前TextView 的文本内容

最后:使用TextView 的 setMovementMethod 方法实现超链接可点击

部分代码:

TextView  urlText = (TextView) findViewById(R.id.urlTextView);

SpannableString  urlSpannableString = new SpannableString("百度");

URLSpan  urlSpan = new URLSpan("http://www.baidu.com");

urlSpannableString.setSpan(urlSpan, 0,urlSpannableString.length(),SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);

urlText.setText(urlSpannableString);

urlText.setMovementMethod(new LinkMovementMethod());


ImageSpan用图片、表情替换文本内容

部分代码:

TextView  imageText = (TextView) findViewById(R.id.imageTextView);

SpannableString  imageSpannableString = new SpannableString("机器人");

//获取图片资源,使用 Resources类可以在Java代码中访问各种资源

Drawable d = getResources().getDrawable(R.id.drawable.ic_launcher);

//设置图片大小

d.setBounds(0,0,48,48);

ImageSpan imageSpan = new ImageSpan(d);

imageSpannableString.setSpan(imageSpan,0,imageSpannableString.length(),SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);

imageText.setText(imageSpannableString);


UnderlineSpan               给文本内容添加下划线




0 0
原创粉丝点击