【Android】 IconFont的使用

news2024/9/24 13:48:58

SVG 的特点:

  1. 矢量图形:SVG 使用基于路径的矢量图形,这意味着图形可以无限放大而不失真,非常适合需要多种分辨率的应用。

  2. 可伸缩性:SVG 文件的大小通常比位图小,这使得它们在网页上加载更快。

  3. 编辑和创作:SVG 文件是文本格式,可以使用任何文本编辑器创建和编辑。这使得它们易于手工编写和脚本化。

  4. 互动性:SVG 可以包含交互性,如事件处理器,允许用户与图形进行交互。

  5. 集成性:SVG 可以被直接嵌入 HTML 文档中,也可以作为图像元素使用。

  6. 动画:SVG 支持 SMIL(Synchronized Multimedia Integration Language),允许在图形中创建动画。

  7. 样式化:SVG 支持 CSS 样式,可以方便地改变图形的外观。

阿里IconFont平台

iconfont-阿里巴巴矢量图标库

IconFont虽然看起来是图标,实际原理跟字体的实现方式是一样的,所以我们把每个Icon当作一个特殊的文字来理解和处理。

IconFont使用

  1. 首先登录网站,搜索你要用的Icon,把它们加入购物车(点击就可以)。
  2. 把购物车里的所有Icon存储在同一个项目中。
  3. 进入项目,选择“下载至本地”。
  4. 打开下载的文件,里面有一个*.ttf文件,我们需要的所有字体就都在这里了

effca2c5f44e465c87eab4900d9892bd.png

 获取到这些图标我们就可以开始使用了:

1.首先创建一个文件夹

e6519f81efb846b98f65ec3dbe83867e.png

 接下来复制内容(比如上方的ttf文件)进入文件

2.使用代码建立获取的逻辑结构:

    public void finish(String tianqicode,weatherhourViewHolder holder) {
        analyzeJSONArray(tubiaoDay, tianqicode, holder);
    }

    String tubiaoDay="{" +
            "'100':'','101':'','102':''," +
            "'103':'','104':'','300':''," +
            "'301':'','302':'','303':''," +
            "'304':'','305':'','306':''," +
            "'307':'','308':'','309':''," +
            "'310':'','311':'','312':''," +
            "'313':'','314':'','315':''," +
            "'316':'','317':'','318':''," +
            "'399':'','400':'','401':''," +
            "'402':'','403':'','404':''," +
            "'405':'','406':'','407':''," +
            "'408':'','409':'','410':''," +
            "'499':'','500':'','501':''," +
            "'502':'','503':'','504':''," +
            "'507':'','508':'','509':''," +
            "'510':'','511':'','512':''," +
            "'513':'','514':'','515':''," +
            "'900':'','901':''}" ;

    public void analyzeJSONArray(String json,String tianqicode,weatherhourViewHolder holder) {
        try {
            JSONObject jsonObjectALL = new JSONObject(json);
            String b=jsonObjectALL.getString(tianqicode);
            holder.binding.ivMainDayweather.setText(Html.fromHtml(b));
        } catch (Exception e) {
            //e.printStackTrace();
//            holder.binding.ivMainDayweather.setText(Html.fromHtml(""));//如果未找到则显示N/A
        }
    }

或者

打开 iconfont 目录中的 demo.html,找到图标相对应的 HTML 实体字符码;

打开 res/values/strings.xml,添加 string 值;

打开 activity_main.xml,添加 string 值到 TextView:

最后为 TextView 指定文字:

Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont/iconfont.ttf");
TextView textview = (TextView)findViewById(R.id.like);
textview.setTypeface(iconfont);

icon字体的使用

前几步如之前的,在平台获取字体文件压缩包

d25d9c3ff05840afbb7d4a4aa60a96c6.png

接下来还是如图:

e20b61f912a74594acf9d8f5b45a3e52.png

将ttf文件放入项目该文件夹

全局:

这个时候我们首先试着设置全局的:

d76c1e03d3aa460cbe2f887c67212180.png

如图所示加入两句即可

同时要保证该thems是自己项目依赖的。

单个:

使用这两句,将text字体设置即可575770b8669e4d6fb75a78bf03579500.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2160507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件

【STM32 ST-LINK Utility】工具使用和如何编译HEX和BIN文件 一、STM32 ST-LINK UtilitySTM32 ST-LINK Utility简介功能概述: STM32 ST-LINK Utility作用使用场景: 二、KEIL生成HEX和BIN文件1. 生成HEX文件2. 生成BIN文件 三、STM32 ST-LINK Utility烧录1…

【linux经典工具】strace-就十分钟你也能成为性能调优专家

