我如何设置一个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);
推荐文章
- Eclipse调试器总是阻塞在ThreadPoolExecutor上,没有任何明显的异常,为什么?
- 这是在Android中获取用户位置的好方法
- Java生成两个给定值之间的随机数
- Android从左到右幻灯片动画
- 如何有效地从数组列表或字符串数组中删除所有空元素?
- 比较JUnit断言中的数组,简洁的内置方式?
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- codestyle;把javadoc放在注释之前还是之后?
- 如何在Spring中定义List bean ?
- 将Set<T>转换为List<T>的最简洁的方法
- 在JavaScript中,什么相当于Java的Thread.sleep() ?
- Android选择器和文本颜色
- 使用Java重命名文件
- URL从Java中的类路径加载资源