Tablayout自定义字体不会更改字体

时间:2017-09-02 03:09:52

标签: android android-tablayout typeface

我创建了一个用于更改字体的tablayout类。 不幸的是,字体不会改变。

问题出在哪里?

资产文件夹路径字体\

public class Tablayout_customfonts extends TabLayout {

    private Typeface typeface;

    public Tablayout_customfonts(Context context) {
        super(context);
        init();
    }

    public Tablayout_customfonts(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public Tablayout_customfonts(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
       typeface = Typeface.createFromAsset(getContext().getAssets(), "font/BYekan.ttf");    }

    @Override
    public void addTab(Tab tab) {
        super.addTab(tab);

        ViewGroup mainView = (ViewGroup) getChildAt(0);
        ViewGroup tabView = (ViewGroup) mainView.getChildAt(tab.getPosition());

        int tabChildCount = tabView.getChildCount();
        for (int i = 0; i < tabChildCount; i++) {
            View tabViewChild = tabView.getChildAt(i);
            if (tabViewChild instanceof TextView) {
                ((TextView) tabViewChild).setTypeface(typeface, Typeface.NORMAL);
            }
        }
    }

}

0 个答案:

没有答案