1. ホーム
  2. android

[解決済み] Androidです。TextView.setText()で文字列の一部を色付けする?

2023-03-22 16:31:54

質問

.setText("") メソッドでTextViewビューのテキストを変更しつつ、テキストの一部を着色し(または太字、斜体、透明など)、残りを着色しないようにしたいのですが、可能でしょうか?例えば

title.setText("Your big island <b>ADVENTURE!</b>";

私は上記のコードが正しくないことを知っていますが、それは私が達成したいことを説明するのに役立ちます。どのようにすればいいのでしょうか?

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

使用方法 スパン .

例です。

final SpannableStringBuilder sb = new SpannableStringBuilder("your text here");

// Span to set text color to some RGB value
final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158)); 

// Span to make text bold
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); 

// Set the text color for first 4 characters
sb.setSpan(fcs, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

// make them also bold
sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

yourTextView.setText(sb);