Ответ 1
Попробуйте это
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(width, height);
layoutParams.gravity=Gravity.CENTER;
ImageIcons[i].setLayoutParams(layoutParams);
Я хочу установить гравитацию массива изображений, ImageIcons [i] в центр со следующим кодом,
ImageIcons[i] = new ImageView(this);
ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
layout.addView(ImageIcons[i]);
И я застреваю при настройке силы тяжести. Я прошу, чтобы люди SO направили меня на это.
Спасибо
Попробуйте это
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(width, height);
layoutParams.gravity=Gravity.CENTER;
ImageIcons[i].setLayoutParams(layoutParams);
получить параметры макета из представления, изменить его и снова установить.
image.setBackgroundResource(R.drawable.mobile);
LayoutParams params = (LayoutParams) image.getLayoutParams();
params.gravity = Gravity.CENTER;
image.setLayoutParams(params);
Сначала сделайте ширину match_parent, а затем установите гравитацию, иначе гравитация не будет работать. Надеюсь, что это сработает.
ImageIcons[i].setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
ImageIcons.setGravity(Gravity.CENTER);
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);
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);