首页 > 解决方案 > Font Awesome 无法正常工作 - 如何解决?

问题描述

我想创建一个只显示一些字体很棒的图标的测试应用程序。我从这里下载了文件并将它们添加到我的资产文件夹中。然后我创建了一个辅助类(IconTextView),如下所示,其中包括该方法:

public static Typeface getTypeface(Context context, String font) {
        return Typeface.createFromAsset(context.getAssets(), font);
    }

然后在我的主要活动中:

Typeface icon = IconTextView.getTypeface(this,"fa_brands_400.ttf" );
        IconTextView iconTextView = (IconTextView) findViewById(R.id.iconTextView);
        iconTextView.setTypeface(icon);

在我的 xml 中,我有:

android:id="@+id/iconTextView"
        android:layout_width="195dp"
        android:layout_height="17dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="32dp"
        android:textColor="@color/black"
        android:text="" 

我从这个备忘单中得到了值

但我只看到显示的文本,而不是实际的图标。我已经尝试过已经发布的不同答案,但参考是针对旧版本的,不适用于新代码。我也尝试在我的 xml 上传递字符串引用,但它没有用。我尝试下载用于网络的文件,然后下载用于桌面使用的文件,但没有任何区别。关于我做错了什么的任何想法?

标签: androidfont-awesome

解决方案


原来这是一个 android studio 错误。我正在从 &#x...; 包围的备忘单中设置图标参考。正如其他来源所建议的那样。Android Studio 正在提取我的字符串资源,就像<![CDATA[&#x...;]]>在 strings.xml 文件中一样。当我手动将其更改为前者时,它工作得很好!


推荐阅读