【Android 技术难点突破】要想实现图文混排时,你会怎么做?来来来,看Colin怎么做

第一届“龙信杯”电子数据取证竞赛Writeup 阅读详情

为什么要研究图文混排呢?因为在新一期的需求中,有这样一个需求:希望在产品大标题后面追加“钻级标识”,并且在“游学产品”的大标题后面追加“金牌银牌登记标识”。具体效果可以看下面的截图。

  

如图,要实现这样的效果,你第一反应是采取什么样的方案呢?

我这边脑海里首先想到的就是自定义View了,想到要把TextView和ImageView杂糅到一起,我这就很恼火。

1.

在经过仔细研究后,我想到了用iconfont来实现。

只要把“钻级标识”追加到文本后面,并给“钻级标识”设置成黄色,大小设置小一些就行了。具体实现如下所示。

 

SpannableString spannableString = new SpannableString(titleAndMore); spannableString = new SpannableString(titleAndMore);
//设置颜色 
spannableString.setSpan(new ForegroundColorSpan(context.getResources().getColor(R.color.cttour_blue_independent_travel_yellow)), titleAndMore.indexOf(" ") + 1, titleAndMore.indexOf(" ") + diamonds.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置大小 
spannableString.setSpan(new AbsoluteSizeSpan(CommonUtil.sp2px(context, 12f)), titleAndMore.indexOf(" ") + 1, titleAndMore.indexOf(" ") + diamonds.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                    bigTitle.setText(spannableString);

 

当然,这里还需要给textView设置iconfont字体。

 

2.

至于要把图片添加到文字后面该怎么实现呢?这里不能把图片转为iconfont,因为图片里有渐变效果,iconfont没法实现。这里,我想到了用富文本来实现。富文本是什么呢?它其实就是一种能展示图片和各种文字效果的一段文本,比普通的文本表现性更强,故称作富文本。

 

SpannableString spannableString = new SpannableString(titleAndMore); spannableString = new SpannableString(titleAndMore);
//设置图片
Drawable drawable = context.getResources().getDrawable(R.drawable.cttour_detail_golden);
//设置图片大小
drawable.setBounds(0, 0, CommonUtil.dp2px(context, 14), CommonUtil.dp2px(context, 18));
ImageSpan image = new ImageSpan(drawable, DynamicDrawableSpan.ALIGN_BOTTOM);
//将字符串中某一段字符串替换为图片
spannableString.setSpan(image, titleAndMore.indexOf("☆金☆"), titleAndMore.indexOf("☆金☆") + 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
bigTitle.setText(spannableString);


3.

 

SpannableString到底是什么?它为什么能实现让TextView这么多样化?下面我们来看下它的源码,及实现原理。

近期较忙,未完待续。。

 

 

 

 

 

深度学习(五)迁移学习(实战:新数据预测+vgg16和聚类预测) 6、成功引入PCA数据降维技术,剔除了数据中的噪音信息、降低了模型复杂度、减少了模型训练时间,并最终提高了模型表现;gen=datagen.flow_from_directory(path,target_size=(224,224),batch_size=2,save_to_dir=dst_path,save_prefix='gen',save_format='jpg') # 生成图片大小224*224,bs产生多少组图像,存储路径和前缀。1、通过使用新数据,实现了模型的2次训练,达到了较好的预测效果; 阅读详情

相关推荐

Ollama模型路径迁移实战:Windows/Mac/Linux三平台保姆级教程(附常见问题排查)

本文提供了一份详细的Ollama模型路径迁移教程,涵盖Windows、macOS和Linux三大平台。通过设置OLLAMA_MODELS环境变量或创建符号链接,指导用户将模型从默认路径安全迁移至新位置,以释放系统盘空间或提升性能。教程包含迁移前的准备、分平台步骤、迁移后的验证以及常见问题排查,确保迁移过程平滑可靠。

js777的博客 1184

iconfont的图文混排

最近在使用iconfont排版,但是发现完全没法混到textarea中。 希望借助 contentEditable解决这个问题 转载于:https://www.cnblogs.com/TLightSky/p/4962642.html

weixin_34403693的博客 121

Arduino Uno 实验15——MQ-135 气体传感器模块

MQ-135 气体传感器模块简介(空气质量检测 有害气体检测)   MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。MQ135气体传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害气体的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。   主要用途:家庭和环境的有害气体检测装置   主要芯片:LM393、MQ-135气体传感器 不同气体的型号选择

weixin_42645653的博客 2万+

Android 图文混排方式分享

Android实现在一段文字中插入提示性或展示性图片

ningmengjiang3的博客 1920

MDK开发篇:基于立创逻辑派FPGA-G1与Cortex-M1软核的按键控制LED实战

本文详细介绍了基于立创逻辑派FPGA-G1开发板与高云Cortex-M1软核的完整开发流程。通过Gowin云源软件配置软核系统与GPIO外设,并在Keil MDK环境中编写按键控制LED的C程序,最终实现程序固化与上电自启动。教程涵盖硬件配置、软件开发、在线调试与固化部署全步骤,帮助STM32开发者快速上手FPGA软核开发。

weixin_42103128的博客 148

人形机器人专题:人形机器人关节,从Optimus选型看关节的发展

今天分享的是深度研究报告:《(报告出品方:中泰页。

GPT20236688的博客 3226

安卓如何实现图文混排

安卓如何实现图文混排一、安卓实现图文混排的几种方式1. EditText with Spannable2. RecyclerView3. WebViewF. 最终方案二、图片保存的几种方案1. 保留在原来位置2. 复制到应用的文件夹3. 复制到笔记的文件夹F. 最终方案三、数据结构设计1. 管理图片资源1. ImageEntry2. ImageTable2. 笔记中插入图片1. PictureEn...

济沧海 x 远沧溟 1976

Unity游戏开发客户端面经——网络(初级)

Unity游戏开发客户端面经 之 网络 篇

Sea3752的博客 1万+

Android 实现图文混排

主要是实现图片和文字混合排列,左边的图片是一个标志,类似商品条目

ysh_123 1345

YOLO11涨点优化:小目标检测 | 多头检测器提升小目标检测精度

引入多头检测器助力YOLO11,添加一个微小物体的检测头暴力提升小目标检测性能

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4742

5.7 BGP属-ORIGIN

注意:当去往同一个目的地存在多条不同Origin属性的路由时,在其他条件都相同的情况下,BGP将按如Origin的下顺序优选路由:IGP > EGP > Incomplete。通过以上输出可以看到路由表选择了R3发过来的路由,因为R1的路由的起源为?通过以上输出我们可以看到针对于1.1.1.1这条路由有两条,从R1和R3传过来的起源都属于IGP。(4)把从R1传过来的路由的起源改为incomplete。通过以上输出可以看到,从R1传过来的路由是最优的。(2)在R2上查看1.1.1.1的路由详细信息。

lwljh134的博客 308

setspan字体加粗_Android 图文混排富文本编辑器实现详解

原标题:Android 图文混排富文本编辑器实现详解本文作者作者:ljzdyh链接:https://blog.youkuaiyun.com/ljzdyh/article/details/82497625本文由作者授权发布。1概述需求:android 实现富文本编辑器,并且实现html解析和生成。功能点:字体加粗,斜体,下划线,删除线字体设置大小 默认大(18px),中(16px),小(14px)字体设置颜色换...

weixin_35924166的博客 2477

Windows10下安装VMware16虚拟机

由于本人系统为Windows 10 家庭中文版,无法安装Linux子系统WSL,虽然网上也有强制安装的方法,但为保险起见,还是把之前的VMware虚拟机重新进行安装,并浅浅记录一下安装过程。

沉香best的博客 863

android 图文混排的几种方式(想法)

1.   只用一个TextView来实现:在获取到数据时需要对数据进行分析,分析出文本里的图片元素,然后根据图片元素的大小动态决定图片TextView每一行的字符数和行高(主要是在OnDraw里来实现,行高其实可以是固定的),然后根据行高和行数来得到图片显示区域的高度(因为我们需要对图片进行垂直方向上的居中)。然后用 (行高*行数 - 1个行间距 - 图片高度 )/2可以得到图片显示的Y方向上的坐

u012264122的专栏 2312

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android图文混排实现方式详解

在使用TextView的时候,我们经常需要在TextView中进行图文混排,比如在QQ中聊天的消息中的表情,底部tab图标等。 一、场景 二、实现方式 Android官方对TextView的图文混排提供了支持,我们可以从以下三种方式实现TextView的图文混排: 1.在TextView中使用Compound Drawable属性;2.在TextView中使用Spannable多样式显示;3...

weixin_33806300的博客 814

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HTML实现图文混排效果

图片属性: hspace 和 vspace 属性可以设置图像周围的空间。 1)hspace 属性可设置或者返回图片的 hspace 属性值。 hspace 属性指定图像的左边缘和右边缘的空白(设置图片与文本左右的距离) 2)vspace 属性规定图像顶部和底部的空白。 注:HTML5 不支持vspace 属性。请使用 CSS 代替。在 HTML 4.01 中的 vspace...

做一个有趣的妞儿 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

50行代码实现图文混排

开头 本文是介绍的是iOS 7之后的API来实现图文混排,主要是帮助大家了解使用这种方式来实现图文混排的原理。 现在即时通讯和朋友圈这两块功能基本上属于app的标配功能了吧。图文混排在这两块中使用最为常见,我已经做好了demo:图文混排demo。 文中会讲述几点小技巧:图文混排、动态计算文字长度、图片拉伸方法。 以前的做法 在以前做图文混排的时候,经常使用OHA...

weixin_30631587的博客 498

Android开发难点

要说Android开发难点,Android程序员都会有一肚子的话要说,咱们一个一个说,由低到高。     技术层面:      1 代码。这个看个人了,代码的好坏决定着未来。        2适配。代码写好了,能够跑了,但是却发现长期以来被痛骂的适配问题,各种机型,国内的水真深,要适应不同厂商真难。后来突然想为什么android适配不能像前端一样,许多前端都不知道什么叫适配,百分比适配。后来

Blank的程序员之路 5768

android开发笔记(1-5)(易错点以及技术难点攻克)

1.scrollview中嵌套有listview或者gridview,从其他页面返回到这个页面,焦点总是跑到listview或者gridview上 解决办法:重写scrollview的下边方法 @Override protected int computeScrollDeltaToGetChildRectOnScreen(Rect rect) { return 0; } 2.

crazymaple213的专栏 1373

实现页面的图文混排布局(Web作业)

介绍 实现如下图的HTML+CSS的静态网页 给了一个JS的设计稿,可以查看各个元素的间距、颜色、样式代码等 仿写一个静态的网页 静态代码效果 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />

qq_44723773的博客 7434

Android 纯原生 图文混排 心得

好久没有上号   今天写一下  纯原生图文混排心得     最近的项目里需要展示图文混排的格式,因为一些特殊原因需要纯原生操作。众所周知,图文混排我们可以使用Html.fromHtml(source, imageGetter, tagHandler)通过自定义imageGetter来异步加载图片 最终展示在TextView上,最后完成图文混排。但是这样做的话对于图片段落之间的距离相对来说不好把控展...

郭文亮的博客 9767

Android开发常见的八大难题

说八大难题有些牵强, 而且这八个问题也不是孤立的, 而是互相影响互相联系的, 但从程序员开发的角度, 以下的这八个问题至少会有一个你会承认, 啊, 这个问题曾令我捉急, 头痛. 本文没有给出任何解决办法, 尽管有些有最佳实践, 有些目前没有特别好的对策. 耗电. 流畅. 网络. 内存. 大小. 安全. 生存. 兼容.

johnLee的专栏 8015

【Android 手势冲突】Colin带你彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏(附demo哦)

在新一期的需求中,产品要求我们做出和美团某个页面类似的功能,即一个页面包含在scrollView中,上面一个部分放置一些常用的广告banner、宫格tab等,下面放置一个RecyclerView用于展示具体的产品列表。 要想实现上述功能,不可避免地要用到ScrollView嵌套RecyclerView。为什么要用RecyclerView?因为下面的产品列表项非常多,有60条,如果一次性加...

你关注了我,是个概率极低的事件...... 2万+

【Android 多模块构建】如何启动另外一个module中的Activity

一、多模块构建 比如下图是我们现在工程的结构   project ├─── setting.gradle ├─── build.gradle ├─── app │ └─── build.gradle └─── testlibrary └─── build.gradle 要想进行多模块构建,必须要告诉gradle项...

你关注了我,是个概率极低的事件...... 1万+

【Android 热修复与插件化 一】带你入门Android插件化(附demo)

一. 背景 Android插件化作为每个合格的Android程序员都必须会的技术,被各大厂广泛使用。随着各大厂对移动互联网的垄断,我们渐渐发现app集成的功能越来越多。比如如下几个app(携程、淘宝、支付宝): 可以看到每一个app都被集成了无数的功能入口,就拿淘宝来说,“天猫”、“外卖”、“飞猪”、“拍卖”,这任何一个入口都其实是一个app,只不过被集成到“淘宝”这个入口里了。如果没...

你关注了我,是个概率极低的事件...... 1万+

【Android 技术难点攻克】RecyclerView实现悬停导航栏

介绍 在上一篇文章《彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏》中,我讲述了如何解决ScrollView与RecyclerView的滑动冲突问题。时隔几个月,我对这样的程序结构有很多的反思。当初这样嵌套,其实最主要是为了实现悬停。那么悬停的最好的实现方式就是这样去解决滑动冲突吗? 答案或许是否。当然,几个月前,我设计出Scr...

你关注了我,是个概率极低的事件...... 6931
上一篇: 【Android 技术难点攻克】RecyclerView实现悬停导航栏
下一篇: 【Android 前沿技术】用MediaPlayer+TextureView封装好的视频播放器,可直接使用(附demo)
Colin_Mindset
博客等级 码龄12年 159粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值