https://blog.csdn.net/psjx0127/article/details/100661344 Um
projeto recente tem um requisito, ou seja, o item selecionado do título precisa estar em negrito e ampliado, pois o projeto usa TabLayout e TabLayout não tem suporte ao atributo correspondente. Eu tenho que encontrar uma maneira sozinho!
TabLayout pode personalizar a IU do item selecionado, então você pode começar a partir deste aspecto. A
solução final é adicionar um ouvinte ao TabLayout e personalizar a IU do item selecionado no ouvinte. Os arquivos de código e layout são os seguintes
mTabLayout.addOnTabSelectedListener(new ZTabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(ZTabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition());
View view = tab.getCustomView();
if (null == view) {
tab.setCustomView(R.layout.tab_layout_text);
}
TextView textView = tab.getCustomView().findViewById(android.R.id.text1);
textView.setTextAppearance(FinancialMainActivity.this, R.style.TabLayoutTextSize);
}
@Override
public void onTabUnselected(ZTabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition());
View view = tab.getCustomView();
if (null == view) {
tab.setCustomView(R.layout.tab_layout_text);
}
TextView textView = tab.getCustomView().findViewById(android.R.id.text1);
textView.setTextAppearance(FinancialMainActivity.this, R.style.TabLayoutTextSize_two);
}
@Override
public void onTabReselected(ZTabLayout.Tab tab) {
}
});
//监听一定要在setupWithViewPager方法之前添加,
mTabLayout.setupWithViewPager(mViewPager);
Os arquivos de layout usados são os seguintes
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:textColor="@color/color_white"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
/>
Selecione o estilo para negrito e ampliar a fonte, escreva com estilo
<style name="TabLayoutTextSize">
<item name="android:textStyle">bold</item>
<item name="android:textSize">18sp</item>
</style>
Fonte padrão
<style name="TabLayoutTextSize_two">
<item name="android:textSize">@dimen/font16</item>
<item name="android:textStyle">normal</item>
</style>