1. ホーム
  2. android

[解決済み] 複数のフォントや文字サイズを持つ文字列を作成するためのSpanableStringBuilder 例?

2023-03-09 17:26:04

質問

TextViewに配置するStringを作成して、このような文字列を表示させたいのですが。

最初の部分は太字ではありません 太字 残りの部分が太字にならない

そこで、私はどのようにすれば SpannableStringBuilder を使用する方法を知りたいのです。

私はこれを達成するために3つのTextEditを使用することができますが、私は最善の解決策を使用したいと思います。

どのように解決するのですか?

First Part Not Bold   BOLD  rest not bold

これは @Rajesh が提案した方法と、この方法のどちらかで行うことができます。

String normalBefore= "First Part Not Bold ";
String normalBOLD=  "BOLD ";
String normalAfter= "rest not bold";
String finalString= normalBefore+normalBOLD+normalAfter;
Spannable sb = new SpannableString( finalString );
sb.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), finalString.indexOf(normalBOLD)+ normalBOLD.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //bold
sb.setSpan(new AbsoluteSizeSpan(intSize), finalString.indexOf(normalBOLD)+ normalBOLD.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//resize size

これをTextViewで表示するには

textview.setText(sb,  TextView.BufferType.SPANNABLE);