private void initWidth() { int screenWidth = ((MyApplication)getApplication()).screenWidth; if(0 == screenWidth){ DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); ((MyApplication)this.getApplication()).screenWidth = dm.widthPixels; screenWidth = dm.widthPixels; //得到寬度 } imageViewWidth = (screenWidth - (3*CommonUtil.dip2px(ProductListActivity.this, 10)))/2; }
//重新設置圖像寬高 ViewGroup.LayoutParams params = holder.imgIconUrl0.getLayoutParams(); params.width = imageViewWidth; params.height = imageViewWidth; holder.imgIconUrl0.setLayoutParams(params); ImageLoaderUtil.displayBigImage(products.get(0).getIconUrl(), holder.imgIconUrl0, new ImageLoadingListener() { @Override public void onLoadingStarted(String imageUri, View view) {} @Override public void onLoadingFailed(String imageUri, View view,FailReason failReason) {} @Override public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {} @Override public void onLoadingCancelled(String imageUri, View view) {} });
原問題描述:我想在activity中改變圖片視圖的寬高屬性,但是我用了一個方法后沒有實現,應該要怎么實現呢?
解決方案:
在這段代碼中,創建了一個新的實例並且設置了尺寸:
- // 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, finalDim
- ensMargin);
改變已存在的ImageView尺寸,使用這個:
- coupon_img.setLayoutParams(new LayoutParams(100, 100));
