0
0

More than 1 year has passed since last update.

【Android】 SpannableStringBuilderで箇条書きを実装する

Last updated at Posted at 2021-09-19

【Android】 SpannableStringBuilderで箇条書きを実装する

はじめに

Androidアプリを開発している時に、箇条書きで表現する箇所が出てきたので備忘録がてらまとめました。

環境

Android Studio: 4.2.2
Kotlin: 1.4.31
OS: Mac OS X 11.5.2 x86_64

実装

val text = "aaa"
val spannableStringBuilder = SpannableStringBuilder("")
spannableStringBuilder.append(
    text,
    context?.let { ContextCompat.getColor(it, R.color.black) }?.let {
        BulletSpan(20,it)
    },
    SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE
)
context?.let { ContextCompat.getColor(it, R.color.black) }?.let {
   BulletSpan(20,it)
},

箇条書きのの色を宣言します。自由に設定できるので箇条書きにする文の文字色に合わせたり、好きに設定してください。

spannableStringBuilder.append(
    text,
    context?.let { ContextCompat.getColor(it, R.color.black) }?.let {
        BulletSpan(20,it)
    },
    SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE
)

String型で宣言した textにを追加していきます。

最後にbuilderをtextViewに入れることで箇条書きで反映されます。

デモ

実装に記載したコードをfor文で繰り返して各textに反映させることで以下のように表示されました。

改行もうまく動作しています。
  

参考文献

Spans - Android Developers
https://developer.android.com/guide/topics/text/spans

BulletSpan - Android Developers
https://developer.android.com/reference/android/text/style/BulletSpan

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0