gpt4 book ai didi

android - SpannableString 和 TextAppearanceSpan,仅应用颜色

转载 作者:太空狗 更新时间:2023-10-29 13:48:18 26 4
gpt4 key购买 nike

我想在一个 TextView 中有 2 种文本样式,所以我尝试了

Spannable text = new SpannableString(pseudo + " " + "some text after that");
text.setSpan(new TextAppearanceSpan(mContext, R.style.PseudoStyle), 0, pseudo.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new TextAppearanceSpan(mContext, R.style.TextStyle), pseudo.length() + 1, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

holder.mText.setText(text);

在这里你可以找到我的风格

<style name="PseudoStyle">
<item name="android:textAllCaps">true</item>
<item name="android:textSize">14sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/pink_light</item>
</style>
<style name="TextStyle">
<item name="android:textColor">@color/white</item>
</style>

但是,只有 android:textColor 是适用的。

你能帮忙用这个方法做成其他样式吗?

谢谢

最佳答案

我找到了一个棘手的解决方案,正常添加 StyleSpan Bold 而不是按样式添加

Java:

text.setSpan(new TextAppearanceSpan(mContext, R.style.PseudoStyle), 0, pseudo.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new StyleSpan(Typeface.BOLD), 0, pseudo().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
text.setSpan(new TextAppearanceSpan(mContext, R.style.TextStyle), pseudo.length() + 1, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

xml:

<style name="PseudoStyle">
<item name="android:textSize">16sp</item>
<item name="android:textColor">@color/pink_light</item>
</style>

<style name="TextStyle">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/white</item>
</style>

关于android - SpannableString 和 TextAppearanceSpan,仅应用颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50761962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com