如何使用自定义字体在DrawerLayout和NavigationView自定义、如何使用、字体、NavigationView

2023-09-07 17:10:57 作者:候鳥

我想用Android的 DrawerLayout NavigationView 的菜单,但我不知道怎么有菜单项使用自定义字体。有没有人有一个成功的实施?

I want to use Android's DrawerLayout and NavigationView for menus, but I don't know how to have the menu items use a custom font. Does anyone have a successful implementation?

推荐答案

在你的抽屉使用此方法,将基本视图

use this method passing the base view in your drawer

 public static void overrideFonts(final Context context, final View v) {
    Typeface typeface=Typeface.createFromAsset(context.getAssets(), context.getResources().getString(R.string.fontName));
    try {
        if (v instanceof ViewGroup) {
            ViewGroup vg = (ViewGroup) v;
            for (int i = 0; i < vg.getChildCount(); i++) {
                View child = vg.getChildAt(i);
                overrideFonts(context, child);
            }
        } else if (v instanceof TextView) {
            ((TextView) v).setTypeface(typeface);
        }
    } catch (Exception e) {
    }
}