2011-11-04 15 views
32

Chcę ustawić wagę tablicy Imageviews, ImageIcons [I] do centrum z poniższym kodzieUstawienie ciężkości ImageView do centrum w android programowo

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

I siedzę w górę, ustawiając grawitację. Żądam, aby ludzie z SO mówili mi o tym.

Dzięki

+0

Sprawdź moją odpowiedź [tutaj] (http://stackoverflow.com/questions/6101874/android-center-an-image/33039444#33039444). Pomogło mi scentralizować widok obrazu. –

Odpowiedz

72

Spróbuj

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

Perfect @ Valid Hossain. Wielkie dzięki. –

+0

Dziękuję Vivek –

3

raz pierwszy szerokość do match_parent a następnie ustawić grawitacja jeszcze grawitacja nie będzie work.Hope będzie działać.

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

OK, ale zastanawiałem się, co poszło nie tak. Dzięki Android Killer. –

8

pobierz parametry układu z widoku, zmodyfikuj i ustaw ponownie.

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); 
Powiązane problemy