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