TabLayout 选中字体变大功能实现步骤如下:
/**
* 自定义Tab的View
*
* @param currentPosition
* @return
*/
private View getTabView(int currentPosition) {
View view = LayoutInflater.from(getContext()).inflate(R.layout.tab_item_text, null);
TextView textView = (TextView) view.findViewById(R.id.tab_item_textview);
textView.setText(mPageTitleList.get(currentPosition));
return view;
}
private List<String> mStrs = Arrays.asList("tab1", "tab2");
private void setViewPager() {
List<String> mPageTitleList = new ArrayList<String>();
for (int i = 0; i < TAB_NUM; i++) {
mPageTitleList.add(mStrs.get(i));
}
onLineFragment = CoGovernanceImgGroupListFragment.getInstance(GovernanceType.LIVE_ONLINE.getValue(), 1);
onLineFragment.setRefreshListener(this);
onLineFragment.setFilterInfo(coFilerScreenDto);
cerFragment = CoGovernanceImgGroupListFragment.getInstance(GovernanceType.CERTIFICATES_PICTURES.getValue(), 0);
cerFragment.setRefreshListener(this);
cerFragment.setFilterInfo(coFilerScreenDto);
fragments.add(onLineFragment);
fragments.add(cerFragment);
CoGovernanceImgPagerAdapter mAdapter = new CoGovernanceImgPagerAdapter(getChildFragmentManager(), fragments, mPageTitleList);
mViewPager.setAdapter(mAdapter);
mViewPager.setOffscreenPageLimit(fragments.size());
mViewPager.setScroll(true);
customerTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
//在这里可以设置选中状态下 tab字体显示样式
mViewPager.setCurrentItem(tab.getPosition());
View view = tab.getCustomView();
if (null != view && view instanceof TextView) {
((TextView) view).setTextSize(18);
((TextView) view).setTextColor(ContextCompat.getColor(getContext(), R.color.color_1377E3));
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
View view = tab.getCustomView();
if (null != view && view instanceof TextView) {
((TextView) view).setTextSize(16);
((TextView) view).setTextColor(ContextCompat.getColor(getContext(), R.color.color_5E637B));
}
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
customerTabLayout.setupWithViewPager(mViewPager);
customerTabLayout.post(new Runnable() {
@Override
public void run() {
setScale(0, 1.2f);
}
});
for (int i = 0; i < customerTabLayout.getTabCount(); i++) {
TabLayout.Tab tab = customerTabLayout.getTabAt(i);
if (tab != null) {
tab.setCustomView(getTabView(i));
}
}
// 设置默认第一个被选中、加粗
View view = customerTabLayout.getTabAt(0).getCustomView();
if (null != view && view instanceof TextView) {
((TextView) view).setTextSize(18);
((TextView) view).setTextColor(ContextCompat.getColor(getContext(), R.color.color_1377E3));
}
mViewPager.setCurrentItem(0);
}
R.layout.tab_item_text
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tab_item_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/color_5E637B"
android:gravity="bottom|center_horizontal"
android:typeface="sans"
>
</TextView>