package com.markzhai.lyrichere.ui; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.markzhai.lyrichere.R; import java.util.Locale; public class SlidingTabsFragment extends Fragment { protected TabLayout mTabLayout; private ViewPager mViewPager; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_sliding_tabs, container, false); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { mViewPager = (ViewPager) view.findViewById(R.id.viewpager); mViewPager.setAdapter(new SectionsPagerAdapter(getActivity().getSupportFragmentManager())); mTabLayout = (TabLayout) view.findViewById(R.id.sliding_tabs_layout); mTabLayout.setupWithViewPager(mViewPager); setupTabTextColor(); } private void setupTabTextColor() { int tabTextColor = getResources().getColor(R.color.titleTextColor); mTabLayout.setTabTextColors(tabTextColor, tabTextColor); } public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { Fragment fragment = null; switch (position) { case 0: fragment = LyricExplorerFragment.newInstance(1); break; case 1: fragment = LyricExplorerFragment.newInstance(2); break; case 2: fragment = DownloadFragment.newInstance(); break; } return fragment; } @Override public int getCount() { // Show 3 total pages. return 3; } @Override public CharSequence getPageTitle(int position) { Locale l = Locale.getDefault(); switch (position) { case 0: return getString(R.string.title_section1).toUpperCase(l); case 1: return getString(R.string.title_section2).toUpperCase(l); case 2: return getString(R.string.title_section3).toUpperCase(l); } return null; } } }