SpannableString 用法简单记录

来源:互联网 发布:网络最新骗术 编辑:程序博客网 时间:2024/04/30 12:58
SpannableString spannableString = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体。");//设置超链接spannableString.setSpan(new URLSpan("http://www.baidu.com"), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置高亮样式1spannableString.setSpan(new BackgroundColorSpan(Color.RED), 17, 19, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置高亮样式2spannableString.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());//设置点击弹出新的activitySpannableString spannableString2 = new SpannableString(text1);spannableString2.setSpan(new ClickableSpan(){@Overridepublic void onClick(View arg0){// TODO Auto-generated method stubIntent 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 */