ImageView不会服从maxWidth和height

时间:2017-01-25 10:43:54

标签: android

我已经通过代码创建了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);

3 个答案:

答案 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)