package com.example.administrator.cookman.ui.fragment; import android.app.ActivityOptions; import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.administrator.cookman.R; import com.example.administrator.cookman.constants.Constants; import com.example.administrator.cookman.model.entity.tb_cook.TB_CustomCategory; import com.example.administrator.cookman.model.manager.CustomCategoryManager; import com.example.administrator.cookman.presenter.Presenter; import com.example.administrator.cookman.ui.activity.CookCategoryActivity; import com.example.administrator.cookman.ui.activity.CookChannelActivity; import com.example.administrator.cookman.ui.adapter.MainPageViewPageAdapter; import com.example.administrator.cookman.ui.component.magicindicator.MagicIndicator; import com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.CommonNavigator; import com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; import com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; import com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; import com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.indicators.WrapPagerIndicator; import com.example.administrator.cookman.ui.component.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView; import com.example.administrator.cookman.utils.Logger.Logger; import com.umeng.analytics.MobclickAgent; import java.util.List; import butterknife.Bind; import butterknife.OnClick; /** * Created by Administrator on 2017/2/17. */ public class MainPageFragment extends BaseFragment implements ViewPager.OnPageChangeListener { private List<TB_CustomCategory> customCategoryDatas; @Bind(R.id.magic_indicator) public MagicIndicator magicIndicator; @Bind(R.id.view_pager) public ViewPager viewPager; private CommonNavigator commonNavigator; private MainPageViewPageAdapter mainPageViewPageAdapter; /********************************************************************************************/ @Override protected Presenter getPresenter(){ return null; } @Override protected int getLayoutId(){ return R.layout.fragment_main_page; } @Override protected void initView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ initIndicatorView(); } /********************************************************************************************/ /********************************************************************************************/ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { magicIndicator.onPageScrolled(position, positionOffset, positionOffsetPixels); } @Override public void onPageSelected(int position) { magicIndicator.onPageSelected(position); } @Override public void onPageScrollStateChanged(int state) { magicIndicator.onPageScrollStateChanged(state); } /********************************************************************************************/ /********************************************************************************************/ @OnClick(R.id.imgv_search) public void onClickImgvSearch(){ MobclickAgent.onEvent(getActivity(), Constants.Umeng_Event_Id_Search); getFragmentManager() .beginTransaction() .add(android.R.id.content, new SearchFragment(), "fragment_search") .addToBackStack("fragment:reveal") .commit(); } @OnClick(R.id.imgv_add) public void onClickChannelAManager(){ MobclickAgent.onEvent(getActivity(), Constants.Umeng_Event_Id_Channel); CookChannelActivity.startActivity(getActivity()); } /********************************************************************************************/ private void initIndicatorView(){ customCategoryDatas = CustomCategoryManager.getInstance().getDatas(); commonNavigator = new CommonNavigator(getActivity()); commonNavigator.setScrollPivotX(0.35f); commonNavigator.setAdapter(new CommonNavigatorAdapter() { @Override public int getCount() { return customCategoryDatas == null ? 0 : customCategoryDatas.size(); } @Override public IPagerTitleView getTitleView(Context context, final int index) { SimplePagerTitleView simplePagerTitleView = new SimplePagerTitleView(context); simplePagerTitleView.setText(customCategoryDatas.get(index).getName()); simplePagerTitleView.setNormalColor(Color.parseColor("#333333")); simplePagerTitleView.setSelectedColor(Color.parseColor("#ffffff")); simplePagerTitleView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { viewPager.setCurrentItem(index); } }); return simplePagerTitleView; } @Override public IPagerIndicator getIndicator(Context context) { WrapPagerIndicator indicator = new WrapPagerIndicator(context); indicator.setFillColor(Color.parseColor("#de9816"));//ebe4e3 return indicator; } }); magicIndicator.setNavigator(commonNavigator); mainPageViewPageAdapter = new MainPageViewPageAdapter(getFragmentManager(), customCategoryDatas); viewPager.addOnPageChangeListener(this); viewPager.setAdapter(mainPageViewPageAdapter); } public boolean onBackPressed() { SearchFragment fragment = (SearchFragment)getFragmentManager().findFragmentByTag("fragment_search"); if(fragment != null) { return fragment.onBackPressed(); } return false; } public void updateChannel(){ initIndicatorView(); } }