如何将TypeFace设置为PagerTabStrip文本视图

dro*_*421 4 android custom-font

在我的应用程序中,我正在使用带有PagerTabStripViewPager,我需要将自定义字体设置为我的小部件.要为a Button或a 设置字体,TextView我只需扩展类并设置字体.

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不能用这种方法PagerTabStrip.有没有其他方法来设置可以使用的字体PagerTabStrip

小智 20

有点晚了,但这里有一个解决方案.获取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)
    }
}
Run Code Online (Sandbox Code Playgroud)