package cn.sinata.xldutils.fragment; import android.net.Uri; import android.os.Bundle; import android.view.View; import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.drawable.ProgressBarDrawable; import com.facebook.drawee.drawable.ScalingUtils; import com.facebook.drawee.generic.GenericDraweeHierarchy; import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder; import com.facebook.drawee.interfaces.DraweeController; import cn.sinata.xldutils.R; import cn.sinata.xldutils.view.ZoomableDraweeView; /** * 图片Fragment */ public class ImageFragment extends BaseFragment { public static ImageFragment newInstance(String url){ ImageFragment imageFragment = new ImageFragment(); Bundle bundle = new Bundle(); bundle.putString("url",url); imageFragment.setArguments(bundle); return imageFragment; } @Override protected int getContentViewLayoutID() { return R.layout.fragment_image; } @Override protected void onFirstVisibleToUser() { String url; if (getArguments()!=null){ url = getArguments().getString("url"); }else { url = ""; } //noinspection SpellCheckingInspection ZoomableDraweeView zoomableDraweeView = mHolder.bind(R.id.zoomDrawee); GenericDraweeHierarchy hierarchy = new GenericDraweeHierarchyBuilder(getResources()) .setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER) .setProgressBarImage(new ProgressBarDrawable()) .build(); Uri uri = Uri.parse(url); DraweeController ctrl = Fresco.newDraweeControllerBuilder() .setUri(uri) .setTapToRetryEnabled(true) .build(); zoomableDraweeView.setHierarchy(hierarchy); zoomableDraweeView.setController(ctrl); zoomableDraweeView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getActivity().finish(); } }); } @Override protected void onVisibleToUser() { } @Override protected void onInvisibleToUser() { } }