I am trying to find a way to change text size of Tab Title when selected. Until now without exit. Hope someone can help me.
My code bellow:
XML
I would recommend to set custom tab.
First you need to initiate your custom tabs, otherwise it won't change anything.
TextView (you can add whatever you want to be in each tab). In your onActivityCreated after your tabLayout.setupWithViewPager initiate your custom tabs:
for (int i = 0; i < 3; i++) { // 3 - A+B+C in your example
TabLayout.Tab tab = tabLayout.getTabAt(i);
if (tab != null) {
ViewGroup tabContainer = (ViewGroup) LayoutInflater.from(this).inflate(R.layout.custom_tab_item, tabLayout, false);
if (tabContainer != null) {
TextView yourTv = (TextView) tabContainer.findViewById(R.id.tv);
yourTv.setTextSize(18);
tab.setCustomView(tabContainer);
}
}
}
Add listener tabLayout.addOnTabSelectedListener and Implement TabLayout.OnTabSelectedListener, In your onTabSelected use this:
for (int i = 0; i < tabLayout.getTabCount(); i++) {
TabLayout.Tab tab = tabLayout.getTabAt(i);
if (tab != null) {
View customView = tab.getCustomView();
if (customView != null) {
TextView yourTv = (TextView) customView.findViewById(R.id.tv);
if (yourTv != null) {
if (i == selectedTabIndex) {
yourTv.setTextSize(18);
} else {
yourTv.setTextSize(16);
}
}
}
}
}