我已經創建了一個ImageView
的代碼,我希望它的最大尺寸爲24x24dp。但setMaxHeight/Width
不起作用。我使用的圖像是一個可繪製的svg,它的大小是40x40dp。ImageView將不服從maxWidth和高度
我也曾嘗試使用imageView.setMinimumHeight/Width
和
imageView.setLayoutParams(new ViewGroup.LayoutParams((int) getTypedValueInDP(24), (int) getTypedValueInDP(24)));
沒有任何效果!
在這裏,我創建的ImageView:
ImageView imageView = new ImageView(context);
imageView.setMaxHeight(getTypedValueInDP(20));
imageView.setMaxWidth(getTypedValueInDP(20));
imageView.setImageDrawable(context.getResources().getDrawable(drawable));
imageView.setPadding(left, 0, left, 0);
,我使用它與一個RelativeLayout的也是這樣的代碼製作:
RelativeLayout toastLayout = new RelativeLayout(context);
toastLayout.setBackground(getBLLShape());
toastLayout.addView(getImageView());
它的工作圖像的能力。但我也試過只是把'imageView.setAdjustViewBounds(true);'和刪除任何與'LayoutParams'相關的代碼,它仍然工作 – Muddz
@Muddz酷。我在此基礎上添加了'setAdjustViewBounds' [post](http://stackoverflow.com/a/9303270/549978)。 – blizzard
有什麼不對。如果'imageView.setMaxWidth(getTypedValueInDP(20));'它會導致作爲'RelativeLayout'的父佈局在屏幕和'ImageView'消失時有一個高度!但是,如果超出maxWidth,它的行爲應該如此,因爲它應該保持不變maxWidth將不會被設置 請參閱此屏幕快照:http://i.imgur.com/lFJoU2C.png – Muddz