我们知道,要使TextView单行显示,如果超出的话用“…”显示,只要设置

android:ellipsize="end"
android:singleLine="true"

或者多行显示,超出的部分使用“…”显示,那么,设置如下

android:lines="2"
android:ellipsize="end"

那么问题是,我们怎么知道TextView已经省略了内容呢?

        TextView textView = (TextView) findViewById(R.id.txt_course_introduce);Layout l=textView.getLayout();if(l!=null){int lines =l.getLineCount();LogUtils.d(TAG, "lines = " + lines);if(lines>0){if(l.getEllipsisCount(lines-1)>0){LogUtils.d(TAG, "Text is ellipsized");}}}else {LogUtils.d(TAG,"Layout is null");}

通过textview获取Layout,然后根据Layout的一个方法getEllipsisCount(int),来判断是否已经省略,但Layout大多时候获取到的都是null,为什么呢?原因是,Layout要等TextView绘制完了才能够拿到Layout的对象。

final TextView textView = (TextView) findViewById(R.id.txt_training_introduce);textView.post(new Runnable() {@Overridepublic void run() {Layout l = textView.getLayout();if (l != null) {int lines = l.getLineCount();LogUtils.d(TAG, "lines = " + lines);if (lines > 0) {if (l.getEllipsisCount(lines - 1) > 0) {LogUtils.d(TAG, "Text is ellipsized");}}} else {LogUtils.d(TAG, "Layout is null");}}});

Android TextView 如何判断是否已经省略相关推荐

  1. 判断Android Textview是否换行

    判断Android Textview是否换行 1.先设置ellipsize="end" 2.通过addOnGlobalLayoutListene方法判断是否触发ellipsize= ...

  2. Android:TextView 自动滚动(跑马灯) (转)

    Android:TextView 自动滚动(跑马灯) TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true" ...

  3. Android - TextView Ellipsize属性

    Android - TextView Ellipsize属性 本文地址: http://blog.csdn.net/caroline_wendy 本文的合集已经编著成书,<高级Android开发 ...

  4. android文字多行滚动显示,Android TextView多行文本滚动实现

    Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局.只要在l ...

  5. android ellipsize 多行,详解Android TextView属性ellipsize多行失效的解决思路

    本文介绍了Android TextView属性ellipsize多行失效的解决思路,分享给大家,具体如下: 多余文字显示省略号的常规做法 android:ellipsize="end&quo ...

  6. android ellipsize 多行,android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法...

    android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法 布局文件中的TextView属性 复制代码 代码如下: android:id="@+id/b ...

  7. 记录Android TextView在设置ellipsize时出现空白的问题

    记录Android TextView在设置ellipsize时出现空白的问题 2021-8-23 设置android:maxLine="1",会导致textView后面有一段空白, ...

  8. Android -- TextView与EditText 同步显示

    Android -- TextView与EditText 同步显示 文章分类:JavaEye 方法一.利用View.OnKeyListener"同步"显示         Java ...

  9. android textview改变部分文字的颜色和string.xml中文字的替换及部分内容设置颜色、字体、超链接、图片...

    一:TextView组件改变部分文字的颜色: 1.TextView textView = (TextView)findViewById(R.id.textview); 2. 3.//方法一: 4.te ...

最新文章

  1. 整了个程序员专用的红包封面,喜欢的来领咯!
  2. 第六章 模型的验证、监控与调优
  3. Visual Studio 2017发布会:黄金时代的家族聚会
  4. SQL注入:3、无权读取information_schema库和拒绝union、order by语句
  5. MATLAB中如何删除坐标上已画出的内容
  6. 基于FPGA实现DDS正弦波发生器
  7. python形式参数和实际参数_python学习笔记3:函数和参数
  8. SQL Server 2019概述和安装
  9. 从入门到退坑,详解数分行业的3个岗位,起薪高达40W的是哪个?
  10. 数字后端基本概念介绍——Routing Blockage
  11. 【转】Linux 的启动流程
  12. Java实现opendir的api_api代码生成
  13. 环境配置《安装gcc编译器》
  14. 算法 第四版 2.1.25 不需要交换的插入排序
  15. ucgui 嵌入式linux,uCGUI如何移植到S3C44B0X
  16. html5均线图源码,通达信导航家之成本均线主图指标 源码(图文)
  17. 计算机白板培训心得,电子白板培训心得体会
  18. Perl变量作用域和自定义函数小结
  19. 如何解决谷歌Chrome浏览器空白页的问题
  20. Docker学习之二------基础命令(镜像、容器)

热门文章

  1. 公交语音播报调试第三天
  2. html+css 百度首页制作
  3. python 爬取_Python爬取电影天堂
  4. 安全HCIP之AAA
  5. Java的对象直接输出到底是什么
  6. Linux应用开发(十二)——LCD控制器
  7. 微信小程序数据包教程抓取,看完就是学会
  8. spd供应链是通过什么来进行实现的呢?
  9. Linux 系统 IO之 lseek 函数
  10. php结合阿里云(印刷文字识别-身份证识别)进行身份证真实性验证------识别图片中的信息进行验证