TextViewに前・後ろへ1つのアイコンを表示するのは結構簡単で、レイアウトに記述しちゃえば表示するんだけど…。
<!-- 前ver --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/test" app:drawableStartCompat="@drawable/baseline_image_24"/>
文字列の間に入れるってなると、このやり方では出来なさそうなので…色々調べてみました!
参考になったHPはこちらです^ ^
皆さん、ありがとうございます!
【Android】TextViewの横に画像を表示するレイアウト方法 5選 #ConstraintLayout - Qiita
ImageSpan | Android Developers
ImageSpan で画像を TextView に 追加したいが、改行があってかつ、lineSpacingMultiplier、lineSpacingExtra を使っていると縦中央にならない | LOCAL-C BLOG
このHPをすべて合体しw、思った通りになった方法はこちら。
レイアウト
<TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
Kotlin
val strSet = SpannableString("あいうえお かきくけこ") val intHeight = 15 val imgSet = ContextCompat.getDrawable(this, R.drawable.baseline_image_24)!! imgSet.setBounds(0, 0, intHeight, intHeight) strSet.setSpan(ImageSpan(imgSet), 5, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) findViewById<TextView>(R.id.text).text = strSet
で、実行してみると
あいうえお画像かきくけこ
といった感じに表示出来ると思います^ ^
この方法、複数の画像もセット出来るのが良いですね^ ^
iOSの場合は
文字列+画像+文字列…
↓
TextViewに設定
とか
文字列+画像+画像+文字列…
↓
TextViewに設定
といったやり方なんですが
Androidの場合は
表示する文字列をすべてセット
↓
何処に画像を突っ込むかの設定
↓
TextViewに設定
といったやり方に変わるんですねぇ。
先に文字列をすべて作って、セットするところを付箋みたいに印になるような文字列にしちゃえば…後はindexofを活用して画像に切り替え!ってやれば、楽にPGが作れるかと思います^ ^
ふはー!今回もなかなかに難易度が高い(Android初心者にとってはw)内容でしたww
また新たに一つ知識が増えましたっす!
自分用の備忘録として、これも残しておこうかと思います!
ではでは!