Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cambiar la fuente de ImageView

Tengo un ImageView con una imagen de fuente fijada en el xml usando la sintaxis siguiente:

  <ImageView android:id="@+id/articleImg" style="@style/articleImgSmall_2" android:src="@drawable/default_m" /> 

Ahora necesito cambiar esta imagen programáticamente. Lo que tengo que hacer es eliminar la imagen antigua y agregar una nueva aunque. Lo que he hecho es esto:

 myImgView.setBackgroundResource(R.drawable.monkey); 

Funciona, pero noté android apila la nueva imagen en la parte superior de la vieja (no me pregunte cómo descubrí que no es relevante para la discusión :). Definitivamente necesito deshacerse de la antigua antes de establecer la nueva imagen.

¿Cómo puedo lograrlo?

  • Cómo mostrar la imagen de YUV en Android
  • Superposición de texto sobre la vista de imagen en android
  • Hacer fondo transparente de los iconos de Android en eclipse
  • Android ImageView Zoom-in y Zoom-out continuamente
  • Cómo rellenar la imagen dentro de ImageView por la costumbre de la izquierda y la coordenada superior | Androide
  • Cómo obtener la ruta correcta después de cortar la imagen?
  • ¿Cómo puedo recortar un mapa de bits para ImageView?
  • Android ImageView escala la imagen más pequeña al ancho con altura flexible sin recortar ni distorsionar
  • 6 Solutions collect form web for “Cambiar la fuente de ImageView”

    Cambio de la fuente ImageView:

    Uso del método setBackgroundResource() :

      myImgView.setBackgroundResource(R.drawable.monkey); 

    Usted está poniendo a ese mono en el fondo.

    Sugiero el uso del método setImageResource() :

      myImgView.setImageResource(R.drawable.monkey); 

    O con el método setImageDrawable() :

     myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey)); 

    *** Con el nuevo androide API 22 getResources().getDrawable() ahora está obsoleto. Este es un ejemplo de cómo usar ahora:

     myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey, getApplicationContext().getTheme())); 

    Y cómo validar las versiones antiguas de la API:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey, getApplicationContext().getTheme())); } else { myImgView.setImageDrawable(getResources().getDrawable(R.drawable.monkey); } 

    Se supone que use setImageResource lugar de setBackgroundResource .

     myImgView.setImageResource(R.drawable.monkey); 

    Se utiliza para configurar la imagen en la vista de imagen actual, pero si desea eliminar esta imagen, puede utilizar este código como:

     ((ImageView) v.findViewById(R.id.ImageView1)).setImageResource(0); 

    Ahora esto eliminará la imagen de su vista de imagen, ya que ha establecido el valor de recursos a cero.

    Obtener ID de ImageView como

     ImageView imgFp = (ImageView) findViewById(R.id.imgFp); 

    Entonces usa

     imgFp.setImageResource(R.drawable.fpscan); 

    Para establecer la imagen fuente de forma programática en lugar de XML.

    O pruebe este. Para mí funciona bien:

     imageView.setImageDrawable(ContextCompat.getDrawable(this, image)); 

    Si desea establecer en imageview una imagen que está dentro de los dirs del mipmap , puede hacerlo así:

    myImageView.setImageDrawable(getResources().getDrawable(R.mipmap.my_picture)

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.