如何为android工具栏的字幕设置自定义字体?

如何为android工具栏的字幕设置自定义字体?,android,fonts,toolbar,subtitle,Android,Fonts,Toolbar,Subtitle,我想在android工具栏中获取字幕的文本视图,以更改其字体。事实上,我是用标题来做的,这样做的: Field f = toolbar.getClass().getDeclaredField("mTitleTextView"); f.setAccessible(true); titleTextView = (TextView) f.get(toolbar); 我尝试使用相同的代码,但尝试获取mSubtitleTextView,但这不是解决方案 谢谢 肯定不是最好的方法,但在紧要关头,这会奏效的

我想在android工具栏中获取字幕的文本视图,以更改其字体。事实上,我是用标题来做的,这样做的:

Field f = toolbar.getClass().getDeclaredField("mTitleTextView");
f.setAccessible(true);
titleTextView = (TextView) f.get(toolbar);
我尝试使用相同的代码,但尝试获取mSubtitleTextView,但这不是解决方案


谢谢

肯定不是最好的方法,但在紧要关头,这会奏效的。不过,您必须找到一种实现myTypefaceSpan的方法;我正在使用它,所以对我来说,它可以很好地连接在一起

CalligraphyTypefaceSpan myTypefaceSpan = new CalligraphyTypefaceSpan(
    TypefaceUtils.load(this.getAssets(), "fonts/custom_font.ttf"));

public static void setToolbarSubtitle(String subtitle, Context context) {
    SpannableStringBuilder sBuilder = new SpannableStringBuilder();
    sBuilder.append(subtitle);
    sBuilder.setSpan(MainActivity.myTypefaceSpan, 0, sBuilder.length(),
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    ((MainActivity)context).getSupportActionBar().setSubtitle(sBuilder);
}

当然不是最好的方法,但在紧要关头,这会奏效的。不过,您必须找到一种实现myTypefaceSpan的方法;我正在使用它,所以对我来说,它可以很好地连接在一起

CalligraphyTypefaceSpan myTypefaceSpan = new CalligraphyTypefaceSpan(
    TypefaceUtils.load(this.getAssets(), "fonts/custom_font.ttf"));

public static void setToolbarSubtitle(String subtitle, Context context) {
    SpannableStringBuilder sBuilder = new SpannableStringBuilder();
    sBuilder.append(subtitle);
    sBuilder.setSpan(MainActivity.myTypefaceSpan, 0, sBuilder.length(),
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

    ((MainActivity)context).getSupportActionBar().setSubtitle(sBuilder);
}

您可以按如下方式获得字幕文本视图:

View subTitleView = toolbar.getChildAt(1);
如果未向工具栏添加任何视图,则其默认结构为:

[0] - (TextView) title
[1] - (TextView) subtitle
[2] - (ActionMenuView) menu

希望有帮助

您可以获得如下字幕文本视图:

View subTitleView = toolbar.getChildAt(1);
如果未向工具栏添加任何视图,则其默认结构为:

[0] - (TextView) title
[1] - (TextView) subtitle
[2] - (ActionMenuView) menu

希望有帮助

用一个TypeFaceThat是我正在尝试的,但我需要文本视图标题在操作栏中的位置?我用上面的代码得到它,所以现在你想更改titleTextView的字体?用一个TypeFaceThat是我正在尝试的,但我需要文本视图标题位置,在actionbar中?我通过上面的代码得到它,所以现在你想更改TitleExtView的字体?这似乎不适用于标题,你也适用于反射吗?这似乎不适用于标题,你也适用于反射吗?