2011-11-04 9 views
32

Quiero establecer la gravedad de una serie de Imageviews, ImageIcons [I] para el centro con el siguiente código,Ajuste de la gravedad de ImageView al centro en Android mediante programación

ImageIcons[i] = new ImageView(this); 
ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
LayoutParams.WRAP_CONTENT)); 
layout.addView(ImageIcons[i]); 

Y estoy atascado mientras estableciendo la gravedad. Solicito a la gente SO que me guíe en esto.

Gracias

+0

Salida mi respuesta [aquí] (http://stackoverflow.com/questions/6101874/android-center-an-image/33039444#33039444). Me ayudó a centralizar Imageview. –

Respuesta

72

Prueba este

LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(width, height); 
layoutParams.gravity=Gravity.CENTER; 
ImageIcons[i].setLayoutParams(layoutParams); 
+0

Perfect @Walid Hossain.Gracias mucho. –

+0

Gracias Vivek –

3

En primer lugar hizo el ancho de match_parent y luego configure el otro gravedad gravedad no se work.Hope que va a funcionar.

ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
LayoutParams.WRAP_CONTENT)); 
ImageIcons.setGravity(Gravity.CENTER); 
+0

Bien entendí eso. Me preguntaba qué salió mal. Gracias a Android Killer. –

8

obtener los parámetros de diseño de la vista, modificarlo y configurarlo de nuevo.

image.setBackgroundResource(R.drawable.mobile); 
LayoutParams params = (LayoutParams) image.getLayoutParams(); 
params.gravity = Gravity.CENTER; 
image.setLayoutParams(params); 
2
ImageView myImage = new ImageView(this); 
FrameLayout.LayoutParams myImageLayout = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.WRAP_CONTENT); 
myImageLayout.gravity=Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL; 
      myImage.setLayoutParams(myImageLayout); 
0
LinearLayout llBasicInfo = new LinearLayout(context); 
    llBasicInfo.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
    llBasicInfo.setOrientation(LinearLayout.VERTICAL); 
    ImageView imageView = new ImageView(context); 
    LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(200,200); 
    layoutParams.gravity=Gravity.CENTER; 
    imageView.setLayoutParams(layoutParams); 
    llImage.addView(imageView); 
Cuestiones relacionadas