private void initTabs(int currentTab) { for (int index = 0; index < mTabCount; index++) { TextView tvTab = new TextView(mContext); tvTab.setId(BASE_ID + index); tvTab.setOnClickListener(this); tvTab.setGravity(Gravity.CENTER); if (null != mViewPager.getAdapter().getPageTitle(index)) { tvTab.setTextColor(mTextColor); tvTab.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSizeNormal); tvTab.setText(mViewPager.getAdapter().getPageTitle(index)); } if (mTabIcons != null && mTabIcons.size() > index) { StateListDrawable drawable = mTabIcons.get(index); drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); tvTab.setCompoundDrawables(null, drawable, null, null); tvTab.setCompoundDrawablePadding(0); tvTab.setPadding(0, 10, 0, 0); } LayoutParams tabLp = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1); tabLp.gravity = Gravity.CENTER; tvTab.setLayoutParams(tabLp); tvTab.setPadding(0, mTabPaddingTop, 0, mTabPaddingBottom); this.addView(tvTab); if (index == 0) { resetTab(tvTab, true); } if (index != mTabCount - 1 && mHasDivider) { LayoutParams dividerLp = new LayoutParams(mDividerWidth, LayoutParams.MATCH_PARENT); dividerLp.setMargins(0, mDividerVerticalMargin, 0, mDividerVerticalMargin); View vLine = new View(getContext()); vLine.setBackgroundColor(mDividerColor); vLine.setLayoutParams(dividerLp); this.addView(vLine); } } setCurrentTab(currentTab); }