リンク先のサイトを参考にEditTextのテキストにサイズの大きい画像を挿入した上で、カーソル位置を画像の後に移動し文字を入力すると挿入した画像が表示されなくなり困っています。
また、リンク先の以下のコードのdrawableをどのように実装すればよいかもわかりません。Java、Kotlinとはず実装方法と問題解決方法を教えていただけると有り難いです。よろしくお願い致します。
Kotlin
1drawable.setBounds( 2 left = 0, 3 top = 0, 4 right = drawable.getIntrinsicWidth(), 5 bottom = drawable.getIntrinsicHeight() 6)
kotlin
1editText.text.setSpan(ImageSpan(drawable), cursorEnd, cursorEnd + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
以下は私が上記エラーに直面しているコードとレイアウトです。
kotlin
1import android.graphics.drawable.BitmapDrawable 2import android.graphics.drawable.LayerDrawable 3import androidx.appcompat.app.AppCompatActivity 4import android.os.Bundle 5import android.text.Spannable 6import android.text.style.ImageSpan 7import com.example.spannablesample.databinding.ActivityMain3Binding 8 9class MainActivity3 : AppCompatActivity() { 10 11 private lateinit var binding: ActivityMain3Binding 12 13 override fun onCreate(savedInstanceState: Bundle?) { 14 super.onCreate(savedInstanceState) 15 binding = ActivityMain3Binding.inflate(layoutInflater) 16 setContentView(binding.root) 17 18 val cursorEnd = binding.editText.getSelectionEnd() 19 binding.editText.text.insert(cursorEnd," ") 20 binding.editText.text.setSpan(ImageSpan(this@MainActivity3,R.drawable.andoroid),cursorEnd,cursorEnd+1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE) 21 } 22}
xml
1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity3"> 8 9 <EditText 10 android:id="@+id/editText" 11 android:layout_width="match_parent" 12 android:layout_height="wrap_content" 13 android:hint="text" 14 android:lineSpacingExtra="3dp" 15 app:layout_constraintStart_toStartOf="parent" 16 app:layout_constraintTop_toTopOf="parent" /> 17</androidx.constraintlayout.widget.ConstraintLayout>
あなたの回答
tips
プレビュー