SmartTabLayout
SmartTabLayout copied to clipboard
stl_indicatorAlwaysInCenter="true" do not work
@Override protected void onCreate(Bundle savedInstanceState) { ...
tab.postDelayed(new Runnable() {
@Override
public void run() {
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
SmartTabLayout viewPagerTab = (SmartTabLayout) findViewById(R.id.viewpagertab);
demo.setup(viewPagerTab);
FragmentPagerItems pages = new FragmentPagerItems(this);
for (int titleResId : demo.tabs()) {
pages.add(FragmentPagerItem.of(getString(titleResId), DemoFragment.class));
}
FragmentPagerItemAdapter adapter = new FragmentPagerItemAdapter(
getSupportFragmentManager(), pages);
viewPager.setAdapter(adapter);
viewPagerTab.setViewPager(viewPager);
}
}, 3000);
}
while i do it like this, indicator is not in center.
stl_indicatorAlwaysInCenter doesn't work when you try to set data for tabs after some delay, for example, after some background task. This happens because onSizeChanged() in SmartTabLayout doesn't call again. You should invoke it directly with calling resize.
ViewGroup.LayoutParams params = tabs.getLayoutParams();
tabs.setLayoutParams(params);
call setLayoutParams for invoke onMeasure and onSizeChanged. this worked for me.
You may be want stl_titleOffset= 'auto_center'.