TabLayout从代码中设置TabLayout.Tab的文本大小(以编程方式)

时间:2017-10-27 10:06:55

标签: java android tabs android-tablayout

我试图从代码中设置文本大小,因为此选项不存在,是否有人知道如何实现此目的?

我知道它可以通过风格,但我不能使用风格。

我也试过this例子,但它没有用。

我有部分(一些标签获得新的文字大小)成功:

try {
        Field tabTextSize = TabLayout.class.getDeclaredField("mTabTextSize");
        tabTextSize.setAccessible(true);
        tabTextSize.setFloat(mTabLayout, 64f);
    } catch (Exception e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

试试这个

创建名为 custom_tab.xml

的xml布局
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/tab"
    android:textColor="@color/colorAccent"/>

比您的活动设置文本大小编程一样,如下面的代码

TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
tabOne.setText("ONE");
tabOne.setTextSize(14); // set font size as per your requirement 
tabLayout.getTabAt(0).setCustomView(tabOne);