【Android】工厂测试中 局部 字体显示重叠 问题分析与解决(Android14)

继上一篇【Android】工厂模式中 字体大小/显示重叠/显示不完整 相关 问题分析与解决
的分析与解决,可以实现调整所有字符整体的宽高

但在局部,如果只希望修改局部的某一行字符的样式,且这一行字符没有直接的资源布局控制文件,而是直接从系统中获取属性后,
直接输出显示,如何修改这一行的字符样式 又不希望影响到其他地方的显示呢?

目前有一个思路:在输出这一行字符之前,也输出打印一行空格行,期望使这一行字符与上一行单独隔开一行
期望使用空格行来拉开距离,避免这局部的一行字符 与 上面的文字 有重叠。
这个思路很简单,但是还不知道效果如何,直接看代码

1:观察现象 定位代码

首先问题是:工程测试 中的 版本信息 界面中 出现 (版本信息标题这一行,与 BB Chip信息这一行 重叠显示)
如图:在这里插入图片描述
根据字符串搜索定位,“BB Chip”字符串在\vendor\mediatek\proprietary\factory\模块下的\src\util\version.cpp源码中出现。
观察代码:
其中有

 print_verinfo(info, len,  "BB Chip     ", val);

调用了print_verinfo()函数来输出BB Chip 的信息行
print_verinfo()函数内有如下语句来打印输出
_len += sprintf(info + _len, “%s”, tag);
_len += sprintf(info + _len, ": ");
_len += sprintf(info + _len, “%s”, buf);
_len += sprintf(info + _len, “\n”);
其中tag标签即是“BB Chip ”

2:解决思路 修改代码

