【Android】 IconFont的使用

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.rhkb.cn/news/435153.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Text-to-SQL方法研究

有关Text-to-SQL实现细节,可以查阅我的另一篇文章text-to-sql将自然语言转换为数据库查询语句 1、面临的挑战 自然语言问题往往包含复杂的语言结构,如嵌套语句、倒装句和省略等,很难准确映射到SQL查询上。此外,自然语言本身就存在歧义,一个问题可能有多种解读。消除…

11.C++程序中的常用函数

我们将程序中反复执行的代码封装到一个代码块中,这个代码块就被称为函数,它类似于数学中的函数,在C程序中,有许多由编译器定义好的函数,供大家使用。下面就简单说一下,C中常用的函数。 1.sizeof sizeof函…

spring boot 项目中redis的使用,key=value值 如何用命令行来查询并设置值。

1、有一个老项目,用到了网易云信,然后这里面有一个AppKey,然后调用的时候要在header中加入这些标识,进行与服务器进行交互。 2、开发将其存在了redis中,一开始的时候,我们测试用的老的key,然后提…

ROS学习笔记(二):鱼香ROS — 超便捷的一键安装/配置/换源指令(Ubuntu/ROS/ROS2/IDE等)

文章目录 前言鱼香ROS1 一键安装:快速搭建开发环境2 具体使用2.1 如何开始?2.2 我的常用配置方案2.3 安装示例 3 总结相关链接 前言 关于Ubuntu与ROS的常规安装,可以看这几篇。 SLAM实操入门(一):在已有…

【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(三)

文章目录 一、商品管理1、需求说明2、生成基础代码(1)创建目录菜单(2)配置代码生成信息(3)下载代码并导入项目 3、商品类型改造(1)基础页面 4、商品管理改造(1&#xff0…

【ADC】使用仪表放大器驱动 SAR 型 ADC 时的输入输出范围

概述 本文学习于TI 高精度实验室课程,介绍使用仪表放大器时 SAR ADC 驱动放大器的注意事项。具体包括:介绍如何使用仪表放大器设计数据转换器驱动电路。 仪表放大器(Instrumentation Amplifier,下文简称 INA)可抑制输…

开关电源为什么要进行负载测试,负载测试都包含哪些项目?

开关电源在现代电子设备中占据着重要的地位,其性能的稳定性和可靠性直接影响着电子设备的正常运行。为了确保开关电源的质量,需要对其进行负载测试。负载测试可以模拟实际工作环境中的负载情况,检测开关电源在不同负载条件下的输出特性、稳定…

wireshark使用要点

目录 IP过滤 端口过滤 内容过滤 过滤udp 过滤tcp IP过滤 ip.src XXX.XXX.XXX.XXX 只显示消息源地址为XXX.XXX.XXX.XXX的信息 ip.dst XXX.XXX.XXX.XXX 只显示消息目的地址为XXX.XXX.XXX.XXX的信息 ip.addr XXX.XXX.XXX.XXX显示消息源地址为XXX.XXX.XXX.XXX&#xff0…

Python库matplotlib之四

Python库matplotlib之四 小部件(widget)RadioButtons构造器APIs应用实列 Slider构造器APIs应用实列 小部件(widget) 小部件(widget)可与任何GUI后端一起工作。所有这些小部件都要求预定义一个Axes实例,并将其作为第一个参数传递。 Matplotlib不会试图布局这些小部件…

DTH11温湿度传感器

DHT11 是一款温湿度复合传感器,常用于单片机系统中进行环境温湿度的测量。以下是对 DHT11 温湿度传感器的详细讲解: 一、传感器概述 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感…

【STM32】江科大STM32笔记汇总(已完结)

STM32江科大笔记汇总 STM32学习笔记课程简介(01)STM32简介(02)软件安装(03)新建工程(04)GPIO输出(05)LED闪烁& LED流水灯& 蜂鸣器(06)GPIO输入(07)按键控制LED 光敏传感器控制蜂鸣器(08)OLED调试工具(09)OLED显示屏(10)EXTI外部中断(11)对射式红外传感器计次 旋转编码器…

C++:模拟实现vector

目录 成员变量与迭代器 size capacity empty 迭代器有关函数 实现默认成员函数的前置准备 reserve ​编辑 ​编辑 push_back 构造函数 无参构造 迭代器区间构造 n个val来进行构造 析构函数 拷贝构造函数 赋值重载 增删查改 clear resize pop_back inser…

git add成功后忘记commit的文件丢了?

本文目标:开发人员,在了解git fsck命令用法的条件下,进行git add成功但由于误操作导致丢失的文件找回,达到找回丢失文件的程度。 文章目录 1 痛点2 解决方案3 总结/练习 1 痛点 开发过程中,分支太多(基线分…

通信工程学习:什么是MIMO多输入多输出技术

MIMO:多输入多输出技术 MIMO(Multiple-Input Multiple-Output)多输入多输出技术是一种在无线通信中广泛应用的技术,它通过利用多个天线进行数据传输和接收,可以显著提高无线通信系统的性能和容量。以下是对MIMO技术的详细解释: 一、定义与原理 MIMO技术…

铺铜修改后自动重铺

很多初学者对于敷铜操作感到比较麻烦:为什么每次打过孔,修改走线后都需要手动右击-重新修改敷铜。如何提升layout的效率? 版本:Altium Designer 21.9.2 首先,点击面板右边的小齿轮,进入设置 接下来&#…

【国庆要来了】基于Leaflet的旅游路线WebGIS可视化实践

前言 转眼2024年的国庆节马上就要来临了,估计很多小伙伴都计划好了旅游路线。金秋十月,不管是选择出门去看看风景,还是选择在家里看人。从自己生活惯了的城市去别人生活惯了的城市,去感受城市烟火、去感受人文风景,为2…

SpringBoot整合JPA 基础使用

一、什么是JPA ‌‌1.JPA的定义和基本概念‌‌ ‌JPA(Java Persistence API)‌是Java中用于进行持久化操作的一种规范,它定义了一系列用于操作关系型数据库的API接口。通过这些接口,开发人员可以方便地进行数据库的增删改查等操…

DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL(附源码)

1、项目功能演示 DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL 2、项目功能描述 基于springboot问卷调查管理系统包括以下功能: 1、系统登录、系统注册 2、创建题目、题目信息查看 3、创建问卷、我的问卷信息查看 4、创建活动、我的活动信息…

看Threejs好玩示例,学习创新与技术(ThreePipe)

下面这个示例我觉得特别棒,我会推荐给我们的美工,以后产品的宣传图用它。比如下面这个图,不需要PS,仅需拖拽一个照片进去,它会自动铺到笔记本电脑上。完成后点击截图就可以得到高清图片,不需要摆拍和PS。大…

光伏设计难点在哪儿?如何解决?

一、光伏设计的主要难点 1.技术门槛高 光伏设计领域的一大难题在于技术使用的复杂性。用户往往需要下载并安装特定的软件和控件,这些工具操作复杂,增加了学习成本和使用难度。此外,现有的设计工具并非专为光伏设计而生,组件库不…