androd 自定义矢量图,和使用矢量图

自定义矢量图

首先 添加依赖:

//字体图标
//因为这个库的版本 和当前 项目的版本不兼容,所以加入
//exclude group:表示只要包含com.android.support的都排除
api ('com.joanzapata.iconify:android-iconify-ionicons:2.2.2'){
    exclude group:'com.android.support'
}
api ('com.joanzapata.iconify:android-iconify-fontawesome:2.2.2'){
    exclude group:'com.android.support'
}
1,在 网上 下载 .ttf 文件,然后新建一个assets 文件夹,将 .ttf 文件放进去。

网址为 :

https://www.iconfont.cn/

http://code.zoomla.cn/boot/font.html

在这里插入图片描述

然后选择添加到购物车,然后打开购物车,在右上角,

在这里插入图片描述

点击下载代码,完成后解压

在这里插入图片描述

将第一个打开,第二个.ttf文件进行保存,如下图

在这里插入图片描述

网页文件打开如下图
在这里插入图片描述

记住这个号,下面将会使用

2,创建枚举类,继承自 Icon,实现方法,
public enum EcIcons implements Icon {

    //这个号 就是网页里对应的东西,前面的icon_scan 可以随便起,但是注意必须加 _
    icon_scan('\ue694'),


    private char character;
    EcIcons(char character) {
        this.character = character;
    }

    //图标的键,例如'fa-ok'
    @Override
    public String key() {
        return name().replace('_', '-');
    }

    //与字体中的键匹配的字符
    @Override
    public char character() {
        return character;
    }
}

构造器要传入的值 在下载的文件中 有个.xml 的文件,打开后 找对应的就行

3,创建类 继承自 IconFontDescriptor ,然后加载文件,和 刚才定义的枚举对象。
public class FontEcModule implements IconFontDescriptor {
    @Override
    public String ttfFileName() {
        return "iconfont.ttf";
    }

    @Override
    public Icon[] characters() {
        return EcIcons.values();
    }
}
4,定义一个类,继承自Application ,然后对字体进行初始化,注意一定要在清单文件中 设置name 的属性 等于 继承自 Application的类。
public class ExampleApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

     /*   Latte.init(this)
                .WithApiHost("127.0.0.1")
                .withIcon(new FontAwesomeModule())
                .withIcon(new FontEcModule())
                .configure();*/

        Iconify.IconifyInitializer initializer = Iconify.with(new  FontEcModule());
    }
}

上面注释的 地方是我分装的,没有注释的则是 正常使用的。

还有就是设置清单文件

name = 继承自Application 的类

上面在 application中进行了初始化,然后进行使用就好了。

5,使用如下,布局中使用IconTextView ,text属性对应的值就是 EcIons 枚举类中对应的值,注意中间的下划线必须改为 -,也就是减号。
<com.joanzapata.iconify.widget.IconTextView
    android:id="@+id/icon_test"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="{fa-coffee}"
    tools:ignore="HardcodedText" />

直接使用自带的,不需要自定义这个麻烦,如下所示

Iconify.IconifyInitializer initializer = Iconify.with(new FontAwesomeModule());

在上面进行初始化,创建一个类继承自application ,进行初始化,和上面的一样。

可以点进去看一下:
在这里插入图片描述

这个已经是别人写好的,直接用就可以了,点击第二个方法里面 返回的类,就是对应的矢量图,复制前面的字段,使用的使用将下划线改为中划线就ok,

如下所示:

在这里插入图片描述

这些都可以在上面第二个网址里面找到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tʀᴜsᴛ³⁴⁵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值