【Kotlin/Android Studio】ImageViewの画像を動的に削除する方法!

この記事からわかること
- Android Studio/KotlinのImageViewで画像を削除する方法
- setImageDrawable、setImageResourceで動的に画像をリセットするには?
- 非表示にするvisibilityプロパティを活用する
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
ImageViewに設定されている画像を削除する方法
ImageViewに設定されている画像をボタンのタップなど動的に削除(リセット)するにはいくつか方法があります。
setImageDrawable
setImageDrawable
メソッドを使用して画像をリセットするには引数にnull
を渡します。
val image:ImageView = findViewById(R.id.imageView)
val button:Button = findViewById(R.id.button)
button.setOnClickListener {
image.setImageDrawable(null)
}
setImageResource
setImageResource
はImageView
のDrawable
をコードから変更できるメソッドです。
setImageResource
メソッドを使用して画像をリセットするには引数に存在しないリソースIDや空のリソースを作成して渡します。この方法でもリセットできますが、そのリソースIDに新しく画像が追加された時に入れ替わってしまうので注意が必要です。
val image:ImageView = findViewById(R.id.imageView)
val button:Button = findViewById(R.id.button)
button.setOnClickListener {
image.setImageResource(0) // 存在しないリソースIDを渡す
}
非表示にする
画像を削除するのではなく、ImageView
自体を非表示にする方法もあります。
val image:ImageView = findViewById(R.id.imageView)
val button:Button = findViewById(R.id.button)
button.setOnClickListener {
image.visibility = View.INVISIBLE // 非表示(スペースは残す)
// image.visibility = View.GONE // 非表示(スペースは残さない)
}
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。