Tengo un ImageView
conjunto de imágenes fuente en el xml usando la siguiente sintaxis:
<ImageView
android:id="@+id/articleImg"
style="@style/articleImgSmall_2"
android:src="@drawable/default_m" />
Ahora necesito cambiar esta imagen mediante programación. Sin embargo, lo que necesito hacer es eliminar la imagen anterior y agregar una nueva. Lo que he hecho es esto:
myImgView.setBackgroundResource(R.drawable.monkey);
Funciona pero noté que Android apila la nueva imagen sobre la anterior (no me pregunten cómo descubrí que no es relevante para la discusión :). Definitivamente necesito deshacerme de la anterior antes de configurar la nueva imagen.
¿Cómo puedo lograr eso?
android
imageview
android-imageview
Nourdine
fuente
fuente
android.widget.ImageView
#setBackgroundContextCompat
obtenergetTheme
Se supone que debes usar en
setImageResource
lugar desetBackgroundResource
.fuente
se usa para configurar la imagen en la vista de imagen actual, pero si desea eliminar esta imagen, puede usar este código como:
ahora esto eliminará la imagen de su vista de imagen, porque ha establecido el valor de los recursos en cero.
fuente
obtener ID de ImageView como
luego use
para configurar la imagen de origen mediante programación en lugar de XML.
fuente
O prueba este. Para mí está funcionando bien:
fuente
Respuesta visual suplementaria
ImageView
:setImageResource()
(método estándar, se mantiene la relación de aspecto)View
:setBackgroundResource()
(la imagen se estira)Ambos
Mi respuesta más completa está aquí .
fuente
Si desea establecer en la vista de imagen una imagen que está dentro de los directorios mipmap puede hacerlo de esta manera:
myImageView.setImageDrawable(getResources().getDrawable(R.mipmap.my_picture)
fuente
Simplemente escriba un método para cambiar la vista de imagen
fuente