package com.marshalchen.common.demoofui.sampleModules; import android.app.Activity; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.widget.TabHost; import com.marshalchen.common.demoofui.R; import com.marshalchen.common.uimodule.materialtabs.MaterialTab; import com.marshalchen.common.uimodule.materialtabs.MaterialTabHost; import com.marshalchen.common.uimodule.materialtabs.MaterialTabListener; public class MaterialTabTextActivity extends ActionBarActivity implements MaterialTabListener { MaterialTabHost tabHost; ViewPager pager; ViewPagerAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.material_tab_text_activity_main); Toolbar toolbar = (Toolbar) this.findViewById(R.id.toolbar); this.setSupportActionBar(toolbar); tabHost = (MaterialTabHost) this.findViewById(R.id.tabHost); pager = (ViewPager) this.findViewById(R.id.pager ); // init view pager adapter = new ViewPagerAdapter(getSupportFragmentManager()); pager.setAdapter(adapter); pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { // when user do a swipe the selected tab change tabHost.setSelectedNavigationItem(position); } }); // insert all tabs from pagerAdapter data for (int i = 0; i < adapter.getCount(); i++) { tabHost.addTab( tabHost.newTab() .setText(adapter.getPageTitle(i)) .setTabListener(this) ); } } @Override public void onTabSelected(MaterialTab tab) { pager.setCurrentItem(tab.getPosition()); } @Override public void onTabReselected(MaterialTab tab) { } @Override public void onTabUnselected(MaterialTab tab) { } private class ViewPagerAdapter extends FragmentStatePagerAdapter { public ViewPagerAdapter(FragmentManager fm) { super(fm); } public Fragment getItem(int num) { return new Fragment(); } @Override public int getCount() { return 7; } @Override public CharSequence getPageTitle(int position) { return "Sezione"; } } }