50个Android开发技巧(10 为TextView添加样式)

首先来看一个控件的样例:
(原文地址:http://blog.csdn.net/vector_yi/article/details/24428085)

手机上类似这样的场景你一定已经见过很多次了,但有没有考虑过它是怎样实现的?
也许你会认为这是一个稍微复杂的自定义的View,但,没错,这实际上只是一个原生的TextView而已。
TextView是一个简单而神奇的Widget,你可以利用它以不同风格不同格式来展现文字。

举两个简单的例子:
1.在TextView中添加一个超链接
   其实很简单,我们可以将html写入到TextView中去:
首先先在res/values中的string.xml中添加一个<string />标签:
<string name= "text1" ><![CDATA[ Visit <a href=\"http://blog.csdn.net/vector_yi\">Vector_Yi\'s Blog</a> ]]></string>
然后只需在Activity文件中添加以下代码即可:
final TextView textView1 = (TextView ) findViewById( R. id. my_text_view_html);
    textView1 .setText (Html . fromHtml( getString( R. string. text1)));
    textView1 .setMovementMethod (LinkMovementMethod . getInstance());
2.为TextView中的指定部分文字设置背景与前景色
同样在res/value中的string.xml中添加一个string:
<string name= "text2" >Hello World, HomeActivity!</string>
接下来,利用SpannableString类即可:
final Spannable text2 = new SpannableString(
        getString (R .string .text2 ));
    text2 .setSpan ( new BackgroundColorSpan( Color. RED), 1 , 4, 0 );//从index为1起,到index为4止,设置背景色为RED
    text2 .setSpan ( new ForegroundColorSpan( Color. BLUE), 6 , 9, 0 );
以下是显示效果:


注意:TextView并不支持所有的Html标签= =,但是你可以尝试一下不同的标签是否可行。






转载于:https://my.oschina.net/u/858166/blog/697316

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值