热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

#TextView显示多行html并且对齐

先来看问题:如下图,是用拼接html的方式用一个textView显示,新需求是让他们每列对齐原始界面这个是这样实现的holder.tvItemTrainPriceList.setT

先来看问题:如下图,是用拼接html 的方式用一个textView 显示,新需求是让他们每列对齐

原始界面

这个是这样实现的 holder.tvItemTrainPriceList.setText(Html.fromHtml(builder.toString()));

修改后页面

1. 第一个解决方案-修改标签样式-table

'100%' height='100%' >"left" />"left" />"left" />
'#A7A7A7'>无座 '#A7A7A7' style='width:200px;display:inline-block;'>¥364.5 '#A7A7A7'>(无票)
'#A7A7A7'>一等座 '#A7A7A7' style='width:200px;display:inline-block;'>¥19400.0 '#A7A7A7'>(无票)
'#A7A7A7'>二等座 '#A7A7A7' style='width:200px;display:inline-block;'>¥119.5 '#A7A7A7'>(余100张)

无座 ¥364.5 (无票)
一等座 ¥19400.0 (无票)
二等座 ¥119.5 (余100张)

怎奈何Android TextView 不支持 Table 标签

尝试自定义解析器也失败了

2. 第二个解决方案-用webview

1.准备用webview.loadData(tmp,"text/html","utf-8"); 结果出现中文乱码,

2.用这个解决webview.loadData(tmp, "text/html; charset=UTF-8", null);

3.结果出现字体大小问题,和webview 的父布局属性: warp_content 冲突,以及无法自动撑开布局等问题,只能弃用

3. 第三个解决方案-换成gridView

1.准备在adapter 里面嵌套gridView 想想太蛋疼,直接放弃

4. 第四个解决方案-添加空格

1.峰回路转,第四个方案终于完美实现一开始不管怎么调整都对齐不了,经过多次尝试发现 Android中空格字符有这么几种:

  == 普通的英文半角空格

  ==   ==   == no-break space (普通的英文半角空格但不换行)

  == 中文全角空格 (一个中文宽度)

  == == en空格 (半个中文宽度)

  == == em空格 (一个中文宽度)

  == 四分之一em空格 (四分之一中文宽度)

对应的html 空格如下:

    不断行的空白(1个字符宽度)

    半个空白(1个字符宽度)

    一个空白(2个字符宽度)

    窄空白(小于1个字符宽度)

3.结论:

  1. 一个汉字用: 四个   占位
  2. 如果是数字: 一个阿拉伯数字, 用三个 thinsp; 占位

String htmlString = "商务座
¥1024.5   
(余1张)


硬座    
¥102.5      
(余10张)


商务座
¥10200.5
(余100张)


二等座
¥119.5      
(无票)"
;holder.tvItemTrainPriceList.setText(Html.fromHtml(builder.toString()));

结果是这样的,成功搞定




推荐阅读
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 2.2 组件间父子通信机制详解
    2.2 组件间父子通信机制详解 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 如何在PHP中获取数组中特定元素的索引位置
    在PHP中获取数组中特定元素的索引位置有多种方法。首先,可以使用 `array_search()` 函数,其语法为 `array_search(目标值, $array)`,该函数将返回匹配元素的第一个键名(即下标)。其次,也可以利用 `array_keys()` 函数,通过 `array_keys($array, 目标值)` 语法来获取所有匹配元素的键名列表。这两种方法都能有效解决数组元素定位的问题,具体选择取决于实际需求和性能考虑。 ... [详细]
  • Vue 开发技巧:实现数据过滤与排序功能详解
    Vue 开发技巧:实现数据过滤与排序功能详解 ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • 如何在Sublime Text 3中将文件编码格式设置为UTF-8
    本文详细介绍了在Sublime Text 3中将文件编码格式设置为UTF-8的具体步骤。通过这些方法,用户可以轻松实现文件编码的转换,确保文本在不同系统和平台上的兼容性和一致性。对于经常需要处理多语言文本的开发者来说,这一技巧尤为实用。希望本文能为读者提供有价值的参考。 ... [详细]
author-avatar
JayantKwon
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有