如何集成 Icon 字体

要使用图标字体,请按照以下步骤操作:

  • 将字体文件添加到项目中

    你可以从 icomoon 等在线网站创建字体图标文件,你可以在其中上传所需图标的 SVG 文件,然后下载创建的图标字体。然后,将 .ttf 字体文件放入 assets 文件夹中名为 fonts (根据需要命名 )的文件夹中:

    StackOverflow 文档

  • 创建一个助手类

    现在,创建以下帮助程序类,以便你可以避免重复该字体的初始化代码:

    public class FontManager {
      public static final String ROOT = "fonts/";
      FONT_AWESOME = ROOT + "myfont.ttf";
      public static Typeface getTypeface(Context context) {
        return Typeface.createFromAsset(context.getAssets(), FONT_AWESOME);
      }
    }
    

    你可以使用 Typeface 类从资产中选择字体。这样,你可以将字体设置为各种视图,例如,设置为按钮:

    Button button=(Button) findViewById(R.id.button);
    Typeface iconFont=FontManager.getTypeface(getApplicationContext());
    button.setTypeface(iconFont);
    

    现在,按钮字体已更改为新创建的图标字体。

  • 拿起你想要的图标

    打开附加到图标字体的 styles.css 文件。在那里你会发现你的图标带有 Unicode 字符的样式:

    .icon-arrow-circle-down:before {
      content: “\e001”;
    }
    .icon-arrow-circle-left:before {
      content: “\e002”;
    }
    .icon-arrow-circle-o-down:before {
      content: “\e003”;
    }
    .icon-arrow-circle-o-left:before {
      content: “\e004”;
    }
    

    此资源文件将用作字典,它将与特定图标关联的 Unicode 字符映射到人类可读的名称。现在,按如下方式创建字符串资源:

    <resources>
      <! — Icon Fonts -->
      <string name=”icon_arrow_circle_down”>&#xe001; </string>
      <string name=”icon_arrow_circle_left”>&#xe002; </string>
      <string name=”icon_arrow_circle-o_down”>&#xe003; </string>
      <string name=”icon_arrow_circle_o_left”>&#xe004; </string>
    </resources>
    
  • 使用代码中的图标

    现在,你可以在各种视图中使用你的字体,例如,如下所示:

    button.setText(getString(R.string.icon_arrow_circle_left))
    

    你还可以使用图标字体创建按钮文本视图:

    StackOverflow 文档