在SmartTabLayout中自定义选定的选项卡文本样式

时间:2016-03-21 11:10:27

标签: android

我正在使用github的https://github.com/ogaclejapan/SmartTabLayout

中的SmartTabLayout

效果很好,但我想要的是将所选标题用粗体

有人帮助我

1 个答案:

答案 0 :(得分:1)

试试这个:

SmartTabLayout mainTabs = (SmartTabLayout) findViewById(R.id.tabs);
final LinearLayout lyTabs = (LinearLayout) mainTabs.getChildAt(0);
changeTabsTitleTypeFace(lyTabs, 0);

  yourViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }
        @Override
        public void onPageSelected(int position) {
            changeTabsTitleTypeFace(lyTabs, position);
        }
        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });


public void changeTabsTitleTypeFace(LinearLayout ly, int position) {
    for (int j = 0; j < ly.getChildCount(); j++) {
        TextView tvTabTitle = (TextView) ly.getChildAt(j);
        tvTabTitle.setTypeface(null, Typeface.NORMAL); 
        if (j == position) tvTabTitle.setTypeface(null, Typeface.BOLD);       
    }
}

希望这有帮助,请告诉我是否有效。