package com.yuyh.sprintnba.ui.fragment;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
import com.yuyh.sprintnba.R;
import com.yuyh.sprintnba.base.BaseLazyFragment;
import com.yuyh.sprintnba.ui.adapter.VPNewsAdapter;
import com.yuyh.sprintnba.ui.presenter.Presenter;
import com.yuyh.sprintnba.ui.presenter.impl.NBANewsPresenterImpl;
import com.yuyh.sprintnba.ui.view.NewsView;
import com.yuyh.library.utils.DimenUtils;
import com.yuyh.library.view.viewpager.indicator.IndicatorViewPager;
import com.yuyh.library.view.viewpager.indicator.ScrollIndicatorView;
import com.yuyh.library.view.viewpager.indicator.slidebar.DrawableBar;
import com.yuyh.library.view.viewpager.indicator.slidebar.ScrollBar;
import com.yuyh.library.view.viewpager.indicator.transition.OnTransitionTextListener;
import fm.jiecao.jcvideoplayer_lib.JCVideoPlayer;
/**
* @author yuyh.
* @date 16/6/5.
*/
public class NewsFragment extends BaseLazyFragment implements NewsView {
private IndicatorViewPager indicatorViewPager;
private ScrollIndicatorView scrollIndicatorView;
@Override
protected void onCreateViewLazy(Bundle savedInstanceState) {
super.onCreateViewLazy(savedInstanceState);
setContentView(R.layout.fragment_nba_news);
Presenter presenter = new NBANewsPresenterImpl(mActivity, this);
presenter.initialized();
}
@Override
public void initializeViews(String[] names) {
scrollIndicatorView = (ScrollIndicatorView) findViewById(R.id.nba_news_indicator);
scrollIndicatorView.setBackgroundColor(ContextCompat.getColor(mActivity, R.color.colorPrimary));
scrollIndicatorView.setScrollBar(new DrawableBar(mActivity, R.drawable.round_border_white_selector, ScrollBar.Gravity.CENTENT_BACKGROUND) {
@Override
public int getHeight(int tabHeight) {
return tabHeight - DimenUtils.dpToPxInt(12);
}
@Override
public int getWidth(int tabWidth) {
return tabWidth - DimenUtils.dpToPxInt(12);
}
});
scrollIndicatorView.setSplitAuto(true);
// 设置滚动监听
scrollIndicatorView.setOnTransitionListener(new OnTransitionTextListener().setColor(getResources().getColor(R.color.colorPrimary), Color.WHITE));
ViewPager viewPager = (ViewPager) findViewById(R.id.nba_news_viewPager);
viewPager.setOffscreenPageLimit(names.length);
indicatorViewPager = new IndicatorViewPager(scrollIndicatorView, viewPager);
indicatorViewPager.setAdapter(new VPNewsAdapter(mActivity, names, getChildFragmentManager()));
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && mActivity != null) {
mActivity.invalidateOptionsMenu();
}
}
@Override
protected void onPauseLazy() {
super.onPauseLazy();
JCVideoPlayer.releaseAllVideos();
}
}