SmartTabLayout icon indicating copy to clipboard operation
SmartTabLayout copied to clipboard

stl_indicatorAlwaysInCenter="true" do not work

Open hyvenzhu opened this issue 7 years ago • 2 comments

@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.

hyvenzhu avatar Apr 20 '17 05:04 hyvenzhu

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.

wandersage avatar Nov 20 '17 20:11 wandersage

You may be want stl_titleOffset= 'auto_center'.

meikaiss avatar Mar 27 '19 15:03 meikaiss