내 응용 프로그램에서 Font Awesome 을 사용하려고 하는데을 사용하여 글꼴 을 통합 할 수 Typeface.createFromAsset()있었지만이 글꼴에서 제공하는 아이콘을 사용하고 싶지만 지금까지는 그렇게 할 수 없었습니다.
이 특정 글꼴에는 미디어 플레이어 컨트롤, 파일 시스템 액세스, 화살표 등과 같은 PUA (Unicode Private Use Area) 내에 아이콘이 포함되어 있습니다.
안드로이드에서 아이콘과 기호가 포함 된 글꼴을 사용한 사람이 있습니까?
답변
Font Awesome이 내 안드로이드 앱에서 제대로 작동하는 것 같습니다. 나는 다음을 수행했다.
- 복사 
fontawesome-webfont.ttf내 assests 폴더에 - 이 페이지를 사용하여 원하는 아이콘의 문자 엔티티를 찾았습니다. http://fortawesome.github.io/Font-Awesome/cheatsheet/
 - 
각 아이콘에 대해 strings.xml에 항목을 작성했습니다. 예를 들어 마음을 위해 :
<string name="icon_heart"></string> - 
내 XML 레이아웃의 관점에서 상기 항목을 참조했습니다.
<Button android:id="@+id/like" style="?android:attr/buttonStyleSmall" ... android:text="@string/icon_heart" /> - 
내 onCreate 메소드에 글꼴을로드하고 적절한 뷰에 맞게 설정하십시오.
Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" ); ... Button button = (Button)findViewById( R.id.like ); button.setTypeface(font); 
답변
IcoMoon 사용해보기 : http://icomoon.io
- 원하는 아이콘을 선택하십시오
 - 각 아이콘에 문자 할당
 - 폰트 다운로드
 
재생 아이콘을 선택하고 문자 ‘P’를 할당하고 파일 icomoon.ttf을 자산 폴더로 다운로드 했다고 가정 해보십시오. 아이콘을 표시하는 방법은 다음과 같습니다.
xml :
<TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:textSize="48sp"
  android:text="P" />
자바:
Typeface typeface = Typeface.createFromAsset(getAssets(), "icomoon.ttf");
textView.setTypeface(typeface);
아이콘 글꼴 사용에 대한 설명과 아이콘을 더 예쁘게 만드는 그라디언트 추가에 대한 설명이 포함 된 아름다운 Android 앱을 만드는 방법에 대해 이야기했습니다.
 http://www.sqisland.com/talks/beautiful-android
아이콘 글꼴 설명은 슬라이드 34에서 시작합니다.
 http://www.sqisland.com/talks/beautiful-android/#34
답변
어쩌면 너무 늦었지만 같은 요구가 있었기 때문에 이것을 게시했습니다 https://github.com/liltof/font-awsome-for-android
Keith Corwin이 말한 것처럼 사용할 수있는 멋진 Android 글꼴 xml 버전입니다.
그것이 다른 사람들을 도울 수 있기를 바랍니다.
답변
위와 같이 훌륭한 예이며 훌륭하게 작동합니다.
Typeface font = Typeface.createFromAsset(getAssets(), "fontawesome-webfont.ttf" );
Button button = (Button)findViewById( R.id.like );
button.setTypeface(font);
그러나! > 이것은 xml에서 설정 한 버튼 안의 문자열 인 경우 작동합니다.
<string name="icon_heart"></string>
button.setText(getString(R.string.icon_heart));
동적으로 추가 해야하는 경우 다음을 사용할 수 있습니다.
String iconHeart = "";
String valHexStr = iconHeart.replace("&#x", "").replace(";", "");
long valLong = Long.parseLong(valHexStr,16);
button.setText((char) valLong + "");
답변
string.xml에 문자열을 추가하지 않고 프로그래밍 방식의 setText를 원할 경우
16 진 코드를 여기에서보십시오 :
http://fortawesome.github.io/Font-Awesome/cheatsheet/
대체 & # xf066; ~ 0xf066
 Typeface typeface = Typeface.createFromAsset(getAssets(), "fontawesome-webfont.ttf");
    textView.setTypeface(typeface);
    textView.setText(new String(new char[]{0xf006 }));
답변
이 목적을 위해 설계된 작고 유용한 라이브러리 가 있습니다 .
dependencies {
    compile 'com.shamanland:fonticon:0.1.9'
}
Google Play 데모를 가져 옵니다 .

레이아웃에 글꼴 기반 아이콘을 쉽게 추가 할 수 있습니다.
<com.shamanland.fonticon.FontIconView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/ic_android"
    android:textSize="@dimen/icon_size"
    android:textColor="@color/icon_color"
    />
Drawablexml에서 와 같이 font-icon을 부 풀릴 수 있습니다 .
<?xml version="1.0" encoding="utf-8"?>
<font-icon
    xmlns:android="http://schemas.android.com/apk/res-auto"
    android:text="@string/ic_android"
    android:textSize="@dimen/big_icon_size"
    android:textColor="@color/green_170"
    />
자바 코드 :
Drawable icon = FontIconDrawable.inflate(getResources(), R.xml.ic_android);
연결:
답변
C # (Xamarin) 에서이 도우미 클래스를 프로그래밍 방식으로 텍스트 속성을 설정했습니다. 그것은 나를 위해 아주 잘 작동합니다 :
internal static class FontAwesomeManager
{
    private static readonly Typeface AwesomeFont = Typeface.CreateFromAsset(App.Application.Context.Assets, "FontAwesome.ttf");
    private static readonly Dictionary<FontAwesomeIcon, string> IconMap = new Dictionary<FontAwesomeIcon, string>
    {
        {FontAwesomeIcon.Bars, "\uf0c9"},
        {FontAwesomeIcon.Calendar, "\uf073"},
        {FontAwesomeIcon.Child, "\uf1ae"},
        {FontAwesomeIcon.Cog, "\uf013"},
        {FontAwesomeIcon.Eye, "\uf06e"},
        {FontAwesomeIcon.Filter, "\uf0b0"},
        {FontAwesomeIcon.Link, "\uf0c1"},
        {FontAwesomeIcon.ListOrderedList, "\uf0cb"},
        {FontAwesomeIcon.PencilSquareOutline, "\uf044"},
        {FontAwesomeIcon.Picture, "\uf03e"},
        {FontAwesomeIcon.PlayCircleOutline, "\uf01d"},
        {FontAwesomeIcon.SignOut, "\uf08b"},
        {FontAwesomeIcon.Sliders, "\uf1de"}
    };
    public static void Awesomify(this TextView view, FontAwesomeIcon icon)
    {
        var iconString = IconMap[icon];
        view.Text = iconString;
        view.SetTypeface(AwesomeFont, TypefaceStyle.Normal);
    }
}
enum FontAwesomeIcon
{
    Bars,
    Calendar,
    Child,
    Cog,
    Eye,
    Filter,
    Link,
    ListOrderedList,
    PencilSquareOutline,
    Picture,
    PlayCircleOutline,
    SignOut,
    Sliders
}
Java로 변환하기에 충분히 쉬울 것이라고 생각합니다. 그것이 누군가를 돕기를 바랍니다!