我试图以编程方式设置imageview的最小高度,但目前为止没有运气。我的代码如下Android:以编程方式设置视图的最小高度
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方法之后,但它还是不奏效。请帮助
感谢
是PARAMS和sivParams相同(为它是一个打字错误或2个实际上不同的变量)?另外,您是否使用了正确类型的LayoutParams?如果siv的父视图是RelativeLayout,则需要使用RelativeLayout.LayoutParams,如果它是LinearLayout - LinearLayout.LayoutParams等。 – npace
对不起,这是一个类型错误,我也使用相同的方式,即LinearLayout.LayoutParams –
请注意像我这样的未来读者:如果你有一个minHeight设置为XML,似乎试图在代码中进行更改不起作用(Android 4.x测试)。如果您从XML中删除它,则可以将其设置为代码,甚至可以更改它(将多次设置为不同的值)。 – eselk