Android---TextView实现图文混排一

  • TextView使用ImageSpan显示图片

    

SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();//第一步需要创建一个SpannableStringBuilder或者SpannableString对象
ImageSpan imageSpan = new ImageSpan(this, R.drawable.image);//第二部需要创建一个ImageSpan对象用来设置要显示的图片
spannableStringBuilder.setSpan(imageSpan, 11, 12, SpannableString.SPAN_COMPOSING);
  • TextView使用ClickableSpan设置点击事件

 

 

 

        //设置点击事件
        ClickableSpan clickableSpan = new ClickableSpan() {
            @Override
            public void onClick(View widget) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com"));
                startActivity(intent);
            }
        };
        spannableStringBuilder.setSpan(clickableSpan, 14, 20, SpannableString.SPAN_COMPOSING);

 

 

  • TextView使用CharacterStyle设置部分文字样式

 

        //设置部分文字样式
        CharacterStyle characterStyle = new CharacterStyle() {
            @Override
            public void updateDrawState(TextPaint tp) {
                tp.setColor(Color.BLUE);
            }
        };
        spannableStringBuilder.setSpan(characterStyle, 6, 11, SpannableString.SPAN_COMPOSING);

 

 还有最后一步:就是给TextView设置上这些样式

        this.textView.setText(spannableStringBuilder);

 

posted @ 2015-01-18 15:41  修车码农  阅读(448)  评论(0编辑  收藏  举报