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;
}
}
}