Android Custom Tabs with Material Design Animation Effects
http://www.viralandroid.com/2020/02/android-custom-tabs-material-design-animation.html
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