package com.jaydenxiao.androidfire.ui.news.fragment; import android.view.View; import android.widget.ProgressBar; import com.jaydenxiao.androidfire.R; import com.jaydenxiao.androidfire.app.AppConstant; import com.jaydenxiao.common.base.BaseFragment; import com.jaydenxiao.common.baserx.RxSchedulers; import com.jaydenxiao.common.commonutils.ImageLoaderUtils; import java.util.concurrent.TimeUnit; import butterknife.Bind; import rx.Observable; import rx.Subscriber; import uk.co.senab.photoview.PhotoView; import uk.co.senab.photoview.PhotoViewAttacher; /** * des:图文新闻详情 * Created by xsf * on 2016.09.9:57 */ public class PhotoDetailFragment extends BaseFragment { @Bind(R.id.photo_view) PhotoView photoView; @Bind(R.id.progress_bar) ProgressBar progressBar; private String mImgSrc; @Override protected int getLayoutResource() { return R.layout.fra_news_photo_detail; } @Override public void initPresenter() { } @Override protected void initView() { if (getArguments() != null) { mImgSrc = getArguments().getString(AppConstant.PHOTO_DETAIL_IMGSRC); } initPhotoView(); setPhotoViewClickEvent(); } private void initPhotoView() { mRxManager.add(Observable.timer(100, TimeUnit.MILLISECONDS) // 直接使用glide加载的话,activity切换动画时背景短暂为默认背景色 .compose(RxSchedulers.<Long>io_main()) .subscribe(new Subscriber<Long>() { @Override public void onCompleted() { progressBar.setVisibility(View.GONE); } @Override public void onError(Throwable e) { progressBar.setVisibility(View.GONE); } @Override public void onNext(Long aLong) { ImageLoaderUtils.displayBigPhoto(getContext(),photoView,mImgSrc); } })); } private void setPhotoViewClickEvent() { photoView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() { @Override public void onPhotoTap(View view, float v, float v1) { mRxManager.post(AppConstant.PHOTO_TAB_CLICK,""); } }); } }