使用字体库和TextView代替ImageView展示图片

Android TextView中显示图片的4种方式 我们知道,TextView控件一般是用来显示文本的,而图片一般是用ImageView控件来显示。那TextView能否显示图片呢?答案是肯定的!下面列出常见的4种方式。 阅读详情
新来的同事介绍了一项之前没用过的技术,使用字体库和TextView代替ImageView展示图片,虽然在项目中尝试了一段时间后我又给去掉了,但是觉得这个技术还是不错的。现在记录一下最最基本的用法,如果想在项目中使用,建议先看下亓斌这篇博客。
一般情况下我们展示图片在xml布局中都是用ImageView设置src来展示,比如:
<ImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@mipmap/share" />

<ImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@mipmap/back" />
效果图:

这里写图片描述

现在我们使用TextView实现这种功能(非设置background):
  • 下载字体库:先把使用的图标加入到购物车,然后选择下载代码:
    这里写图片描述

    • 解压之后可以看到如下文件,我们只要iconfont.woff文件和demo_unicode就好了:
      这里写图片描述

    • 然后新建一个存放字体库的文件夹assert,把字体库文件放入里面:

这里写图片描述

  • 打开demo_unicode文件,根据图表和编码对应关系,把编码写入text内容里面即可:
    这里写图片描述
  • 现在来看布局文件,通过textColor和textSize改变颜色和大小,注意text后面跟的内容,不要缺少东西了,否则展示不出来图片:
  <TextView
        android:textColor="#ff00ff"
        android:id="@+id/tv_share"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="&#xe624;"
        android:textSize="34sp" />

    <TextView
        android:textColor="#ff0000"
        android:id="@+id/tv_back"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="&#xe625;"
        android:textSize="48sp" />
  • 你以为这样就可以了?那你就错了,还不能少了如下的代码:

    TextView tv_share=(TextView) findViewById(R.id.tv_share);
    TextView tv_back=(TextView) findViewById(R.id.tv_back);
    
    tv_share.setTypeface(Typeface.createFromAsset(getAssets(),"iconfont.woff"));
    tv_back.setTypeface(Typeface.createFromAsset(getAssets(),"iconfont.woff"));

– 看效果:
这里写图片描述

Android 12 系统横屏时,开机动画有两秒显示不全 平板系统默认横屏时,开机会旋转90度,显示的分辨率WxH,会变成HxW.但又会很快被SurfaceFlinger的SurfaceFlinger::processDisplayChanged 娇正。所以为了保险,可以在开机动画没结束之前,禁止旋转事件。在Android 12 产品定制化开发中,由于系统默认方向为竖屏,平板电脑要横屏显示。系统在开机时,有时因为旋转,会出现动画只显示一部分。 阅读详情

相关推荐

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系

a_zxswer的博客 1695

Android textview设置ttf字体库本地库和网络库使用的两种方式

Android网络字体库使用

weixin_43117800的博客 1529

别再死记硬背了!用Wireshark抓包实战,5分钟搞懂GRE、L2TP、IPsec的区别

本文通过Wireshark抓包实战,详细解析GRE、L2TP和IPsec三大隧道协议的核心差异与应用场景。从报文结构到配置示例,帮助网络工程师快速掌握这些协议的本质,提升VPN部署与故障排查能力。特别适合准备HCIP认证的工程师深化理解。

weixin_30352645的博客 439

安卓基本控件(TextView、ImageView)以及布局(线性布局、相对布局)的介绍

安卓基本控件(TextView、ImageView)以及布局(线性布局、相对布局)的介绍 UI ​ 进行软件开发,我们经常会接触到UI,那UI是什么捏?UI全称为User Interface,即用户界面,简单的说,就是手机上可以看到的可以操作的界面。 ​ 在软件开发过程中,界面设计和功能开发同样重要,是Android 应用中直接影响用户体验最关键的部分。界面美观的应用程序不仅可以大大增加用户粘性,还能吸引更多的新用户。而Android给我们提供了大量的UI开发工具,只要合理使用它们,就可以编写出各种各样的好

weixin_51906150的博客 4200

IST——In-System-Test

安全性是自动驾驶平台的关键特性之一,而这些架构中使用的半导体芯片必须保证ISO 26262标准所要求的功能安全方面。为了监控由于现场缺陷导致的故障,在启动和/或关闭期间会自动运行系统内结构测试。当系统内测试(IST,In-System-Test)架构检测到任何永久性缺陷时,驾驶平台会做出响应,以实现系统的故障安全状态。汽车IC采用高质量测试方法进行筛选,以实现接近零的DPPM(每百万缺陷部件)。即使在这样的高测试标准下,由于环境或操作条件的影响,在系统现场运行过程中仍可能出现可靠性缺陷。

