如何设置ImageView的高度和宽度活动的Android

问题描述:

您好我想改变我的活动 内线高度和图像视图的width属性我试图在下面的方式,但它不是为我工作...如何设置ImageView的高度和宽度活动的Android

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); 

但我无法更改imageview src的高度和宽度。我在做什么错误? 如何做到这一点? 需要帮助... 谢谢...

+1

使用缩放类型将图像src合并到imageView – 2013-02-21 06:18:19

在这一段代码,我在运行时创建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); 

这将设置ImageView的尺寸。但是,他们将在px。从这里使用的代码,如果你需要DP值:https://*.com/a/9563438/450534

更新:

要更改已经在XML定义的现有ImageView的尺寸,使用此:

coupon_img.setLayoutParams(new LayoutParams(100, 100)); 
+0

谢谢Siddharth为您提供帮助。如果我已经将它定义到xml文件中,请告诉我如何更改图像的高度和宽度。 – nilkash 2013-02-21 07:00:48

+0

@nilkash:检查更新是否有效。 – 2013-02-21 07:08:35

+0

叶哈我试过了,但没有工作......任何其他方式...... – nilkash 2013-02-21 07:10:54

尝试一些像这样的事情......

LayoutParams params = new LayoutParams(100, 100); 
parantlayout.addView(coupon_img, params); 

我认为这会帮助你。

我认为你不加入改变的图像布局..

LinearLayout ll = (LinearLayout)findViewById(R.layout.yourlinearlayout); 

image.setLayoutParams(
      new LinearLayout.LayoutParams(
       bmp.getWidth(), 
       bmp.getHeight())); 
ll.addView(image);// Then add the image to linear layout