如何在活动android中设置Imageview高度和宽度

nil*_*ash 0 height android imageview

嗨我想在我的活动中更改图像视图的高度和宽度属性我按照以下方式尝试了它但它不适合我...

View card_view = getLayoutInflater().inflate(R.layout.card_details1,null);
coupon_img = (ImageView) card_view.findViewById(R.id.coupon_image);
// I tried this ////////
coupon_img.getLayoutParams().height = 20;
coupon_img.getLayoutParams().width = 20;
// I also tried this ////
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);
    coupon_img.setLayoutParams(layoutParams);
// also this one ////
coupon_img.setMaxHeight(10);
Run Code Online (Sandbox Code Playgroud)

但是我无法改变imageview src的高度和宽度.我有什么错误吗?这该怎么做?需要帮助......谢谢......

Sid*_*ele 5

在这段代码中,我正在创建一个ImageView运行时的新实例并为其设置维度:

// SET THE IMAGEVIEW DIMENSIONS
int dimens = 120;
float density = activity.getResources().getDisplayMetrics().density;
int finalDimens = (int)(dimens * density);

LinearLayout.LayoutParams imgvwDimens = 
        new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgAlbumPhoto.setLayoutParams(imgvwDimens);

// SET SCALETYPE
imgAlbumPhoto.setScaleType(ScaleType.CENTER_CROP);

// SET THE MARGIN
int dimensMargin = 5;
float densityMargin = activity.getResources().getDisplayMetrics().density;
int finalDimensMargin = (int)(dimensMargin * densityMargin);

LinearLayout.LayoutParams imgvwMargin = 
        new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgvwMargin.setMargins
(finalDimensMargin, finalDimensMargin, finalDimensMargin, finalDimensMargin);
Run Code Online (Sandbox Code Playgroud)

这将设置的尺寸ImageView.但是,它们将在px中.如果您需要dp值,请使用此处的代码:https://stackoverflow.com/a/9563438/450534

更新:

要更改ImageView已在XML中定义的现有维度,请使用以下命令:

coupon_img.setLayoutParams(new LayoutParams(100, 100));
Run Code Online (Sandbox Code Playgroud)