我試圖以編程方式設置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