2013-02-21 106 views
0

您好我想改變我的活動 內線高度和圖像視圖的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

回答

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

這將設置ImageView的尺寸。但是,他們將在px。從這裏使用的代碼,如果你需要DP值:https://stackoverflow.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

2

嘗試一些像這樣的事情......

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

我認爲這會幫助你。

2

我認爲你不加入改變的圖像佈局..

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 
相關問題