加粗

Html.fromHtml("<b>实阿斯达斯材:</b>烧杯打扫打扫打扫打扫体。<br><br><b>确阿斯顿撒大事整的吗?</b>")
private void testText1(String posName) {
        String text = "* 为你发布的 " + posName + " 添加一句宣传语吧!";
        SpannableString span = new SpannableString(text);
        span.setSpan(new ForegroundColorSpan(Color.RED), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        span.setSpan(new ForegroundColorSpan(Color.CYAN), 7, 7 + posName.length() + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        span.setSpan(new ForegroundColorSpan(Color.BLACK), text.length() - 5, text.length() - 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        span.setSpan(new StyleSpan(Typeface.BOLD), text.length() - 5, text.length() - 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        tv1.setText(span);
        /**
         * 其中最后的参数flag:
         * Spanned.SPAN_EXCLUSIVE_EXCLUSIVE --- 不包含两端start和end所在的端点 (a,b)
         * Spanned.SPAN_EXCLUSIVE_INCLUSIVE --- 不包含端start,但包含end所在的端点 (a,b]
         * Spanned.SPAN_INCLUSIVE_EXCLUSIVE --- 包含两端start,但不包含end所在的端点 [a,b)
         * Spanned.SPAN_INCLUSIVE_INCLUSIVE --- 包含两端start和end所在的端点 [a,b]
         */
    }

TextView部分文字加粗_android

 

//方法一:
        TextView tvValue = findViewById(R.id.tv_value);
        String str="默认颜色<font color='#FF0000'><small>红颜色 
       </small></font>";
        tvValue.setTextSize(18);
        tvValue.setText(Html.fromHtml(str));

部分文字的点击事件

TextView tv1 = view.findViewById(R.id.tv1);
        String content = " 欢迎来到SumanSoul为了更好地向用户提供服务,未经用户同意,SumanSoul不会自动收集、获取、共享或对外提供用户个人信息;你可以随时查看、更正或删除你的个人信息,SumanSoul也提供用户注销功能。";
        tv_content.setText(content.replace(" ", ""));
        SpannableStringBuilder spannableString = new SpannableStringBuilder("点击查看完整「用户协议」和「隐私政策」");
        spannableString.setSpan(new TextAgreementClick(), 6, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        spannableString.setSpan(new TextPrivacyClick(), 13, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
        //设置点击事件,加上这句话才有效果
        tv1.setMovementMethod(LinkMovementMethod.getInstance());
         //设置点击后的颜色为透明(有默认背景)
       tv1.setHighlightColor(BaseApplication.getInstance().getResources().getColor(R.color.transparent));
        tv1.setText(spannableString);

TextView部分文字加粗_腾讯云_02

<!-- 透明背景色-->
    <color name="transparent" tools:ignore="MissingDefaultResource">#00000000</color>

 

private class TextAgreementClick extends ClickableSpan{

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            //设置文本的颜色
            ds.setColor(Color.RED);
            //超链接形式的下划线,false 表示不显示下划线,true表示显示下划线
            ds.setUnderlineText(false);
        }

        @Override
        public void onClick(View widget) {
           // 执行点击逻辑
        }
    }