当前位置: 首页 > article >正文

【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.kler.cn/news/317435.html

相关文章:

  • 一体化运维监控管理平台的全面监控能力
  • 使用Hutool-poi封装Apache POI进行Excel的上传与下载
  • 单线服务器是什么?单线服务器有什么优点?
  • 掌握 Flutter 中的 `Overlay` 和 `OverlayEntry`:弹窗管理的艺术
  • 如何将Vue项目部署至 nginx
  • 力扣最热一百题——最小覆盖子串
  • 【优选算法之前缀和】No.6--- 经典前缀和算法
  • Unity webgl跨域问题 unity使用nginx设置跨域 ,修改请求头
  • 基于微信小程序的宠物寄养平台的设计与实现+ssm(lw+演示+源码+运行)
  • Adams与Matlab通过FMI联合仿真
  • 我的AI工具箱Tauri版-FunAsr音频转文本
  • git 删除 git push 失败的记录
  • 阿里开源多模态大模型Ovis1.6,重塑出海电商AI格局
  • python自学笔记
  • 价格便宜又好用的云电脑挑选:ToDesk云电脑 vs 青椒云
  • oracle rac多个实例就相当于多个数据库系统程序
  • Python 管理 AWS ElastiCache 告警
  • 前端——盒子模型
  • 巨潮股票爬虫逆向
  • Qt_多元素控件
  • 机器学习(1)——线性回归、线性分类与梯度下降
  • CSS中的多种关系选择器
  • ASP .NET CORE 6 项目实现WebSocket通信实践
  • Linux环境下Redis三主三从集群搭建
  • Python+requests+pytest+allure自动化测试框架
  • 把vue页面中展示的UI和图表导出为pdf或者图片
  • linux/CentOS 开机启动程序
  • Linux-DHCP服务器搭建
  • PHP中error_reporting函数作用
  • Matlab|考虑柔性负荷的综合能源系统低碳经济优化调度