--ADVERTISEMENT--

MaterialTabs

Custom Tabs with Material Design animations for pre-Lollipop devices
It requires 14+ API and android support v7 (Toolbar)

How to use:

define it in xml layout with custom attributes ```xml ``` ( I'm working on use wrap_content instead 48dp)
Connect to java code and add to viewPager
MaterialTabHost tabHost;

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  tabHost = (MaterialTabHost) this.findViewById(R.id.materialTabHost);
  pager = (ViewPager) this.findViewById(R.id.viewpager);
  
  // init view pager
  pagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());
  pager.setAdapter(pagerAdapter);
  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 < pagerAdapter.getCount(); i++) {
            tabHost.addTab(
                    tabHost.newTab() 
                            .setIcon(getIcon(i))
                            .setTabListener(this)
                            );
    }
}

@Override
 public void onTabSelected(MaterialTab tab) {
  // when the tab is clicked the pager swipe content to the tab position
  pager.setCurrentItem(tab.getPosition());
  
 }
N.B. Your activity must extends ActionBarActivity implements MaterialTabListener

How to import

Android Studio
Add this to your build.gradle:
dependencies {
    compile 'it.neokree:MaterialTabs:0.11'
}

Limitations

Actually, this library have some limitations: - No selector animations
These problems are currently in development

Android Custom Tabs with Material Design Animation Effects Fixed and Scrollable Examples


screenshot
screenshot
screenshot
screenshot

Post a Comment

Powered by Blogger.