在Android中对字符串执行样式

时间:2019-06-19 19:02:50

标签: android

我想在代码中执行更改颜色,下划线或将字符串加粗的操作。

String str= "Article 1\n";

QUOTES = new LinkedHashMap<>();
QUOTES.put(str);

如何将其应用于我的字符串?

4 个答案:

答案 0 :(得分:1)

有一个不错的东西,叫做Spannable,它可以帮助您设置文本样式。 我们正在使用它来更改颜色,下划线,选择,可单击的单词,文本内的图标等。

例如,可以通过以下方式更改特定单词的颜色:

TextView productDescription = (TextView) findViewById(R.id.productDescription);

Spannable spannedDescription = new SpannableString("Lorem ipsum dolor sit amet");        
spannedDescription.setSpan(new ForegroundColorSpan(Color.BLUE), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

productDescription.setText(spannedDescription);

还有更多选择可以玩。 我建议您阅读Florina Muntenescu撰写的这篇article文章。 Spannable是一个功能强大且易于使用的工具,尤其是在使用kotlin编写应用程序时:)

答案 1 :(得分:0)

免责声明:我不是Android开发人员。话虽这么说,您无法通过修改字符串文字来更改字符串的样式。

答案 2 :(得分:0)

您需要在XML中更改这些属性,或更改TextView属性。 示例:

mTextView.setTextColor(Color.parseColor("#bdbdbd"));
mTextView.setTextColor(getResources().getColor(R.color.<name_of_color>));

编辑1
如果您需要存储此类信息。使用这样的类:

public class DecoratedString {

    private String text;
    private Color color;
    private boolean isBold;

    //**Constructor
    //**Other methods

}

答案 3 :(得分:0)

您可以使用Spannable为文本设置样式(颜色部分为字符串,下划线,删除线,部分字符串为链接等)有关更多详细信息:https://developer.android.com/reference/android/text/Spannable