package com.dl7.mvp.module.news.photoset; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.support.v4.view.ViewPager; import android.support.v7.widget.Toolbar; import android.widget.TextView; import com.dl7.drag.DragSlopLayout; import com.dl7.mvp.R; import com.dl7.mvp.adapter.PhotoSetAdapter; import com.dl7.mvp.api.bean.PhotoSetInfo; import com.dl7.mvp.api.bean.PhotoSetInfo.PhotosEntity; import com.dl7.mvp.injector.components.DaggerPhotoSetComponent; import com.dl7.mvp.injector.modules.PhotoSetModule; import com.dl7.mvp.module.base.BaseActivity; import com.dl7.mvp.module.base.IBasePresenter; import com.dl7.mvp.widget.PhotoViewPager; import java.util.ArrayList; import java.util.List; import butterknife.BindView; public class PhotoSetActivity extends BaseActivity<IBasePresenter> implements IPhotoSetView { private static final String PHOTO_SET_KEY = "PhotoSetKey"; @BindView(R.id.vp_photo) PhotoViewPager mVpPhoto; @BindView(R.id.tv_title) TextView mTvTitle; @BindView(R.id.tv_index) TextView mTvIndex; @BindView(R.id.tv_count) TextView mTvCount; @BindView(R.id.tv_content) TextView mTvContent; @BindView(R.id.toolbar) Toolbar mToolbar; @BindView(R.id.drag_layout) DragSlopLayout mDragLayout; private String mPhotoSetId; private PhotoSetAdapter mAdapter; private List<PhotosEntity> mPhotosEntities; private boolean mIsHideToolbar = false; public static void launch(Context context, String photoId) { Intent intent = new Intent(context, PhotoSetActivity.class); intent.putExtra(PHOTO_SET_KEY, photoId); context.startActivity(intent); ((Activity)context).overridePendingTransition(R.anim.slide_right_entry, R.anim.hold); } @Override protected int attachLayoutRes() { return R.layout.activity_photo_set; } @Override protected void initInjector() { mPhotoSetId = getIntent().getStringExtra(PHOTO_SET_KEY); DaggerPhotoSetComponent.builder() .photoSetModule(new PhotoSetModule(this, mPhotoSetId)) .build() .inject(this); } @Override protected void initViews() { initToolBar(mToolbar, true, ""); } @Override protected void updateViews(boolean isRefresh) { mPresenter.getData(isRefresh); } @Override public void loadData(PhotoSetInfo photoSetBean) { List<String> imgUrls = new ArrayList<>(); mPhotosEntities = photoSetBean.getPhotos(); for (PhotosEntity entity : mPhotosEntities) { imgUrls.add(entity.getImgurl()); } mAdapter = new PhotoSetAdapter(this, imgUrls); mVpPhoto.setAdapter(mAdapter); mVpPhoto.setOffscreenPageLimit(imgUrls.size()); mTvCount.setText(mPhotosEntities.size() + ""); mTvTitle.setText(photoSetBean.getSetname()); mTvIndex.setText(1 + "/"); mTvContent.setText(mPhotosEntities.get(0).getNote()); mVpPhoto.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { mTvContent.setText(mPhotosEntities.get(position).getNote()); mTvIndex.setText((position + 1) + "/"); } }); mAdapter.setTapListener(new PhotoSetAdapter.OnTapListener() { @Override public void onPhotoClick() { mIsHideToolbar = !mIsHideToolbar; if (mIsHideToolbar) { mDragLayout.scrollOutScreen(300); mToolbar.animate().translationY(-mToolbar.getBottom()).setDuration(300); } else { mDragLayout.scrollInScreen(300); mToolbar.animate().translationY(0).setDuration(300); } } }); } @Override public void finish() { super.finish(); overridePendingTransition(R.anim.hold, R.anim.slide_right_exit); } }