1. ホーム
  2. android

[解決済み] アンドロイドで実行時にテキストの一部を太字にするには?

2022-10-04 16:12:41

質問

A ListView のような多くの文字列要素を持っています。 name , experience , date of joining など。ただ、私が作りたいのは name を太字にします。すべての文字列要素は、1つの TextView .

私の XML :

<ImageView
    android:id="@+id/logo"
    android:layout_width="55dp"
    android:layout_height="55dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="15dp" >
</ImageView>

<TextView
    android:id="@+id/label"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/logo"
    android:padding="5dp"
    android:textSize="12dp" >
</TextView>

ListViewアイテムのTextViewを設定する私のコードです。

holder.text.setText(name + "\n" + expirience + " " + dateOfJoininf);

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

例えば TextView という etx . そして、次のようなコードを使用することになります。

final SpannableStringBuilder sb = new SpannableStringBuilder("HELLOO");
      
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
final StyleSpan iss = new StyleSpan(android.graphics.Typeface.ITALIC); //Span to make text italic
sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold 
sb.setSpan(iss, 4, 6, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make last 2 characters Italic

etx.setText(sb);