码迷,mamicode.com
首页 > 其他好文 > 详细

SpannableStringBuilder 用法浅析以及仿陌陌表情

时间:2014-05-31 11:20:12      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:android   c   style   tar   http   a   

SpannableStringBuilder  官方文档解释:这个类可以使文本的内容和标记都可以改变。当我们要为TextView或者Edittext里面的文字加入加入一些效果,如下划线,颜色标 识,超链接等,类似word文档一样。这时候可以用到SpannableStringBuilder ,SpannableStringBuilder是 android.text里面的一个类,功能灰常强大。主要的一个方法就是setSpan (Object what, int start, int end, int flags),这个方法的作用就是在把某个范围内的文字替换成某种东西;以下是一些简单用法

//下划线

  SpannableString builder_1=new SpannableString(textView1.getText());
                builder_1.setSpan(new UnderlineSpan(), 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                textView1.setText(builder_1);

//超链接

 SpannableString builder_2=new SpannableString("网址:www.baidu.com");
                builder_2.setSpan(new URLSpan("www.baidu.com"), 3, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                textView2.setText(builder_2);

//样式

 SpannableString builder_3=new SpannableString(textView3.getText());
                builder_3.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                textView3.setText(builder_3);

//图片表情
CharSequence text = "dsfdsfdddd[zem1]fdsfs";  
SpannableStringBuilder builder = new SpannableStringBuilder(text);  
String rexgString = "[zem1]";  
Pattern pattern = Pattern.compile(rexgString);  
Matcher matcher = pattern.matcher(text);  
 
while (matcher.find()) {  
    builder.setSpan(  
            new ImageSpan(this, R.drawable.ic_launcher), matcher.start(), matcher  
                    .end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
}  
 
textView4.setText(builder); 

 

demo表情那里是仿陌陌表情,不详述。。。

demo地址:点击打开链接

SpannableStringBuilder 用法浅析以及仿陌陌表情,布布扣,bubuko.com

SpannableStringBuilder 用法浅析以及仿陌陌表情

标签:android   c   style   tar   http   a   

原文地址:http://www.cnblogs.com/adison/p/3761284.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!