weixin_50518899的博客 3208

华大HC32F460从零到200MHz:手把手教你配置时钟系统(附避坑指南)

本文详细解析了华大HC32F460 MCU的时钟系统配置,从启动过程、时钟树分析到实战配置200MHz系统时钟。文章手把手指导开发者如何正确配置外部晶振、MPLL锁相环及总线分频,并提供了硬件检查、代码解读及常见问题排查的避坑指南,帮助用户从零构建稳定可靠的高性能时钟环境。

net55的博客 297

TextView ImageView组件

这一次介绍两个简单的组件的应用:TextView,ImageView。希望对大家能有所帮助~

ZL_1205的博客 713

利用autojs制作抢购支付宝消费劵的手机脚本

前期准备工作 1.打开支付宝,点击中间的抢消费券的广告 2.点击左上角,将抢购页面添加到首页 3.查看支付宝首页是否出现消费劵 . autojs代码 "auto"; functiontaskstart(){ sleep(1000); launchApp('支付宝'); toast("正在打开支付宝应用"); sleep(1000); varxf=textContains("消费").findOne().bounds(); ...

洛阳泰山的博客 1万+

Android 基础组件TextView、ImageView、ScrollView等使用及属性说明

基础组件用户布局 View属性 1.background 背景色 2.padding 内间距 3.gravity 对齐方式 4.id 找到组件的一个唯一标记 5.visibility 可见的 6.tag 找到组件的一个唯一标记 7.enable 设置是否可用,如果它的值为:&amp;quot;true&amp;quot;怎可用,若

吕氏春秋i 1012

LangGraph-StateGraph 和 Graph API 源码分析

摘要: StateGraph是LangGraph的核心API,用于构建有状态工作流图。本文分析了其实现原理,包括: 核心类关系:StateGraph(构建器)和CompiledStateGraph(继承自Pregel的可执行图) 关键流程:状态模式到通道的映射、节点到PregelNode的转换 实现特点: 支持TypedDict和Pydantic两种状态模式 自动选择通道类型(LastValue或BinaryOperatorAggregate) 通过映射函数处理节点输入输出 边实现基于通道写入机制 编译过程

838

想在 Visual Studio Code 里进行 ABAP 开发,需要安装的扩展列表

安装完毕后,我们可以将 SAP 系统配置为 Visual Studio Code 连接的远程文件系统。为了连接到 SAP 系统,需要启用 ABAP 开发工具 (ADT) ICF 节点,这与 SAP Hana Studio 等工具使用的服务相同。打开 SAP GUI 并连接到目标系统,运行事务 SICF,然后激活 ADT_SRV 服务,如下所示。这启用了允许代码编辑器和 IDE 连接到 SAP 系统的服务。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3125

TextView和EditText、ImageView的基本属性

TextView(显示文本的控件): android:layout_width 控件宽度 android:layout_heigh 控件高度 android:id 控件id android:text 控件显示文字 android:textSize 文字大小 ...

qq_41829332的博客 890

第069篇:浸入边界法进阶

浸入边界法(Immersed Boundary Method, IBM)是处理流固耦合问题的强大数值方法。本文深入介绍直接力法、反馈力法、Ghost Cell方法和多域IBM等高级技术。通过Python实现完整的IBM求解器,展示处理移动边界、弹性边界和多体相互作用的方法。浸入边界法,直接力法,反馈力法,Ghost Cell,流固耦合,移动边界,弹性边界Navier-Stokes方程添加体积力项:∂u∂t+(u⋅∇)u=−1ρ∇p+ν∇2u+f\frac{\partial \mathbf{u}}{\part

2401_87715305的博客 413

FontAwesome-用TextView显示图片

在Android项目开发中,图片可谓是必不可少的一部分,这时我们可能会去看许多图片的适配方案,例如,根据不同分辨率来提供多套图什么的…这篇文章并不是去介绍如何去做图片的适配,而是介绍一个略屌的字体库,利用该字体库,我们可以用TextView的形式去显示图片,而且我们还可以用android:textSize随意改变图片的大小! 听起来是不是有点小激动了,不要着急,因为它只是一个字体库,所以使用起来非

Loader's Blog 6406

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Android 图标自适应:用 TextView 来显示图片 & 生成自己的字体库

Android 图标自适应:用 TextView 来显示图片 & 生成自己的字体库 今天我们来介绍一种用TextView代替并显示图片,以达到App优化及图标自适应的效果。当然,我们先来看一下效果: 这些真的只是TextView文本 如果你看到上面这张图片,第一反映你可能认为都是用ImageView去显示的,那你就错了,这些全都是用TextView实现的(当然更不可能是给 TextView

OCNYang 1489

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

App优化攻略-用TextView显示图片

在Android项目开发中,图片可谓是必不可少的一部分,这时我们可能会去看许多图片的适配方案,例如,根据不同分辨率来提供多套图什么的… 这篇文章并不是去介绍如何去做图片的适配,而是介绍一个略屌的字体库,利用该字体库,我们可以用TextView的形式去显示图片,而且我们还可以用android:textSize随意改变图片的大小!  听起来是不是有点小激动了,不要着急,因为它只是一个字

u012620150的专栏 341

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

icon字体库

1. 推荐一些自己的使用经验 2.对于字体库的大小的忧虑 3.对于如何设置字体的建议以及忧虑 那么本文主要围绕以上3个问题来解答了~~ 1如何方便的使用    对于使用,最主要就是找到一些靠谱的素材站点了 http://www

文韬武略的专栏 1150

Android 如何应用ttf图标字体库

转载请注明出处:http://blog.youkuaiyun.com/yyh352091626/article/details/53113677 作为一个Android开发者,自己想做一个app练手,有个比较头疼的问题就是没有UI图标资源~~ 其实很容易搞定的,下面就来聊聊如何在Android中应用图标字体库,找图标不再纠结! ...

闫瑞锋的博客 389

用文字替换小图标(TextView替换ImageView)

原理很简单,就是利用了字体文件: Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont/iconfont.ttf"); TextView textview = (TextView)findViewById(R.id.like); textview.setTypeface(iconfont); textvie

gundumw100的专栏 340

Icon Font在Android中的使用

一、需求在布局的过程中,有可能涉及到某个TextView前面需要加一个Icon,即”图标+文字”的形式,解决的方式有很多(以左侧加图标为例): “android:drawableLeft”属性 设置该属性值可以很简便的在TextView文本内容左侧添加任意的图片进行显示。优点就是方便快捷;缺点是图片不会随着TextView的文字大小改变,图片多大,就显示多大,所以需要UI设计师同事(不能叫美工哦!

Linzerocandy的博客 973

Hoppscotch 本地部署实战:一条命令跑起来的开源 API 调试平台

Hoppscotch 是一套开源的 API 调试与测试工具,定位就是 Postman、Insomnia 的免费替代品:REST、GraphQL、WebSocket、MQTT 请求全都能发,还自带 CLI 和多端形态。这篇指南不绕弯子,先把"从零到看到界面"的路径讲清楚,再补齐桌面版、生产构建和常见报错的处理办法。 [![Hoppscotch API 调试主界面](https://raw.gitc

gitblog_07179的博客 477

6类报错逐一摁死:OpenCode终端AI助手排障全路径

OpenCode是一款跑在终端里的开源AI编程助手,任选模型即可直接在命令行写代码。本文覆盖装不上、连不上模型、键位失灵、日志难查等6类高频报错,每步都给你可直接复制的排查命令。 [![OpenCode终端AI助手终端界面与模型选择主图](https://raw.gitcode.com/GitHub_Trending/openc/opencode/raw/733562e92a96255fb123

gitblog_00494的博客 725

Android使用Tesseract-ocr进行文字识别

前言Tessseract是一款由HP实验室开发由 Google 维护的开源 OCR(Optical Character Recognition , 光学字符识别)引擎。能够支持中文十分难...

Vaccae的博客 5560

Android demo 项目-汇总-201611-01期

github上收集的一些android特效,动画,工具等demo,供开发者参考。。。

积了晓的博客 538

Android将TextView中的文字替换为一个小图片的方法

先看一下效果  SpannableString  直接上代码: ImageSpan imageSpan = new ImageSpan(this,R.drawable.cardpay_icon); spanStr = new SpannableString("图这是一个有图片\n的Textview"); spanStr.setSpan(imageSpan, 0, 1,Span

u010296471的博客 2985

TextView 显示图像+文字的方法

TextView 通常的用法只是进行文字的显示,人日

cxcbupt 3098
上一篇: Retrofit+RxJava上传图片
下一篇: Android使用RecyclerView实现时间轴,物流进度展示
一棵大白杨
博客等级 码龄10年 17粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值