2011-02-23 14 views
109

Acabo de empezar a aprender Android. Y no sé ¿Cómo puedo cambiar la imagen de un ImageView? es decir, tiene alguna imagen que se configuró en el diseño pero quiero cambiar esa imagen mediante la codificación ¿cómo debo hacerlo?¿Cómo puedo cambiar la imagen de un ImageView?

Aquí está el archivo XML

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#cc8181" 
> 

<ImageView 
    android:id="@+id/image" 
    android:layout_width="50dip" 
    android:layout_height="fill_parent" 
    android:src="@drawable/icon" 
    android:layout_marginLeft="3dip" 
    android:scaleType="center"/> 

gracias por responder.

+3

puede ser más claro, en su pregunta, creo que es posible que desee mostrar imágenes en imageView dinámicamente, Por ejemplo, cuando toco y deslizo la siguiente imagen debe mostrarse, ¿estoy en lo cierto? –

Respuesta

213

si imageview creado usando el archivo XML a continuación, siga los pasos.

Solución 1:

Paso 1: Crear un archivo XML

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#cc8181" 
    > 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="50dip" 
     android:layout_height="fill_parent" 
     android:src="@drawable/icon" 
     android:layout_marginLeft="3dip" 
     android:scaleType="center"/> 

</LinearLayout> 

Paso 2: crear una actividad

ImageView img= (ImageView) findViewById(R.id.image); 
img.setImageResource(R.drawable.my_image); 

Solución 2:

Si ha creado imageview de Java Class

ImageView img = new ImageView(this); 
img.setImageResource(R.drawable.my_image); 
33

Eche un vistazo a ImageView API. Hay varios métodos setImage*. Cuál usar depende de la imagen que proporcione. Si usted tiene la imagen como recurso (por ejemplo res de archivos/estirable/my_image.png)

ImageView img = new ImageView(this); // or (ImageView) findViewById(R.id.myImageView); 
img.setImageResource(R.drawable.my_image); 
+0

puedo cambiar el color de la pantalla a través de la vista de imagen esto he hecho – BBdev

+1

que está vinculando a los documentos de API en su PC :) – bigstones

+0

Uups - enlace fijo. ¡Gracias por la información! – FrVaBe

11

sólo para ir un poco más lejos en la materia, también puede establecer un mapa de bits directamente como aquí:

ImageView imageView = new ImageView(this); 
Bitmap bImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.my_image); 
imageView.setImageBitmap(bImage); 

Por supuesto, esta técnica sólo es útil si necesita cambiar la imagen.

1
if (android.os.Build.VERSION.SDK_INT >= 21) { 
      storeViewHolder.storeNameTextView.setImageDrawable(context.getResources().getDrawable(array[position], context.getTheme())); 
} else { 
      storeViewHolder.storeNameTextView.setImageDrawable(context.getResources().getDrawable(array[position])); 
} 
Cuestiones relacionadas