Accessing a font under assets folder from XML file in Android

后端 未结 14 1171
暖寄归人
暖寄归人 2020-12-05 17:07

I am trying to do a application-wide font change and creating a style file to do so. In this file (below) I just want to change typeface value of TextAppearance style of And

14条回答
  •  -上瘾入骨i
    2020-12-05 18:12

    Uses this function if you are using single font.

    public static void applyFont(final Context context, final View root, final String fontName) {
            try {
                if (root instanceof ViewGroup) {
                    ViewGroup viewGroup = (ViewGroup) root;
                    for (int i = 0; i < viewGroup.getChildCount(); i++)
                        applyFont(context, viewGroup.getChildAt(i), fontName);
                } else if (root instanceof TextView)
                    ((TextView) root).setTypeface(Typeface.createFromAsset(context.getAssets(), fontName));
            } catch (Exception e) {
                Log.e("ProjectName", String.format("Error occured when trying to apply %s font for %s view", fontName, root));
                e.printStackTrace();
            }
        }
    

提交回复
热议问题