strace 是什么 strace是一款功能强大的 Linux 进程监控和诊断工具。主要作用就是:用于调试程序、解决问题、拦截和记录系统调用以及跟踪正在运行的进程。它能输出了程序如何与系统交互的过程,尤其是在无法获取源代码的情况下(那些开源工具、…

学习threejs,绘制任意字体模型

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言二、🍀绘制任意字体模型…

前端开发之装饰器模式

介绍 装饰器模式 是在不修改对象内部结构的情况下,动态地给对象添加功能的一种设计模式。在软件开发中,有时候我们需要为已有对象添加一些额外的行为,但不希望修改该对象的代码,装饰器模式可以很好的满足这一需求。 在TypeScrip…

面向AI的数据治理市场前景如何?

面向AI的数据治理市场前景如何? 前言面向AI的数据治理 前言 在这个数字化飞速发展的时代,数据已经成为了我们生活和工作中不可或缺的一部分。就像一把双刃剑,既能为我们带来巨大的机遇,也可能带来一些挑战。而数据治理&#xff0…

[spring]springboot日志

文章目录 一. 日志的用途二. 打印日志三. 日志框架门面模式(外观模式)SLF4J框架介绍 四. 日志格式日志级别配置日志级别日志持久化配置日志文件分割配置日志格式 五. 更简单的日志输出 一. 日志的用途 二. 打印日志 得到日志对象: 需要使用日志工厂LoggerFactory RestControl…

统信服务器操作系统【qcow2 镜像空间扩容】方案

使用 qcow2 镜像安装系统,当默认安装系统存储空间不够用时,进行自定义扩容 文章目录 准备环境扩容步骤一、检查环境信息1.查看镜像信息2.查看镜像分区信息3.确认需要扩容的分区名二、扩容1.备份镜像2.创建新的镜像文件,并指定空间3.将系统扩容到新的镜像三、扩容 lvm 分区四…

OpenCV目标检测(1)模板匹配函数matchTemplate()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 将一个模板与重叠的图像区域进行比较。 该函数在图像中滑动,使用指定的方法将大小为 w h w \times h wh的重叠块与模板 templ 进行…

安全运维教程(非常详细)从零基础入门到精通,看完这一篇就够了_网络运维手册

一、安全运维-网络 1、IP地址相关 IP地址属于网络层地址,用于标识网络中的节点设备。 IP地址由32bit构成,每8bit一组,共占用4个字节。 IP地址由两部分组成,网络位和主机位。 IP地址分类: 类别网络位子网掩码私有地…

基于单片机的智能校园照明系统

由于校园用电量较大,本设计可以根据实际环境情况的改变,实现实时照明的控制。本设计以单片机芯片为控制芯片,热释电传感器采集教室中学生出入的信息,并把信息传递给单片机芯片,单片机芯片根据传感器传递过来的信息来控…

004_动手实现MLP(pytorch)

import torch from torch import nn from torch.nn import init import numpy as np import sys import d2lzh_pytorch as d2l # 1.数据预处理 mnist_train torchvision.datasets.FashionMNIST(root/Users/w/PycharmProjects/DeepLearning_with_LiMu/datasets/FashionMnist, t…

水印与标志检测系统源码分享

水印与标志检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

深度解读数字化转型实施中的常见挑战与解决方案

为何深入理解数字化转型中的挑战至关重要? 数字化转型不仅仅是技术升级的过程,更是企业在面对市场变化、客户需求以及内部效率提升等多方面压力时,进行的系统性变革。然而,数字化转型并非一蹴而就,且在实际实施过程中…

app store预览和截屏最新要求6.9寸截屏,没真机的解决方案

IOS又升级了,最新的iphone 16,新出的iphone 16 pro max是6.9英寸的。 而app store的上架流程也随机更新了,不再需要之前的5.5寸屏截图,改为需要6.9寸屏的截图了 5.5寸那些老古董终于退出历史舞台 但是问题来了,现在…

电源设计的艺术:从底层逻辑到工程实践

在电子工程的世界里,电源设计是核心中的核心。它不仅是电子设备的能量源泉,更是整个系统稳定运行的基石。随着科技的不断进步,电源设计的要求也越来越高,从效率、稳定性到体积、成本,每一个维度都是工程师们不断追求的…

Linux相关概念和重要知识点(7)(git、冯诺依曼体系结构)

1.git (1)版本控制和版本控制器 当我们修改一个项目的时候,一般都会先留下一个备份再修改,并将修改的文件命名为第一次修改、第二次修改......当需要途中的任何版本,或是需要回退到之前的版本时,都能够找…

远程连接服务器时出现“这可能是由于CredSSP加密数据库修正”的错误提示的解决办法

现象: 当远程连接服务器时,有时候会出现以下提示,从而导致无法成功连接服务,如下所述: 原因: 远程桌面使用的是“凭据安全支持提供程序协议 (CredSSP) ”,这个协议在未修补的版本中是存在漏…

焊接缺陷检测系统源码分享

焊接缺陷检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

实现高效物联网通信:MQTT协议深入解析

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,最初由IBM于1999年开发,目的是为了监控远程设备的传感器和嵌入式系统之间的通信。它的目标是提供一种简单、高效、可靠的消息传递机制,以满足低…

1.5 计算机网络的性能指标

参考:📕深入浅出计算机网络 目录 速率 带宽 吞吐量 时延 时延带宽积 往返时间 利用率 丢包率 速率 速率是指数据的传送速率(即每秒传送多少个比特),也称为数据率(Data Rate)或比特率&am…