public static boolean prepareBg(SimpleDraweeView bgImage, String bgFileName) {
if (!TextUtils.isEmpty(bgFileName)) {
File bgFile = new File("/sdcard/sololive/effect/ship3", bgFileName);
Log.e(TAG, "bgFile=" + bgFile.getAbsolutePath());
if (bgFile.exists()) {
if (FileUtils.isWebpFile(bgFileName)) {
Log.e(TAG, "isWebp File");
ImageRequest localImageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(bgFile)).build();
Log.e(TAG, "simpledrawee=" + bgImage.hashCode());
ControllerListener controllerListener = new BaseControllerListener<ImageInfo>() {
@Override
public void onFinalImageSet(
String id,
@Nullable ImageInfo imageInfo,
@Nullable Animatable anim) {
Log.e(TAG, "onFinalImageSet");
if (anim != null) {
// app-specific logic to enable animation starting
anim.start();
}
}
};
AbstractDraweeController localAbstractDraweeController = Fresco
.newDraweeControllerBuilder()
.setOldController(bgImage.getController())
.setControllerListener(controllerListener)
.setImageRequest(localImageRequest)
.build();
bgImage.setController(localAbstractDraweeController);
return true;
} else {
Uri uri = Uri.fromFile(bgFile);
bgImage.setImageURI(uri);
}
}
}
return false;
}
java类com.facebook.drawee.controller.BaseControllerListener的实例源码
GiftAnimParser.java 文件源码
项目:MyAndroidTest
阅读 19
收藏 0
点赞 0
评论 0
PostItemImageView.java 文件源码
项目:redgram-for-reddit
阅读 18
收藏 0
点赞 0
评论 0
private ControllerListener<? super ImageInfo> getControllerListener() {
ControllerListener controllerListener = new BaseControllerListener<ImageInfo>(){
@Override
public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
imageLoaded = true;
}
};
return controllerListener;
}
PhotoView.java 文件源码
项目:HaoCommon
阅读 29
收藏 0
点赞 0
评论 0
public void setImageUri(String url) {
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url)).build();
ImagePipeline imagePipeline = Fresco.getImagePipeline();
final DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(mDraweeHolder.getController())
.setImageRequest(imageRequest)
.setControllerListener(new BaseControllerListener<ImageInfo>() {
@Override
public void onFinalImageSet(String s, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
try {
imageReference = dataSource.getResult();
if (imageReference != null) {
CloseableImage image = imageReference.get();
// do something with the image
if (image != null && image instanceof CloseableStaticBitmap) {
CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
if (bitmap != null) {
setImageBitmap(bitmap);
}
}
}
} finally {
dataSource.close();
CloseableReference.closeSafely(imageReference);
}
}
})
.setTapToRetryEnabled(true)
.build();
mDraweeHolder.setController(controller);
}
PhotoView.java 文件源码
项目:HaoCommon
阅读 20
收藏 0
点赞 0
评论 0
public void setImageUri(String uri, int width, int height) {
ImageRequest imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(uri))
.setAutoRotateEnabled(true)
.setResizeOptions(new ResizeOptions(width, height))
.build();
ImagePipeline imagePipeline = Fresco.getImagePipeline();
final DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, this);
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(mDraweeHolder.getController())
.setImageRequest(imageRequest)
.setControllerListener(new BaseControllerListener<ImageInfo>() {
@Override
public void onFinalImageSet(String s, @Nullable ImageInfo imageInfo, @Nullable Animatable animatable) {
try {
imageReference = dataSource.getResult();
if (imageReference != null) {
CloseableImage image = imageReference.get();
if (image != null && image instanceof CloseableStaticBitmap) {
CloseableStaticBitmap closeableStaticBitmap = (CloseableStaticBitmap) image;
Bitmap bitmap = closeableStaticBitmap.getUnderlyingBitmap();
if (bitmap != null) {
setImageBitmap(bitmap);
}
}
}
} finally {
dataSource.close();
CloseableReference.closeSafely(imageReference);
}
}
})
.setTapToRetryEnabled(true)
.build();
mDraweeHolder.setController(controller);
}
InstrumentedDraweeView.java 文件源码
项目:fresco
阅读 26
收藏 0
点赞 0
评论 0
private void init() {
mInstrumentation = new Instrumentation(this);
if (mConfig.instrumentationEnabled) {
mListener = new BaseControllerListener<Object>() {
@Override
public void onSubmit(String id, Object callerContext) {
mInstrumentation.onStart();
}
@Override
public void onFinalImageSet(
String id,
@Nullable Object imageInfo,
@Nullable Animatable animatable) {
mInstrumentation.onSuccess();
}
@Override
public void onFailure(String id, Throwable throwable) {
mInstrumentation.onFailure();
}
@Override
public void onRelease(String id) {
mInstrumentation.onCancellation();
}
};
}
DraweeUtil.setBgColor(this, mConfig);
}
CaptchaHandler.java 文件源码
项目:apps-android-wikipedia
阅读 21
收藏 0
点赞 0
评论 0
private void handleCaptcha(boolean isReload) {
if (captchaResult == null) {
return;
}
if (!isReload) {
ViewAnimations.crossFade(primaryView, captchaContainer);
}
captchaImage.setController(Fresco.newDraweeControllerBuilder()
.setUri(captchaResult.getCaptchaUrl(wiki))
.setAutoPlayAnimations(true)
.setControllerListener(new BaseControllerListener<ImageInfo>() {
@Override
public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
((AppCompatActivity)activity).getSupportActionBar().setTitle(R.string.title_captcha);
if (progressDialog.isShowing()) {
progressDialog.hide();
}
// for our Dark theme, show a "negative image" of the captcha!
final int maxColorVal = 255;
if (WikipediaApp.getInstance().getCurrentTheme().isDark()) {
float[] colorMatrixNegative = {
-1.0f, 0, 0, 0, maxColorVal, //red
0, -1.0f, 0, 0, maxColorVal, //green
0, 0, -1.0f, 0, maxColorVal, //blue
0, 0, 0, 1.0f, 0 //alpha
};
captchaImage.getDrawable().setColorFilter(new ColorMatrixColorFilter(colorMatrixNegative));
} else {
captchaImage.getDrawable().clearColorFilter();
}
// In case there was a captcha attempt before
captchaText.setText("");
}
})
.build());
}
ReactImageView.java 文件源码
项目:ReactNativeSignatureExample
阅读 25
收藏 0
点赞 0
评论 0
public void setShouldNotifyLoadEvents(boolean shouldNotify) {
if (!shouldNotify) {
mControllerListener = null;
} else {
final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).
getNativeModule(UIManagerModule.class).getEventDispatcher();
mControllerListener = new BaseControllerListener<ImageInfo>() {
@Override
public void onSubmit(String id, Object callerContext) {
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_START)
);
}
@Override
public void onFinalImageSet(
String id,
@Nullable final ImageInfo imageInfo,
@Nullable Animatable animatable) {
if (imageInfo != null) {
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
);
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD)
);
}
}
@Override
public void onFailure(String id, Throwable throwable) {
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
);
}
};
}
mIsDirty = true;
}
CommonDraweeView.java 文件源码
项目:android-photo-picker
阅读 18
收藏 0
点赞 0
评论 0
/**
* @see #loadImage(String, String, int, int, ScalingUtils.ScaleType, int, int, BaseControllerListener)
*/
public void loadImage(String url, int placeHolder, int errorResId,
ScalingUtils.ScaleType scaleType, final BaseControllerListener<ImageInfo> l){
loadImage(url,null, placeHolder, errorResId, scaleType,getWidth() , getHeight(),l);
}
CommonDraweeView.java 文件源码
项目:android-photo-picker
阅读 18
收藏 0
点赞 0
评论 0
/**
* @see #loadImage(String, String, int, int, ScalingUtils.ScaleType, int, int, BaseControllerListener)
*/
public void loadImage(String url, String lowUrl,int placeHolder, int errorResId,
ScalingUtils.ScaleType scaleType,
final BaseControllerListener<ImageInfo> l){
loadImage(url, lowUrl, placeHolder, errorResId, scaleType,getWidth() , getHeight(), l);
}
ReactImageView.java 文件源码
项目:react-native-ibeacon-android
阅读 25
收藏 0
点赞 0
评论 0
public void setShouldNotifyLoadEvents(boolean shouldNotify) {
if (!shouldNotify) {
mControllerListener = null;
} else {
final EventDispatcher mEventDispatcher = ((ReactContext) getContext()).
getNativeModule(UIManagerModule.class).getEventDispatcher();
mControllerListener = new BaseControllerListener<ImageInfo>() {
@Override
public void onSubmit(String id, Object callerContext) {
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_START)
);
}
@Override
public void onFinalImageSet(
String id,
@Nullable final ImageInfo imageInfo,
@Nullable Animatable animatable) {
if (imageInfo != null) {
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
);
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD)
);
}
}
@Override
public void onFailure(String id, Throwable throwable) {
mEventDispatcher.dispatchEvent(
new ImageLoadEvent(getId(), SystemClock.nanoTime(), ImageLoadEvent.ON_LOAD_END)
);
}
};
}
mIsDirty = true;
}