将TextView样式设置为TabLayout.Tab以编程方式设置默认样式

时间:2018-11-19 13:58:52

标签: android

我在以下情况下遇到问题:    我确实将自定义视图设置为TabLayout.Tab(而不是所有现有选项卡),并且我需要将附加到某些选项卡的customview与默认选项卡相同。

TabLayout.Tab tab = retrieveTabAt(TAB_POS);
 TextView textview = new TextView(context);
 // modify the textview with needed info
 tab.setCustomView(textview);

一切正常,一切正常,唯一的问题是默认选项卡有点粗体且有很大不同,我需要textview才能具有相同的效果/样式。

我尝试将textview的字体设置为BOLD,但是它太粗了。

如何使自定义文本视图看起来像默认选项卡?

您可以在下面看到差异:

simple image

和在textview上设置为粗体的那个: bold image

1 个答案:

答案 0 :(得分:0)

为您的标签创建样式,如下所示:

<style name="AppTabLayout" parent="Widget.Design.TabLayout">
        <item name="tabTextAppearance">@style/AppTabTextAppearance</item>
</style>

在文本外观上添加所需的值,例如。

<style name="AppTabTextAppearance" parent="TextAppearance.Design.Tab">
        <item name="android:textSize">16sp</item>
        <item name="android:textColor">@color/black</item>
        <item name="textAllCaps">true</item>
 </style>

然后以自定义textview的样式匹配上述值