下面列出了com.bumptech.glide.request.target.SizeReadyCallback#onSizeReady ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void getSize(SizeReadyCallback cb) {
// FIXME 这里为了图方面,直接加载原图了,生产环境上应该是高和宽都取mView.getDrawableSize()。
// 但是这里直接取的话也不一定能取到正确的值,所以建义在
// android.view.ViewTreeObserver.OnPreDrawListener中做处理。
// 另外,DrawableSize会因图片数量改变而改变,所以建义异步加载图像之前
// 应当先设置占位图。如果图片的数量是动态可变的的话,也建义做针对性处理。
cb.onSizeReady(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
}
@Override
public void getSize(@NonNull SizeReadyCallback cb) {
if (!Util.isValidDimensions(width, height)) {
throw new IllegalArgumentException(
"Width and height must both be > 0 or Target#SIZE_ORIGINAL, but given" + " width: "
+ width + " and height: " + height + ", either provide dimensions in the constructor"
+ " or call override()");
}
cb.onSizeReady(width, height);
}
@Override
public void getSize(SizeReadyCallback cb) {
int maxWidth = getRealWidth(), maxHeight = Integer.MAX_VALUE;
if (config.imageFixCallback != null) {
holder.setImageState(ImageHolder.ImageState.SIZE_READY);
ImageHolder.SizeHolder sizeHolder = new ImageHolder.SizeHolder(0, 0);
config.imageFixCallback.onSizeReady(holder, 0, 0, sizeHolder);
if (sizeHolder.isInvalidateSize()) {
maxWidth = sizeHolder.getWidth();
maxHeight = sizeHolder.getHeight();
}
}
cb.onSizeReady(maxWidth, maxHeight);
}
/**
* A callback that should never be invoked directly.
*/
@Override
public void getSize(SizeReadyCallback cb) {
cb.onSizeReady(width, height);
}
@Override
public void getSize(SizeReadyCallback cb) {
cb.onSizeReady(photoWidth, photoHeight);
}
@Override
public void getSize(SizeReadyCallback cb) {
cb.onSizeReady(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
}
@Override
public void getSize(@NonNull SizeReadyCallback cb) {
cb.onSizeReady(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
}
@Override
public void getSize(SizeReadyCallback cb) {
cb.onSizeReady(dpToPx(ICON_SIZE), dpToPx(ICON_SIZE));
}
@Override
public void getSize(SizeReadyCallback cb) {
cb.onSizeReady(size, size);
}
@Override
public void getSize(SizeReadyCallback cb) {
cb.onSizeReady(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
}
@Override
public final void getSize(@NonNull SizeReadyCallback cb) {
cb.onSizeReady(width, height);
}