Java源码示例:com.facebook.drawee.backends.pipeline.PipelineDraweeController
示例1
private void load(Uri uri, SimpleDraweeView draweeView, int width, int height) {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setResizeOptions(new ResizeOptions(width, height))
.setProgressiveRenderingEnabled(true)
.setAutoRotateEnabled(true)
.build();
PipelineDraweeController controller =
(PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(draweeView.getController())
.setAutoPlayAnimations(true)
.build();
draweeView.setController(controller);
}
示例2
public void bindRaw(String fileName) {
if (bindedFile != null) {
bindedFile.detach();
bindedFile = null;
}
currentId = 0;
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(new File(fileName)))
.setAutoRotateEnabled(true)
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(getController())
.setImageRequest(request)
.build();
setController(controller);
}
示例3
public void bindRaw(String fileName) {
if (bindedFile != null) {
bindedFile.detach();
bindedFile = null;
}
currentId = 0;
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(new File(fileName)))
.setResizeOptions(new ResizeOptions(size, size))
.setAutoRotateEnabled(true)
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(getController())
.setImageRequest(request)
.build();
setController(controller);
}
示例4
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
Image image = images.get(position);
holder.image = image;
if (image == null) {
return;
}
holder.ivCheck.setVisibility(View.VISIBLE);
holder.ivCheck.setImageResource(selectedImages.contains(image) ? R.drawable.ap_gallery_checked
: R.drawable.ap_gallery_normal);
int width = 100, height = 100;
ImageRequest request =
ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(new File(image.path)))
.setResizeOptions(new ResizeOptions(width, height))
.build();
PipelineDraweeController controller =
(PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(holder.ivPhoto.getController())
.setImageRequest(request)
.build();
holder.ivPhoto.setController(controller);
}
示例5
private PipelineDraweeControllerBuilder getFrescoControllerBuilder(DraweeView draweeView) {
try {
PipelineDraweeController controller = (PipelineDraweeController) draweeView.getController();
Field mDataSourceSupplierFiled = PipelineDraweeController.class.getDeclaredField("mDataSourceSupplier");
mDataSourceSupplierFiled.setAccessible(true);
Supplier supplier = (Supplier) mDataSourceSupplierFiled.get(controller);
Field mAutoField = Class.forName("com.facebook.drawee.controller.AbstractDraweeControllerBuilder$2").getDeclaredField("this$0");
mAutoField.setAccessible(true);
PipelineDraweeControllerBuilder builder = (PipelineDraweeControllerBuilder) mAutoField.get(supplier);
return builder;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
示例6
private void load(Uri uri, SimpleDraweeView draweeView, int width, int height) {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setResizeOptions(new ResizeOptions(width, height))
.setProgressiveRenderingEnabled(true)
.setAutoRotateEnabled(true)
.build();
PipelineDraweeController controller =
(PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(draweeView.getController())
.setAutoPlayAnimations(true)
.build();
draweeView.setController(controller);
}
示例7
private void load(Uri uri, SimpleDraweeView draweeView, int width, int height) {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setResizeOptions(new ResizeOptions(width, height))
.setProgressiveRenderingEnabled(true)
.setAutoRotateEnabled(true)
.build();
PipelineDraweeController controller =
(PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(draweeView.getController())
.setAutoPlayAnimations(true)
.build();
draweeView.setController(controller);
}
示例8
public static void setSupportGif(SimpleDraweeView draweeView, String url){
PipelineDraweeController controller =
(PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setUri(url)
.setOldController(draweeView.getController())
.setAutoPlayAnimations(true) //自动播放gif动画
.build();
draweeView.setController(controller);
}
示例9
/**
* 渐进式加载
*
* @param url
* @param draweeView
* @return
*/
public static PipelineDraweeController getController(String url, SimpleDraweeView draweeView) {
ImageRequest request = ImageRequestBuilder
.newBuilderWithSource(Uri.parse(url))
.setProgressiveRenderingEnabled(true)
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(draweeView.getController())
.build();
return controller;
}
示例10
@Override
public void setImageURI(Uri uri) {
ImageRequest request = ImageRequestBuilder
.newBuilderWithSource(uri)
.setLocalThumbnailPreviewsEnabled(true)
.setProgressiveRenderingEnabled(false)
.setResizeOptions(new ResizeOptions(50, 50))
.build();
/*
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setTapToRetryEnabled(true)
.setImageRequest(request)
.setOldController(getController())
.build();*/
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setTapToRetryEnabled(true)
.setImageRequest(request)
.setOldController(getController())
.build();
setController(controller);
super.setImageURI(uri);
}
示例11
public static void setSupportGif(SimpleDraweeView draweeView, String url) {
LogUtils.i("JokeViewHolder", "setSupportGif:" + url);
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setUri(url)
.setOldController(draweeView.getController())
.setAutoPlayAnimations(true) //自动播放gif动画
.build();
draweeView.setController(controller);
}
示例12
private void updateData() {
user = AccountLogic.getInstance().getNowUser();
if(user == null){
return;
}
tvName.setText(user.getName());
String url = ActivityUtil.genPic(user.getId().hashCode());
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
.setPostprocessor(postprocessor)
.build();
PipelineDraweeController controller =
(PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(ivBg.getController())
.build();
ivBg.setController(controller);
String avartar = "https://second.imdao.cn"+user.getAvatar();
Timber.i("avatar:"+avartar);
ivAvatar.setImageURI(Uri.parse(avartar));
StringBuilder desc = new StringBuilder();
desc.append(getString(R.string.readed)).append(" ")
.append(user.getReadCount())
.append(" ").append(getString(R.string.collected))
.append(" ").append(user.getCollectCount())
.append(" ").append(getString(R.string.share))
.append(" ").append(user.getShareCount());
tvSig.setText(desc);
registerAt.setText("加入时间:"+DateUtil.getFriendlyTimeSpanByNow(user.getCreateAt()));
}
示例13
public void bind(Artboard artboard) {
mArtboard = artboard;
String url = MirrorUtils.buildArtboardHttpUrl(mDownsamplingView.getContext(), mArtboard);
int mResizeWidth = mDownsamplingView.getDownsamplingViewWidth();
int mResizeHeight = mDownsamplingView.getDownsamplingViewHeight();
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))
.setResizeOptions(new ResizeOptions(mResizeWidth, mResizeHeight))
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(mDownsamplingView.getController())
.setImageRequest(request)
.build();
mDownsamplingView.setController(controller);
}
示例14
public void bindImage(Uri uri) {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setResizeOptions(new ResizeOptions(previewView.getLayoutParams().width,
previewView.getLayoutParams().height))
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(previewView.getController())
.setImageRequest(request)
.setControllerListener(animationController)
.build();
previewView.setController(controller);
}
示例15
protected void onPostExecute(File result) {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(result))
.setResizeOptions(new ResizeOptions(previewView.getLayoutParams().width,
previewView.getLayoutParams().height))
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(previewView.getController())
.setImageRequest(request)
.build();
previewView.setController(controller);
}
示例16
public void bind(String path) {
data = path;
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(new File(path)))
.setResizeOptions(new ResizeOptions(v.getLayoutParams().width,
v.getLayoutParams().height))
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(v.getController())
.setImageRequest(request)
.build();
v.setController(controller);
chb.setChecked(selected.contains(data));
}
示例17
public ImagePerfMonitor(
MonotonicClock monotonicClock,
PipelineDraweeController pipelineDraweeController,
Supplier<Boolean> asyncLogging) {
mMonotonicClock = monotonicClock;
mPipelineDraweeController = pipelineDraweeController;
mImagePerfState = new ImagePerfState();
mAsyncLogging = asyncLogging;
}
示例18
@Before
public void setUp() {
mMonotonicClock = mock(MonotonicClock.class);
mController = mock(PipelineDraweeController.class);
when(mController.getId()).thenReturn(CONTROLLER_ID);
mImagePerfMonitor = new ImagePerfMonitor(mMonotonicClock, mController, Suppliers.BOOLEAN_FALSE);
}
示例19
public void bind(FileReference fileReference, int size) {
if (this.fileReference != null && this.fileReference.equals(fileReference)) {
return;
}
if (bindedFile != null) {
bindedFile.detach();
bindedFile = null;
}
setImageURI(null);
this.fileReference = fileReference;
bindedFile = messenger().bindFile(fileReference, true, new FileVMCallback() {
private boolean isFastThumbLoaded = false;
private void checkFastThumb() {
if (!isFastThumbLoaded) {
isFastThumbLoaded = true;
// if (sticker.getThumb() != null) {
// fastThumbLoader.request(sticker.getThumb());
// }
}
}
@Override
public void onNotDownloaded() {
checkFastThumb();
}
@Override
public void onDownloading(float progress) {
checkFastThumb();
}
@Override
public void onDownloaded(FileSystemReference reference) {
imageFile = new File(reference.getDescriptor());
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(imageFile))
.setAutoRotateEnabled(true)
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(getController())
.setImageRequest(request)
.build();
setController(controller);
loaded = true;
}
});
}
示例20
public void bind(Avatar avatar) {
// Same avatar
if (avatar != null && getImage(avatar) != null
&& getImage(avatar).getFileReference().getFileId() == currentId) {
return;
}
fastThumbLoader = new FastThumbLoader(this);
fastThumbLoader.setBlur(10);
if (bindedFile != null) {
bindedFile.detach();
bindedFile = null;
}
setImageURI(null);
if (avatar == null || getImage(avatar) == null) {
currentId = 0;
return;
}
currentId = getImage(avatar).getFileReference().getFileId();
bindedFile = messenger().bindFile(getImage(avatar).getFileReference(), true, new FileVMCallback() {
@Override
public void onNotDownloaded() {
}
@Override
public void onDownloading(float progress) {
}
@Override
public void onDownloaded(FileSystemReference reference) {
blurActor.send(new BlurActor.RequestBlur(reference.getDescriptor(), 10, new BlurActor.BluredListener() {
@Override
public void onBlured(final File f) {
((BaseActivity)getContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(f))
.setResizeOptions(new ResizeOptions(Screen.getWidth(), Screen.getHeight()))
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(getController())
.setImageRequest(request)
.build();
setController(controller);
}
});
}
}));
}
});
}
示例21
public void bind(Avatar avatar, String title, int id) {
// Same avatar
if (avatar != null && getImage(avatar) != null
&& getImage(avatar).getFileReference().getFileId() == currentId) {
return;
}
getHierarchy().setPlaceholderImage(new AvatarPlaceholderDrawable(title, id, placeholderTextSize, getContext()));
if (bindedFile != null) {
bindedFile.detach();
bindedFile = null;
}
setImageURI(null);
if (avatar == null || getImage(avatar) == null) {
currentId = 0;
return;
}
currentId = getImage(avatar).getFileReference().getFileId();
bindedFile = messenger().bindFile(getImage(avatar).getFileReference(), true, new FileVMCallback() {
@Override
public void onNotDownloaded() {
}
@Override
public void onDownloading(float progress) {
}
@Override
public void onDownloaded(FileSystemReference reference) {
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.fromFile(new File(reference.getDescriptor())))
.setResizeOptions(new ResizeOptions(size, size))
.build();
PipelineDraweeController controller = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
.setOldController(getController())
.setImageRequest(request)
.build();
setController(controller);
}
});
}