确定该路径代码是否有参与编译:直接添加报错(出现报错)
尝试修改已有代码,例如将 _len += sprintf(info + _len, ": ");改成 _len += sprintf(info + _len, ":qiqy: "); (编译后效果显示成功被修改)
然后直接增加代码:
直接在print_verinfo函数中打印BB Chip信息这一行之前添加换行,由于该函数打印多行 不同的版本信息,为了防止每行信息都多了换行,
所以再添加一个判断条件:

 	print_verinfo(...{ 		
		...
 	    if(tag == "BB Chip     "){
 	    	        _len += sprintf(info+_len,"\n    ");
 	   	}
      	    _len += sprintf(info + _len, "%s", tag);
      	... 	
      }

3:结果与总结

显示效果:(但是不小心在换行符之后 多添加了几个空格 导致没对齐,删除多余空格即可,目前添加换行后显示已经没有重叠现象)
在这里插入图片描述
Tips:

  • 这类布局类问题,我目前会花费较多的时间用于(定位模块与关键代码)或是由于不细心所导致的多出的编译时间
  • 排查了两点:所处项目是Android(12+14)这类源码,该version.cpp代码在12和14下分别有一个,要排查一下具体是哪个代码文件生效。以及在代码文件内,打印的语句有多个相似或重复的要排查一下。。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用蜂鸟地图完成楼层自定义、房间着色、热力图、添加图片覆盖物、添加dom覆盖物、定位到固定区域的中心点

项目里有用到蜂鸟地图的地方,虽然有跟她们对接,但看他们文档也挺费劲的,要自己慢慢研究好久,有些实在研究不出来让他们帮忙看代码发现一些问题,所以把我发现的需要注意的一些点发上来,希望可以帮助到部分有…

力扣Lc17--- 345.反转字符串中的元音字母(java版)-2024年3月18日

1.题目 2.知识点 注1: indexOf() 是 Java 中 String 类的方法之一,它用于查找指定字符或字符串在字符串中第一次出现的位置。如果找到了该字符或字符串,则返回它在字符串中的索引位置(从0开始),如果没有找…

读《Cheating Depth: Enhancing 3D Surface Anomaly Detection via Depth Simulation》

WCAV2024 摘要&引言 RGB骨干:某些表面异常仅在RGB中实际上仍然是看不见的,因此需要合并三维信息(确实重点在于“合并”,单纯看例子里的深度图片也看不出来异常在哪里,但是和rgb overlay之后就明显一些了&#xf…

2024年pmp的考试时间是什么时候?

2024年 PMP 考试时间已经定了 ,分别是 3 月、6月、8月、11月 ,4月就准备报6月的考试了,有想法的别错过啦~ 一、报考条件 报考条件其实挺简单的,最核心的条件还是满足以下 2 个:1、本科毕业需要满 3 年时间&#xff0c…

网络编程--高并发服务器

这里写目录标题 引入场景 多进程并发服务器二级目录二级目录二级目录 多线程并发服务器二级目录二级目录二级目录 多路IO转接服务器设计思路对比引入 select函数简介参数介绍第一个参数第234参数返回值对于第234参数的应用对于最后一个参数总结 附加操作(附加四个函…

项目试运行报告-word

一、试运行目的 软件项目试运行的主要目的是在实际应用环境中对软件系统进行全面检验,确保其满足设计要求和用户需求,同时发现和解决潜在的问题,为正式投入使用做好准备。通过试运行,我们可以: 验证软件系统的稳定性…

国创证券|资源再生概念持续活跃,超越科技两连板,大地海洋等走高

资源再生概念15日盘中再度走强,截至发稿,超越科技涨停斩获两连板,深水海纳涨超14%,大地海洋涨超12%,华新环保涨近9%,天奇股份、格林美、怡球资源等涨超5%。 消息面上,3月13日,国务院…

全新2024快递平台系统 独立版快递信息查询小程序源码 cps推广营销流量主+前端 同城快递平台

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 快递代发快递代寄寄件小程序可以对接易达云洋一级总代 快递小程序,接入云洋/易达物流接口,支持选择快递公司,三通一达,极兔&#xff0c…

Python the code is unreachable

Python the code is unreachable 正文 正文 相信有不少小伙伴在使用 Python 的时候有时候会遇到 the code is unreachable 这样的 warning 提示。这种提示表示在我们当前书写的代码种有一部分代码被屏蔽了。可能会存在潜在的 bug,需要我们注意,那么什么…

Three 光源 (总结四)

萤火虫飞舞 import * as THREE from three import { OrbitControls } from ../../js/jsm/controls/OrbitControls.js; // 引入相机控件let scene, camera, renderer, controls, flyBall, ball function init() {scene new THREE.Scene()camera new THREE.PerspectiveCamera(7…

幸福金龄会第二届《锦绣中华》中老年文旅文化艺术节圆满落幕

广东,这片承载着深厚文化底蕴的土地,再次见证了中老年文化艺术的璀璨盛放。近日,由幸福金龄会主办、广之旅协办的第二届《锦绣中华》中老年文旅文化艺术节在广东隆重举行。活动汇聚了广东各支文艺团队,他们用最真挚的表演&#xf…

讲述微信小程序 通信模型

之前的文章 讲述微信小程序宿主环境 我们讲到了 手机微信 为小程序 提供了多方面支持 包括 1 通讯模型 2 运行机制 3 组件 4 API 今天 我们就来说 通讯模型 小程序中的 通信主题 是 渲染层 和 逻辑层 首先 渲染层中 包含的是 wxml 页面模板 和 wxss样式 逻辑层 里面则都是js的…

如何从视频中提取gif?仅需三步在线制作

视频提取GIF是一种常见的图像处理技术,它可以将视频中的某一段或某一帧提取出来,并保存为GIF格式的动图。这种技术在互联网上广泛应用,成为了分享精彩瞬间和制作有趣动画的有力工具。想要从视频中截取动图,使用视频转gif工具&…

超越标签的探索:K-means与DBSCAN在数据分析中的新视角

最近在苦恼为我的数据决定分组问题,在查找资料时,恰好看到机器学习中的无监督学习的聚类分析,正好适用于我的问题,但是我之前学机器学习时。正好没有学习无监督部分,因为我认为绝大多数问题都是有标签的监督学习&#…

IPSEC VPN-详解原理

目录 IPSEC提供的安全服务 IPSEC协议簇 ​编辑 安全协议 1.传输模式 2. 隧道模式 AH ---鉴别头协议 AH提供的安全服务: AH头部 AH的保护范围 1.传输模式 2.隧道模式 ​编辑 ESP ---封装安全载荷协议 ESP提供的安全服务: ESP的头部 ESP的保护范围 1.传输…

进程的概念 | PCB | Linux下的task_struct | 父子进程和子进程

在讲进程之前首先就是需要去回顾一下我们之前学的操作系统是干嘛的,首先操作系统是一个软件,它是对上提供一个良好高效,稳定的环境的,这是相对于用户来说的,对下是为了进行更好的软硬件管理的,所以操作系统…

es文档操作命令

文档操作 documents 创建数据(put) 向 user 索引下创建3条数据 PUT /user/_doc/1 {"name":"zhangsan","age":18,"sex":"男","info":"一顿操作猛如虎,一看工资2500"…

关于卷积神经网络特征可视化

卷积神经网络CNN,一个大号/深层的,现代的,黑箱的,信号/图像处理器。 简单讲解如何将图像输入到卷积神经网络CNN并显示网络不同层的激活图,并通过将激活图与原始图像进行比较以探索网络学习哪些特征 本例来源于Mathwo…

IP代理技术革新:探索数据采集的新路径

引言: 随着全球化进程不断加深,网络数据采集在企业决策和市场分析中扮演着愈发重要的角色。然而,地域限制和IP封锁等问题常常给数据采集工作带来了巨大挑战。亿牛云代理服务凭借其强大的网络覆盖和真实住宅IP资源,成为解决这些问…

大A为何频繁跳水,Python量化1200W条交易数据给你答案!| 邢不行

这是邢不行第 110 期量化小讲堂的分享 作者 | 邢不行、密斯锌硒 常看我文章的读者应该能发现,我介绍过的量化策略大多都会在开盘时买入。 比如小市值策略和散户反着买策略: 小市值策略文章 散户反着买策略 它们都会在每个周期的第一个交易日开盘去…