我正在尝试以编程方式为imageview设置最小高度,但到目前为止还没有运气。我的代码在
之下 int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 160, getResources().getDisplayMetrics());
int minHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());
LayoutParams params = new LayoutParams(width,LayoutParams.MATCH_PARENT);
SmartImageView siv = new SmartImageView(getActivity());
siv.setMinimumHeight(minHeight);
siv.setLayoutParams(sivParams);
siv.setAdjustViewBounds(true);
siv.setScaleType(ScaleType.FIT_XY);
siv.setImageUrl(url);
ll.addView(siv);
我还尝试将setMinimumWidth方法放在setLayoutParams方法之后,但这也没有用。请帮忙
由于
答案 0 :(得分:15)
试试这个--->
siv.getLayoutParams().height = minHeight;
或者您也可以尝试--->
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width , minHeight);
siv.setLayoutParams(layoutParams);
答案 1 :(得分:6)
@ Gustavo Baiocchi Costa 在评论中指出, @Ashok Damani 的答案不正确:
这将高度或宽度设置为最小宽度或高度
正确方法,用于设置Android中视图的最小高度:
属性访问方式(在科特林中):
yourView.minimumHeight = minHeight
设置方法:
yourView.setMinimumHeight(minHeight);
设置视图的最小高度。不保证视图 将能够达到此最小高度(例如,如果 父级布局以较少的可用高度对其进行约束。)
答案 2 :(得分:-1)
SmartImageView siv = new SmartImageView(getActivity());
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, minHeight);
siv.setLayoutParams(params);