设置imageView正方形高宽

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中改变图片视图的宽高属性,但是我用了一个方法后没有实现,应该要怎么实现呢?

 

解决方案:

在这段代码中,创建了一个新的实例并且设置了尺寸:

[java] view plaincopy
 
  1. // SET THE IMAGEVIEW DIMENSIONS  
  2. int dimens = 120;  
  3. float density = activity.getResources().getDisplayMetrics().density;  
  4. int finalDimens = (int)(dimens * density);  
  5.   
  6. LinearLayout.LayoutParams imgvwDimens =   
  7.         new LinearLayout.LayoutParams(finalDimens, finalDimens);  
  8. imgAlbumPhoto.setLayoutParams(imgvwDimens);  
  9.   
  10. // SET SCALETYPE  
  11. imgAlbumPhoto.setScaleType(ScaleType.CENTER_CROP);  
  12.   
  13. // SET THE MARGIN  
  14. int dimensMargin = 5;  
  15. float densityMargin = activity.getResources().getDisplayMetrics().density;  
  16. int finalDimensMargin = (int)(dimensMargin * densityMargin);  
  17.   
  18. LinearLayout.LayoutParams imgvwMargin =   
  19.         new LinearLayout.LayoutParams(finalDimens, finalDimens);  
  20. imgvwMargin.setMargins  
  21. (finalDimensMargin, finalDimensMargin, finalDimensMargin, finalDim  
  22.   
  23. ensMargin);  


改变已存在的ImageView尺寸,使用这个:

[java] view plaincopy
 
    1. coupon_img.setLayoutParams(new LayoutParams(100, 100));  

 

posted @ 2015-05-09 18:07  牧之丨  阅读(4938)  评论(0编辑  收藏  举报