字体真棒显示一些奇怪的图标

时间:2017-12-22 12:02:03

标签: android encoding font-awesome android-typeface

我在Android应用中使用字体真棒。它没有显示真正的图标。相反,我得到一些奇怪的文字。例如,我期待看到arrow-left,我得到的是这个(如图所示)。

enter image description here

android:text="@string/fa_arrow_left"

userTV.setTypeface(TypeFaces.get(this.getApplicationContext(), "fa"));

这是TypeFaces类。

public class TypeFaces {
    private static final Hashtable<String, Typeface> cache = new Hashtable<String, Typeface>();

    public static Typeface get(Context c, String name) {
        synchronized (cache) {
            if (!cache.containsKey(name)) {
                Typeface t = Typeface.createFromAsset(
                        c.getAssets(),
                        String.format("fonts/%s.ttf", name)
                );
                cache.put(name, t);
            }
            return cache.get(name);
        }
    }
}

在strings.xml <string name="fa_arrow_left">&#xf060;</string>

fa.ttf位于main > assets > fonts

https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/fontawesome-webfont.ttf

下载字体

无论如何要

1 个答案:

答案 0 :(得分:1)

啊!解决了它。实际上,我使用的版本中没有该角色的代码。从fontawesome网站下载了最新的字体,它工作。解决问题花了一整天。感谢所有在后台尝试帮助我的人。