同一个Textview设置不同颜色等效果

        tv1=findViewById(R.id.tv1);
        tv2=findViewById(R.id.tv2);

        //SpannableString文本类,包含不可变的文本但可以用已有对象替换和分离。

        ss =new SpannableString("同一个Textview设置不同颜色的效果");
//        new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);
//前景效果
        ss.setSpan(new ForegroundColorSpan(Color.BLUE),3,11, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
// 下划线效果
        ss.setSpan(new UnderlineSpan(), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// 字体效果
        ss.setSpan(new StyleSpan(Typeface.BOLD), 15, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//    超链接
        ss.setSpan(new URLSpan("http://www.baidu.com"),3,11, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
//     背景
        ss.setSpan(new BackgroundColorSpan(Color.GREEN),3,11, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

        //获取Drawable资源
//        Drawable d = getResources().getDrawable(R.drawable.ic_launcher_background);
//        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
//        //创建ImageSpan
//        ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
//        //用ImageSpan替换文本
//        ss.setSpan(span, 18, 20, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

        tv1.setText(ss);

//设置字体为(big会加大字号,font可以定义颜色,u下划线         tv2.setText(Html.fromHtml("同一个\"www.baidu.com\">\'#FF5D5A\'>Textview设置不同颜色效果"),null);


同一个Textview设置不同颜色等效果_第1张图片

你可能感兴趣的:(安卓控件使用)