Android 对部分文本使用粗体

标签 android

我只想使用 <b>对于部分文本,如 HTML & CSS ,我下面的代码不正确。

textEdit.setText("<![CDATA[ <b>"+ "bold text" + " </b> ]]>" + " view other normal text" );

最佳答案

使用 SpannableString 将子字符串设置为粗体。

    String completeString = "<your complete string here>";
    String subString = "<the substring you want in bold>";
    SpannableString ss = new SpannableString(completeString);
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View textView) {
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setUnderlineText(false);
            ds.setTypeface(Typeface.DEFAULT_BOLD);
            ds.setColor(<color that you want>);
        }
    };

    if (completeString.indexOf(subString) > -1)
        ss.setSpan(clickableSpan, completeString.indexOf(subString), completeString.indexOf(subString) + subString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    textEdit.setText(ss, TextView.BufferType.SPANNABLE);

关于Android 对部分文本使用粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26649344/

相关文章:

java - 解析 Fragment 上的 XML 时出错

android - 我该如何在后台使用此MP3?

java - 在 Android 中发现标签时如何识别 mifare classic 和 mifare ultralight

java - 我可以在 Android 中部分更改此文本的颜色吗?

Android: RelativeLayout inside FrameLayout, width height 错误

java - java.sql.PreparedStatement 的 Android 实现

android - 如何在Android aSmack中实现DeliveryReceiptManager

android - ionic 框架 : Exporting Project To APK

android - mapviewballoon - 添加多个标记时如何设置缩放

android - 原始音频数据包到 Android 上的 WAV/GSM_MS 兼容文件