SetSpan在ScrollingActivity标题中不起作用

座位噪音

我设法通过以下代码在“正常”活动中更改了AppBar标题的字体:

setContentView(R.layout.activity_scrolling);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);        

    SpannableString s = new SpannableString("MyTitle");
    s.setSpan(new TypefaceSpan(this, "Britannic_Bold.ttf"), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    setTitle(s);

使用自定义类TypefaceSpan:

public class TypefaceSpan extends MetricAffectingSpan {
/** An <code>LruCache</code> for previously loaded typefaces. */
private static LruCache<String, Typeface> sTypefaceCache =
        new LruCache<String, Typeface>(12);

private Typeface mTypeface;

/**
 * Load the {@link Typeface} and apply to a {@link Spannable}.
 */
public TypefaceSpan(Context context, String typefaceName) {
    mTypeface = sTypefaceCache.get(typefaceName);

    if (mTypeface == null) {
        mTypeface = Typeface.createFromAsset(context.getApplicationContext()
                .getAssets(), String.format("fonts/%s", typefaceName));

        // Cache the loaded Typeface
        sTypefaceCache.put(typefaceName, mTypeface);
    }
}

@Override
public void updateMeasureState(TextPaint p) {
    p.setTypeface(mTypeface);

    // Note: This flag is required for proper typeface rendering
    p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}

@Override
public void updateDrawState(TextPaint tp) {
    tp.setTypeface(mTypeface);

    // Note: This flag is required for proper typeface rendering
    tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
}

}

但是,这不适用于滚动活动(由Android Studio创建)

滚动活动的标题不会更改其字体,尽管文本会按预期更改。

我已经尝试了很多,包括为工具栏标题创建样式,但是它似乎不起作用。

我有什么可以监督的吗?

这是滚动活动的XML部分:

<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/app_bar_height"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
座位噪音

因此,经过反复尝试,我找到了解决方案!

只需获取CollapsedToolbarLayout并调用setCollapsedTitleTypeface(customFont)和setExpandedTitleTypeface(customFont)即可!

奇迹般有效!:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP标题中的if语句不起作用

来自分类Dev

UIButton在我的UITableView的标题中不起作用

来自分类Dev

CSS省略号在Bootstrap 3缩略图标题中不起作用

来自分类Dev

UI Bootstrap Anchor在“手风琴”标题中不起作用

来自分类Dev

ng-grid列标题中的多选复选框不起作用

来自分类Dev

复选框在uib-accordion的标题中不起作用

来自分类Dev

ggplot标题不起作用?

来自分类Dev

标题标签不起作用

来自分类Dev

多行标题不起作用。

来自分类Dev

标题标签不起作用

来自分类Dev

当标题中有<base>标签时,为什么snapsvg mask在Chrome和Firefox中不起作用?

来自分类Dev

UICollectionReusableView的节标题不起作用

来自分类Dev

引导面板标题样式不起作用

来自分类Dev

Delphi更改标签标题不起作用

来自分类Dev

可变的PHP标题标记不起作用

来自分类Dev

PHP中的标题位置不起作用

来自分类Dev

设置每个视图的标题不起作用

来自分类Dev

AngularJS“ {{}}”网站标题属性不起作用

来自分类Dev

jQuery .click()的标题不起作用

来自分类Dev

标题不起作用生成的 excel 文件...?

来自分类Dev

循环图像标题不起作用

来自分类Dev

$_GET 在标题位置不起作用

来自分类Dev

标题位置在 if 语句中不起作用

来自分类Dev

java - 颜色标题不起作用

来自分类Dev

设置 UINavigationbar 的标题不起作用

来自分类Dev

SpannableStringBuilder setSpan在阿拉伯文本上不起作用

来自分类常见问题

从Wordpress主题中删除PHP头像操作不起作用

来自分类Dev

Wordpress子主题中的媒体查询不起作用

来自分类Dev

{{^ foreach}}在Ghost(0.9.0)主题中不起作用