SpannableString 用法简单记录

SpannableString spannableString = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体。");
		//设置超链接
		spannableString.setSpan(new URLSpan("http://www.baidu.com"), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		//设置高亮样式1
		spannableString.setSpan(new BackgroundColorSpan(Color.RED), 17, 19, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		//设置高亮样式2
		spannableString.setSpan(new ForegroundColorSpan(Color.YELLOW), 20, 24, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
		//设置斜体
		spannableString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
		
		textView.setText(spannableString);
		textView.setMovementMethod(LinkMovementMethod.getInstance());
		//设置点击弹出新的activity
		SpannableString spannableString2 = new SpannableString(text1);
		spannableString2.setSpan(new ClickableSpan()
		{
			
			@Override
			public void onClick(View arg0)
			{
				// TODO Auto-generated method stub
				Intent intent = new Intent();
				intent.setClass(MainActivity.this, ActivityOne.class);
				startActivity(intent);
			}
		}, 0, text1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		
		textView2.setText(spannableString2);
		textView2.setMovementMethod(LinkMovementMethod.getInstance());
		/* 
		 * spannableString.setSpan(what, start, end, flags) 
		 * 今天刚接触这个类,查了一下资料,做个记录
		 * 主要就是上面的这个方法,比较难理解的就是 最后一个参数 flags;
		 * 
		 * EXCLUSIVE:独家的
		 * INCLUSIVE:包括的
		 * 把这两个单词翻译过来也就不难理解了,
		 * Spanned.SPAN_EXCLUSIVE_INCLUSIVE  翻译为    独家_包括 
		 * 它是用来标识在 Span 范围内的文本前后输入新的字符时是否把它们也应用这个效果,上面就是前面不包括后面包括,其他flag同理解释
		 * 参考 :http://aichixihongshi.iteye.com/blog/1207503
		 */

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值