如图显示的情况

代码如下:  

我在网上查了查,网上只有显示EditText出现类似情况的,添加android:layerType=”software”这句话,但必须得使用 API level 11 或者更高,我改成了 API level 12,但仍然还是同样的情况,所以该方法不起作用。

然后我以为是高度不够,当将高度改变,留有大块的空间,但仍然没有改变。改变行间距为1dp甚至去掉行间距仍然无法使用。

但当我将内容增加到文本超过3行时,第三行和第二行不在重叠了。

然后我试了试将maxlines改成了2行,当文本刚好在两行时放生重叠,超过两行时重叠现象消失。

然后我又看了看Java程序,发现我在这个textView设置了自定义的字体,代码如下:

Typeface typeFace = Typeface.createFromAsset(mContext.getAssets(),"LucidaSansRegular.ttf");
textViewContent.setTypeface(typeFace);

当将其删去后,重叠现象消失,在这时我才知道是字体的缘故。

后来又试了试,保留自定义字体,将 android:ellipsize="end"取掉,则不再出现重叠。我想是不是ellipsize=end的关系,所以改成start,middle,marquee,则重叠现象出现,改成none则重叠现象消失。所以最后确定,自定义字体与android:ellipsize属性冲突,造成了,版式错误出现重叠。

但为什么会这样,我在网上找了找答案,网上说是:

使用其他字库,都会消耗程序的空间,这是要非常注意的。而且这些字库有时并不能完全提供你所需要的文字。
  举个例子,省略方式。当文字太多的时候,可以通过省略号省略后面的内容,省略号是使用“…”作为一个字体,可通过android:ellipsize属性进行设置。如果我们需要使用省略功能,需要确保字体具有省略号。此外,为了保证长度的一直,Android会进行填充处理,除了将一个字符更换为省略符合外,后面的字符将更换为一个特殊的Unicode字符,‘ZERO WIDTH NO-BREAK SPACE’ (U+FEFF)。这个字符并占用任何可视的位置,但是保障了string具有同样的长度。不是所有的字体都支持这个特殊的字符,可能会引发一些乱码现象。

这是我找到最靠谱的答案,也有说是超过三行,android:ellipsize会出问题,但我试了一下,不是android:ellipsize问题。

如果这个答案不对或者需要补充的,请告诉我,不胜感谢。

解决方法是删除自定义文本,或者取掉android:ellipsize两种方法。

总的来说,以后再使用自定义字体时,需要注意, android:ellipsize="end"和  android:maxLines="3"属性,注意可能发生的排版重叠。

Android中TextView中添加的文本上下两行又重叠相关推荐

  1. android动态添加圆,Android开发中TextView 实现右上角跟随文本动态追加圆形红点

    在一个比较坑的需求里,一段文字右上角需要追加一个圆形红点.最右侧有个金额,红点动态随着文字移动,然后各种摆布局,一下午坑死我了.后来果断放弃.然后就想试试直接自定义view来实现这个需求. 最坑的就是 ...

  2. android 决TextView中MaxLines与ellipsize=end冲突问题

    今天,讲讲如何在多行文本后显示省略号. TextView控件有一个属性是ellipsize,指的是当文字内容长度超过TextView大小时显示问题,一般情况下我们都是用省略号表示,常用的情况有以下四种 ...

  3. Android 拦截TextView中超链接点击事件

    Android 拦截TextView中超链接的点击事件 1.在xml中为TextView添加autoLink属性 <TextView...android:autoLink = "web ...

  4. 替代微软txt文本编辑器_如何在Microsoft Excel中向对象添加替代文本

    替代微软txt文本编辑器 Alternative text (alt text) allows screen readers to capture the description of an obje ...

  5. 如何在Microsoft Word中向对象添加替代文本

    Alternative text (alt text) allows screen readers to capture the description of an object and read i ...

  6. android 获取布局textview,android – 获取TextView中文本的位置

    看看几个Paint方法: getTextBounds()和 measureText.我们可以使用它们来确定TextView中文本的偏移量.确定TextView中的偏移后,我们可以将其添加到TextVi ...

  7. android textview坐标,android – 获取TextView中文本的位置

    看看几个Paint方法: getTextBounds()和 measureText.我们可以使用它们来确定TextView中文本的偏移量.确定TextView中的偏移后,我们可以将其添加到TextVi ...

  8. Android中设置字体居中,【Android】TextView中不同大小字体如何上下垂直居中?

    前言 在客户端开发中,我们往往需要对一个TextView的文字的部分内容进行特殊化处理,比如加粗.改变颜色.加链接.下划线等.iOS为我们提供了AttributedString,而Android则提供 ...

  9. Android 给TextView中的字体加上“中间线”

    大家都知道在做购物App或者购物网站的时候,商品价格往往会有一个"现价"和"原价"而原价往往会在中间加上一个黑色的横线.便于醒目客户,但是这种效果在App中应该 ...

最新文章

  1. 编辑流程图_作为一名采购商,做不好采购?送你5套采购流程图模板
  2. 使用VS Code新建编译Flutter项目
  3. 使用NDK过程中出现“Unresolved inclusion jni.h”
  4. web服务器测试web bench
  5. U-BOOT的目录结构
  6. python column stack_Python基础 | pandas中dataframe的整合与形变(merge reshape)
  7. 最小覆盖圆的增量算法
  8. Linux内存管理中的slab分配器
  9. 秒懂云通信:如何用阿里云语音通知服务(小白指南)
  10. 记一道面试题:STL两个栈实现一个队列。
  11. 【Python】输入两个字符串,在第一字符串中删除第二个字符串中所包含的所有字符...
  12. 什么是条件组合覆盖_什么是综合评价?高中生报名有哪些好处?
  13. 组织架构递归_映射架构和递归管理数据–第2部分
  14. 20. nginx 服务器的邮件服务
  15. 某人分析的70后,80后,90后
  16. jdk1.8_API中文帮助文档
  17. web常见的五种前端布局方式
  18. Java程序员月薪20k的涨薪秘籍,系列教学
  19. 拼写纠错原理以及模型(Spelling Correction model)
  20. Adobe Flash Debugger 下载

热门文章

  1. suggest的使用方法
  2. 浅谈单反相机中什么是光圈 光圈的作用是什么?
  3. Spring Boot 2.x基础教程:使用LDAP来管理用户与组织数据
  4. HTML5期末考核大作业 粉色三八妇女节主题活动html模板 web传统节日网页设计与实现
  5. 简单认识什么是UI设计
  6. ISO/OSI七层模型理解
  7. jq ajax写二级导航,jQuery实现二级导航菜单的示例
  8. 搜狗五笔输入法的造新词
  9. PAT甲级 1036 男孩女孩
  10. 全自动清洗过滤器详细介绍