Universal-Image-Loader?????BUG
???????????? ???????[ 2015/12/22 14:52:04 ] ?????????????????? ??????
	???????UIL??????????????????????????BUG???????????????????????檔???????????????д??RoundedBitmapDisplayer???????????????
	???????????£?
	public class RoundedBitmapDisplayer implements BitmapDisplayer {
	protected final int cornerRadius;
	protected final int margin;
	public RoundedBitmapDisplayer(int cornerRadiusPixels) {
	this(cornerRadiusPixels?? 0);
	}
	public RoundedBitmapDisplayer(int cornerRadiusPixels?? int marginPixels) {
	this.cornerRadius = cornerRadiusPixels;
	this.margin = marginPixels;
	}
	@Override
	public void display(Bitmap bitmap?? ImageAware imageAware?? LoadedFrom loadedFrom) {
	if (!(imageAware instanceof ImageViewAware)) {
	throw new IllegalArgumentException("ImageAware should wrap ImageView. ImageViewAware is expected.");
	}
	imageAware.setImageDrawable(new RoundedDrawable(bitmap?? cornerRadius?? margin));
	}
	public static class RoundedDrawable extends Drawable {
	protected final float cornerRadius;
	protected final int margin;
	protected final RectF mBorderRect = new RectF()?? mBitmapRect;
	protected final BitmapShader mBitmapShader;
	protected final Paint paint;
	private final Matrix mShaderMatrix = new Matrix();
	private float scale = 1.0f?? dx?? dy;
	private int mBitmapWidth?? mBitmapHeight;
	private int mBorderWidth = 0;
	public RoundedDrawable(Bitmap bitmap?? int cornerRadius?? int margin) {
	this.cornerRadius = cornerRadius;
	this.margin = margin;
	mBitmapWidth = bitmap.getWidth();
	mBitmapHeight = bitmap.getHeight();
	mBitmapShader = new BitmapShader(bitmap?? Shader.TileMode.CLAMP?? Shader.TileMode.CLAMP);
	mBitmapRect = new RectF (margin?? margin?? bitmap.getWidth() - margin?? bitmap.getHeight() - margin);
	paint = new Paint();
	paint.setAntiAlias(true);
	paint.setShader(mBitmapShader);
	paint.setFilterBitmap(true);
	paint.setDither(true);
	}
	@Override
	protected void onBoundsChange(Rect bounds) {
	super.onBoundsChange(bounds);
	mBorderRect.set(margin?? margin?? bounds.width() - margin?? bounds.height() - margin);
	mBorderRect.inset(mBorderWidth / 2?? mBorderWidth / 2);
	mShaderMatrix.reset();
	dx = 0;
	dy = 0;
	if (mBitmapWidth * mBorderRect.height() > mBorderRect.width() * mBitmapHeight) {
	scale = mBorderRect.height() / (float) mBitmapHeight;
	dx = (mBorderRect.width() - mBitmapWidth * scale) * 0.5f;
	} else {
	scale = mBorderRect.width() / (float) mBitmapWidth;
	dy = (mBorderRect.height() - mBitmapHeight * scale) * 0.5f;
	}
	mShaderMatrix.setScale(scale?? scale);
	mShaderMatrix.postTranslate((int) (dx + 0.5f) + mBorderWidth / 2?? (int) (dy + 0.5f) + mBorderWidth / 2);
	// ????shader
	mBitmapShader.setLocalMatrix(mShaderMatrix);
	}
	@Override
	public void draw(Canvas canvas) {
	canvas.drawRoundRect(mBorderRect?? cornerRadius?? cornerRadius?? paint);
	}
	@Override
	public int getOpacity() {
	return PixelFormat.TRANSLUCENT;
	}
	@Override
	public void setAlpha(int alpha) {
	paint.setAlpha(alpha);
	}
	@Override
	public void setColorFilter(ColorFilter cf) {
	paint.setColorFilter(cf);
	}
	}
	}
??????
					
					???·???
App??С????H5?????????????????Щ??
2024/9/11 15:34:34?????????????????????????
2024/9/10 11:13:49P-One ???????????????????????????????????????
2024/9/10 10:14:12???????????????????????????
2024/9/9 18:04:26??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44
					
			
								
								
								
								
								
								
								
								
								
								
				
sales@spasvo.com