2011-05-30 14 views
51

¿Cómo puedo hacer que un ImageView aparezca en el medio de la pantalla cuando el usuario hace clic en un botón? He colocado la imagen en la carpeta res/drawable.Mostrar ImageView programáticamente

He estado tratando con el código de abajo, pero no sé cómo hacer que el ImageView aparecen:

View v = new ImageView(getBaseContext()); 
ImageView image; 
image = new ImageView(v.getContext()); 
image.setImageDrawable(v.getResources().getDrawable(R.drawable.gameover)); 

Gracias!

Respuesta

-2
+43

no muy útil. debería haber indicado "verificar la documentación" – phlebotinum

+25

Demasiado vago ... "1) Aprender java 2) leer la documentación de Android" podría funcionar también. – Josh

+9

WOw, áspero. Pensé que su respuesta estaba bien escrita y usé los enlaces apropiados para responder la pregunta. – FuriousFolder

23
int id = getResources().getIdentifier("gameover", "drawable", getPackageName()); 
ImageView imageView = new ImageView(this); 
LinearLayout.LayoutParams vp = 
    new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT); 
imageView.setLayoutParams(vp);   
imageView.setImageResource(id);   
someLinearLayout.addView(imageView); 
93
//LinearLayOut Setup 
LinearLayout linearLayout= new LinearLayout(this); 
linearLayout.setOrientation(LinearLayout.VERTICAL); 

linearLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
LayoutParams.MATCH_PARENT)); 

//ImageView Setup 
ImageView imageView = new ImageView(this); 

//setting image resource 
imageView.setImageResource(R.drawable.play); 

//setting image position 
imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
LayoutParams.WRAP_CONTENT)); 

//adding view to layout 
linearLayout.addView(imageView); 
//make visible to program 
setContentView(linearLayout); 
4

Si se añade a RelativeLayout, no te olvides de establecer la posición de imageView. Por ejemplo:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(200, 200); 
lp.addRule(RelativeLayout.CENTER_IN_PARENT); // A position in layout. 
imageView.setLayoutParams(lp); 
// imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
imageView.setImageResource(R.drawable.photo); 
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout); 
layout.addView(imageView); 
Cuestiones relacionadas