我如何设置一个ImageView的宽度和高度编程?
当前回答
如果你需要将你的宽度或高度设置为match_parent(与其父类一样大)或wrap_content(大到足以适合它自己的内部内容),那么ViewGroup。LayoutParams有两个常量:
imageView.setLayoutParams(
new ViewGroup.LayoutParams(
// or ViewGroup.LayoutParams.WRAP_CONTENT
ViewGroup.LayoutParams.MATCH_PARENT,
// or ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.MATCH_PARENT ) );
或者你也可以像哈基姆·扎伊德的回答那样
imageView.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
//...
其他回答
int newHeight = 150;
int newWidth = 150;
holder.iv_arrow.requestLayout();
holder.iv_arrow.getLayoutParams().height = newHeight;
holder.iv_arrow.getLayoutParams().width = newWidth;
holder.iv_arrow.setScaleType(ImageView.ScaleType.FIT_XY);
holder.iv_arrow.setImageResource(R.drawable.video_menu);
如果图像视图是动态的,则包含getLayout的答案将失败,并出现空异常。
在这种情况下,正确的方法是:
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
iv.setLayoutParams(layoutParams);
我用像素和dp做了这个。
private int dimensionInPixel = 200;
如何按像素设置:
view.getLayoutParams().height = dimensionInPixel;
view.getLayoutParams().width = dimensionInPixel;
view.requestLayout();
dp设置方法:
int dimensionInDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dimensionInPixel, getResources().getDisplayMetrics());
view.getLayoutParams().height = dimensionInDp;
view.getLayoutParams().width = dimensionInDp;
view.requestLayout();
希望这对你有所帮助。
的形象。setLayoutParams(新ViewGroup。LayoutParams(宽度、高度));
例子:
image.setLayoutParams(new ViewGroup.LayoutParams(150, 150));
在需要以编程方式设置小部件大小的场景中,请确保遵守以下规则。
为要添加该视图的布局设置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);
推荐文章
- Android Studio, logcat在应用程序关闭后清理
- Intellij IDEA Java类在保存时不能自动编译
- 何时使用Mockito.verify()?
- 在maven中安装mvn到底做什么
- 在android中从上下文获取活动
- 不可变与不可修改的集合
- 如何在JSON中使用杰克逊更改字段名
- GSON -日期格式
- 如何从线程捕获异常
- 无法解析主机"<URL here>"没有与主机名关联的地址
- getActivity()在Fragment函数中返回null
- 如何在Java中打印二叉树图?
- 按钮背景是透明的
- String.format()在Java中格式化双重格式
- 在Mac OS X上哪里安装Android SDK ?