package cn.com.basic.face.base; import android.support.design.widget.TabLayout; import android.support.v4.view.ViewPager; import android.os.Bundle; import com.bsk.zhangbo.demoforbsk.R; import cn.com.basic.face.adapter.MyFragmentPagerAdapter; import cn.com.basic.face.fragment.SupervisoryFragment; import cn.com.basic.face.util.TabNameUtil; import cn.com.basic.face.fragment.AttendanceFragment; import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.fragment.DeviceFragment; import cn.com.basic.face.fragment.PhoneCallFragment; import cn.com.basic.face.fragment.RegisterFragment; import cn.com.basic.face.fragment.VisitFragment; import java.util.Arrays; import java.util.List; public class MainActivity extends BaseActivity { private static MainActivity instance; private static TabLayout mTabLayout; private static ViewPager mViewPager; public static void selectPage(int pageNum) { mTabLayout.getTabAt(pageNum).select(); } @Override public int getLayoutId() { return R.layout.activity_main; } @Override public void initViews(Bundle savedInstanceState) { mTabLayout = (TabLayout) findViewById(R.id.tab_layout); mViewPager = (ViewPager) findViewById(R.id.viewpager); mTabLayout.setTabGravity(TabLayout.GRAVITY_FILL); instance = this; } @Override public void initData() { List tabNamesList = Arrays.asList(TabNameUtil.tabNames); int[] tabIcons = TabNameUtil.tabIcons; MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),MainActivity.this); myFragmentPagerAdapter.addFragment(SupervisoryFragment.getInstance(), tabNamesList.get(0),tabIcons[0]); myFragmentPagerAdapter.addFragment(RegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]); myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]); myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]); myFragmentPagerAdapter.addFragment(VisitFragment.newInstance(), tabNamesList.get(4),tabIcons[4]); myFragmentPagerAdapter.addFragment(AttendanceFragment.newInstance(), tabNamesList.get(5),tabIcons[5]); myFragmentPagerAdapter.addFragment(DeviceFragment.newInstance(), tabNamesList.get(6),tabIcons[6]); mViewPager.setAdapter(myFragmentPagerAdapter); mViewPager.setOffscreenPageLimit(6);//viewpager缓存个数 mTabLayout.setupWithViewPager(mViewPager); mTabLayout.setTabMode(TabLayout.MODE_FIXED); for (int i = 0; i < mTabLayout.getTabCount(); i++) { TabLayout.Tab tab = mTabLayout.getTabAt(i); tab.setCustomView(myFragmentPagerAdapter.getTabView(i)); if (i == 0) { tab.getCustomView().setSelected(true); } } } public static MainActivity getInstance() { return instance; } }