我如何设置一个ImageView的宽度和高度编程?


当前回答

的形象。setLayoutParams(新ViewGroup。LayoutParams(宽度、高度));

例子:

image.setLayoutParams(new ViewGroup.LayoutParams(150, 150));

其他回答

image_view.getLayoutParams().height 

返回以像素为单位的高度值。您需要首先获取屏幕尺寸以正确设置值。

 Display display = context.getWindowManager().getDefaultDisplay();
 DisplayMetrics outMetrics = new DisplayMetrics();
 display.getMetrics(outMetrics);
 int screen_height = outMetrics.heightPixels;
 int screen_width = outMetrics.widthPixels;

在你得到屏幕尺寸后,你可以设置imageview的宽度和高度使用适当的边距。

 view.getLayoutParams().height = screen_height - 140;
 view.getLayoutParams().width = screen_width - 130 ;

如果图像视图是动态的,则包含getLayout的答案将失败,并出现空异常。

在这种情况下,正确的方法是:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
iv.setLayoutParams(layoutParams);

这可能太迟了,但为了其他人有同样的问题,设置ImageView的高度:

imageView.getLayoutParams().height = 20;

重要的。如果你在布局已经“布局”之后设置高度,确保你还调用:

imageView.requestLayout();

您可以为所有情况设置值。

demoImage.getLayoutParams().height = 150;

demoImage.getLayoutParams().width = 150;

demoImage.setScaleType(ImageView.ScaleType.FIT_XY);

简单地创建一个LayoutParams对象并将其分配给imageView

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(150, 150);
imageView.setLayoutParams(params);