Red de conocimiento informático - Aprendizaje de programación - La diferencia entre configurar el fondo y src en ImageView

La diferencia entre configurar el fondo y src en ImageView

Hoy encontré un pequeño problema al reemplazar imágenes al desarrollar un ImageView. El método de reemplazo de Java que utilicé fue setBackgroundResource(), pero extrañamente nunca tuvo ningún efecto.

Finalmente, encontré la razón: al escribir el archivo xml, para ver el efecto, configuré el src para este ImageView, y luego, cuando configuré el fondo nuevamente, se superpuso al src.

Solución alternativa: elimine el src en el archivo xml.

Extensión de la pregunta:

1. La diferencia entre configurar fondo y src en ImageView.

1. src es el contenido de la imagen (primer plano), bg es el fondo y se puede utilizar al mismo tiempo.

2. El fondo se estirará de acuerdo con el largo y el ancho proporcionados por el componente ImageView, y src almacenará el tamaño de la imagen original y no se estirará.

3. scaleType solo es válido para src;

2.ImageView tiene varios métodos diferentes de configuración de imágenes.

Establecer el fondo:

1.image.setBackground(getResources().getDrawable(R.drawable.blackk));//Distorsión

2. image .setBackgroundResource(R.drawable.blackk);//morph 3.image.setBackgroundDrawable(R.drawable.blackk);//morph setBackgroundDrawable(getResources().getDrawable(R.drawable.blackk));//// morph

2.image.p>

Código fuente: la esencia de estos tres métodos es llamar al método 3 setBackgroundDrawable(). setImageBitmap(bm);//no distorsionará

3.image.setImageResource(R.drawable.blackk);//no distorsionará

Código fuente: Método 2 es para convertir el mapa de bits en una imagen dibujable y luego llamar al método 1, el método 1 y el método 3 llaman al método updateDrawable().