android - Html.fromHtml 在 android 中不显示低 API 21

标签 android html

我使用 Html.fromHtml。它在 API 21 及更高版本中以粗体显示,但在低 API 21 中不显示粗体。我只想做粗体 R.string.str_taker_name (不是:edtText.getName())。如何为每个 API 加粗此文本。

takerName= (TextView) findViewById(R.id.txt_taker_name);
takerName.setText(Html.fromHtml("<b>"+getResources().getString(R.string.str_taker_name) +"</b>: "+ edtText.getName()));

最佳答案

你可以试试这个:

TextView txt_taker_name = (TextView) findViewById(R.id.myText);
Typeface boldTypeface = Typeface.defaultFromStyle(Typeface.BOLD);
txt_taker_name.setTypeface(boldTypeface);

或者在xml中设置属性:

android:textStyle="bold"

在这种情况下你可以试试这个函数:

public static SpannableStringBuilder makeSectionOfTextBold(String text, String textToBold){
        SpannableStringBuilder builder=new SpannableStringBuilder();
        if(textToBold.length() > 0 && !textToBold.trim().equals("")){
            String testText = text.toLowerCase(Locale.US);
            String testTextToBold = textToBold.toLowerCase(Locale.US);
            int startingIndex = testText.indexOf(testTextToBold);
            int endingIndex = startingIndex + testTextToBold.length();
            if(startingIndex < 0 || endingIndex <0){
                return builder.append(text);
            }
            else if(startingIndex >= 0 && endingIndex >=0){
                builder.append(text);
                builder.setSpan(new StyleSpan(Typeface.BOLD), startingIndex, endingIndex, 0);
            }
        }else{
            return builder.append(text);
        }
        return builder;
  }

并像这样使用它:

YourActivity.makeSectionOfTextBold(edtText.getName(), getResources().getString(R.string.str_taker_name));

并将结果设置到TextView

希望对您有所帮助!!!

关于android - Html.fromHtml 在 android 中不显示低 API 21,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35595595/

相关文章:

html - 如果屏幕上有足够的空间,将 table 并排放置

c# - 如何使用 iTextSharp 保留 CSS?

java - 如何获得在 android studio 中打开新 Activity 的按钮?

java - 安卓Java : How to subtract two times?

javascript - 尝试将类应用于通过 jquery 过滤的元素

javascript - 为什么我的页面加载 php 文件?

javascript - HTML 显示格式有问题吗?

java - 如何列出内部存储中的所有子目录?

javascript - 如果我使用 jquery mobile 提交表单,页面会变形

android - 如何重复使用 AsyncTask *并* 返回结果?