我如何设置一个ImageView的宽度和高度编程?
当前回答
以下是完成任务的简单方法:
setContentView(R.id.main);
ImageView iv = (ImageView) findViewById(R.id.left);
int width = 60;
int height = 60;
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
iv.setLayoutParams(parms);
另一种方法是,如果你想要给出屏幕的高度和宽度,那么使用下面的代码:
setContentView(R.id.main);
Display display = getWindowManager().getDefaultDisplay();
ImageView iv = (LinearLayout) findViewById(R.id.left);
int width = display.getWidth(); // ((display.getWidth()*20)/100)
int height = display.getHeight();// ((display.getHeight()*30)/100)
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height);
iv.setLayoutParams(parms);
希望对你使用充分。
其他回答
简单地创建一个LayoutParams对象并将其分配给imageView
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(150, 150);
imageView.setLayoutParams(params);
科特林
val density = Resources.getSystem().displayMetrics.density
view.layoutParams.height = 20 * density.toInt()
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 ;
在需要以编程方式设置小部件大小的场景中,请确保遵守以下规则。
为要添加该视图的布局设置LayoutParam。在我的情况下,我添加到TableRow,所以我必须做TableRow。LayoutParams 遵循以下代码
final float scale = getResources().getDisplayMetrics().density; int dpWidthInPx = (int) (17 * scale); int dpHeightInPx = (int) (17 * scale);
TableRow。LayoutParams deletelayoutParams = new table。LayoutParams (dpWidthInPx dpHeightInPx); button.setLayoutParams (deletelayoutParams); tableRow。addView(按钮,1);
您可以为所有情况设置值。
demoImage.getLayoutParams().height = 150;
demoImage.getLayoutParams().width = 150;
demoImage.setScaleType(ImageView.ScaleType.FIT_XY);
推荐文章
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- Swing和AWT的区别是什么?
- 如何在NestedScrollView内使用RecyclerView ?
- 为什么Java流是一次性的?
- 移动到另一个EditText时,软键盘下一步点击Android