package com.dl7.mvp.module.photo.main; import android.animation.Animator; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.widget.Toolbar; import android.widget.TextView; import com.dl7.mvp.R; import com.dl7.mvp.adapter.ViewPagerAdapter; import com.dl7.mvp.injector.components.DaggerPhotoMainComponent; import com.dl7.mvp.injector.modules.PhotoMainModule; import com.dl7.mvp.module.base.BaseFragment; import com.dl7.mvp.module.base.IRxBusPresenter; import com.dl7.mvp.module.manage.love.LoveActivity; import com.dl7.mvp.module.photo.beauty.BeautyListFragment; import com.dl7.mvp.module.photo.news.PhotoNewsFragment; import com.dl7.mvp.module.photo.welfare.WelfareListFragment; import com.dl7.mvp.rxbus.event.LoveEvent; import com.dl7.mvp.utils.AnimateHelper; import com.flyco.tablayout.SlidingTabLayout; import java.util.ArrayList; import javax.inject.Inject; import butterknife.BindView; import butterknife.OnClick; import rx.functions.Action1; /** * Created by long on 2016/12/20. * 图片主界面 */ public class PhotoMainFragment extends BaseFragment<IRxBusPresenter> implements IPhotoMainView { @BindView(R.id.tool_bar) Toolbar mToolBar; @BindView(R.id.tab_layout) SlidingTabLayout mTabLayout; @BindView(R.id.view_pager) ViewPager mViewPager; @BindView(R.id.iv_count) TextView mIvCount; @Inject ViewPagerAdapter mPagerAdapter; private Animator mLovedAnimator; @Override protected int attachLayoutRes() { return R.layout.fragment_photo_main; } @Override protected void initInjector() { DaggerPhotoMainComponent.builder() .applicationComponent(getAppComponent()) .photoMainModule(new PhotoMainModule(this)) .build() .inject(this); } @Override protected void initViews() { initToolBar(mToolBar, true, "图片"); ArrayList<Fragment> fragments = new ArrayList<>(); fragments.add(new BeautyListFragment()); fragments.add(new WelfareListFragment()); fragments.add(new PhotoNewsFragment()); mPagerAdapter.setItems(fragments, new String[] {"美女", "福利", "生活"}); mViewPager.setAdapter(mPagerAdapter); mTabLayout.setViewPager(mViewPager); mPresenter.registerRxBus(LoveEvent.class, new Action1<LoveEvent>() { @Override public void call(LoveEvent loveEvent) { mPresenter.getData(false); } }); } @Override protected void updateViews(boolean isRefresh) { mPresenter.getData(isRefresh); } @Override public void updateCount(int lovedCount) { mIvCount.setText(lovedCount+""); } @Override public void onResume() { super.onResume(); if (mLovedAnimator == null) { mIvCount.post(new Runnable() { @Override public void run() { mLovedAnimator = AnimateHelper.doHappyJump(mIvCount, mIvCount.getHeight() * 2/3, 3000); } }); } else { AnimateHelper.startAnimator(mLovedAnimator); } } @Override public void onPause() { super.onPause(); AnimateHelper.stopAnimator(mLovedAnimator); } @Override public void onDestroy() { super.onDestroy(); mPresenter.unregisterRxBus(); } @OnClick(R.id.fl_layout) public void onClick() { LoveActivity.launch(mContext, 0); } }