如何设置字体以PagerTabStrip文本视图(How to set a TypeFace to

2019-06-27 00:50发布

在我的应用我使用的是ViewPager与PagerTabStrip ,我需要设置自定义字体到我的小部件。 要设置字体ButtonTextView我只是扩展该类并设置字体。

public class MyButton extends Button {

    public MyButton(Context context) {
        super(context);
        initCustomFont();
    }

    public MyButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        initCustomFont();
    }

    public MyButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initCustomFont();
    }

    private void initCustomFont() {
        if(!isInEditMode()) {
            Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/boton_regular.ttf");
            setTypeface(tf);
        }
    }
}

但我不能用了这个方法PagerTabStrip 。 有另一种方式来设置可以使用的字体PagerTabStrip

Answer 1:

晚了一点,但这里是一个解决方案。 获取PagerTabStrip子视图和检查它是否是一个TextView的实例。 如果是,设置字体:

for (int i = 0; i < pagerTabStrip.getChildCount(); ++i) {
    View nextChild = pagerTabStrip.getChildAt(i);
    if (nextChild instanceof TextView) {
       TextView textViewToConvert = (TextView) nextChild;
       textViewToConvert.setTypeface(PUT_TYPEFACE_HERE)
    }
}


Answer 2:

检查PagerTabStrip层次视图 (在Eclipse中打开层级视图的角度,当你运行应用程序)并搜索其子。 其中一个必须是一个TextView保存选项卡的标题。 得到这个TextView ,并设置其字体。



文章来源: How to set a TypeFace to PagerTabStrip text views