2010-12-10 24 views
0

我有一些图片的高度为48像素(或更高),宽度为48像素(或更高)。所以基本上我有48×48以上或48×48以上的图像。我想从这些图像制作一些缩略图,这些图像是中心裁剪和不缩放的,以便它们保持图像质量。我不能使用:Android:图片库干扰ImageView的缩放设置

setScaleType(ScaleType.CENTER_CROP) 

因为虽然它实现了裁剪,我期待它,不幸的是缩放图像。我试图用裁剪实现的目标是,它要么截断宽度大于48像素的图像的左侧&,要么截断高度大于48像素的图像的最下面的&。我尝试了ScaleType.CENTER在XML布局,它似乎正是我想要的。我在一家画廊使用这些图像,所以在我的画廊适配器我做的:

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     ImageView thumb = new ImageView(mContext); 
     thumb.setScaleType(ScaleType.CENTER); 
     thumb.setLayoutParams(new LayoutParams(THUMB_SIZE, THUMB_SIZE)); 

     if (mPhotos != null) { 
      String imageUrl = mPhotos.get(position).getPhotoHref(); 
      imageUrl = imageUrl.replaceAll(mPattern, mFormat); 
      ImageManager.instance().displayImage(imageUrl, mContext, thumb, DefaultThumbId); 
     } else { 
      thumb.setImageResource(DefaultThumbId); 
     } 

     return thumb; 
    } 

但由于某些原因,整个图像显示,但一路下来缩放。它在XML布局中非常完美,但是当我在代码中执行此操作并将其提供给Gallery时无法工作。是什么赋予了?

回答

0

这实际上不是一个图库问题,我下载的图像没有正确缩放,所以它们的最大宽度/高度与视图大小相同,而不是最小宽度/身高达到我想要的。我现在以适当的大小下载并且setScaleType(ScaleType.CENTER_CROP)正常工作。