我已经通过代码创建了select columnname(querytext) from table
where column1 = 'active'
,我希望它的最大大小为24x24dp。但是ImageView
并不起作用。我使用的图像是svg Drawable,它的大小是40x40dp。
我还尝试使用setMaxHeight/Width
和
imageView.setMinimumHeight/Width
没有任何影响!
我在这里创建ImageView:
imageView.setLayoutParams(new ViewGroup.LayoutParams((int) getTypedValueInDP(24), (int) getTypedValueInDP(24)));
并且我将它与RelativeLayout一起使用也是用这样的代码制作的:
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);
答案 0 :(得分:0)
在添加到ViewGroup之前,您需要为ImageView指定LayoutParams。
ImageView imageView = new ImageView(this);
imageView.setMaxHeight(getTypedValueInDP(20));
imageView.setMaxWidth(getTypedValueInDP(20));
imageView.setAdjustViewBounds(true);
imageView.setImageDrawable(context.getResources().getDrawable(drawable));
RelativeLayout.LayoutParams layoutParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
imageView.setLayoutParams(layoutParams);
RelativeLayout toastLayout = new RelativeLayout(this);
toastLayout.addView(imageView);
答案 1 :(得分:0)
填充似乎搞乱了setMaxWidth()。确保您在两侧提供的填充不得等于或大于setMaxWidth参数。在您的代码中,您将向左侧和右侧提供填充。所以,改变:
imageView.setMaxWidth(2* left + getTypedValueInDP(20));
到
-webkit-
答案 2 :(得分:-1)
如果您的图片和图片视图具有相同的宽高比。你试过吗
imageview.setScaleType(ImageView.ScaleType.CENTER_INSIDE)