本文实例讲述了Android实现在TextView文字过长时省略部分或滚动显示的方法。分享给大家供大家参考,具体如下:

TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下:

1.android:ellipsize="start"—–省略号显示在开头

2.android:ellipsize="end"——省略号显示在结尾

3.android:ellipsize="middle"—-省略号显示在中间

4.android:ellipsize="marquee"–以跑马灯的方式显示(动画横向移动)

文字左右滚动三个属性:

android:singleLine="true"

android:ellipsize="marquee"

android:marqueeRepeatLimit="marquee_forever"

Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟 ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现。

android:id="@+id/tvCWJ"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:scrollbars="vertical"

android:singleLine="false"

android:maxLines="15"

android:textColor="#FF0000"

/>

< TextView

android:id = "@+id/app_shortcontent"

android:layout_width = "wrap_content"

android:layout_height = "wrap_content"

android:singleLine = "true"

android:textColor = "#FFFFFFFF"

android:scrollHorizontally = "true"

android:focusable = "true"

android:ellipsize = "marquee"

android:marqueeRepeatLimit = "marquee_forever" />

当然我们为了让TextView动起来,还需要用到TextView的setMovementMethod方法设置一个滚动实例,代码如下

TextView tv = (TextView)findViewById(R.id.tvCWJ);

tv.setMovementMethod(ScrollingMovementMethod.getInstance()); // Android开发网提示相关的可以查看SDK中

android.text.method分支了解更多

附:

顺便讲下 TextView 自动滚动的实现方法,下面介绍两种方法:

一、在代码中实现:

textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);

textView.setSingleLine(true);

textView.setMarqueeRepeatLimit(6);

二、在XML中实现:

android:layout_height="wrap_content" android:singleLine="true"

android:text="dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"

android:marqueeRepeatLimit="marquee_forever" android:ellipsize="marquee"

android:scrollHorizontally="true" android:width="150dip">

一切OK,当 textView 获取焦点后,就会自动滚动。

补充:

不管是手动还是自动 你要实现滚动就得加scrollview

到时候可以通过handle来调用scrollview的scrollTo方法实现滚动

Handler mHandler = new Handler();

private Runnable mScrollToBottom = new Runnable() {

public void run() {

mScrollView.scrollTo(0, offset);

}

};

onTouch里面:

mHandler.post(mScrollToBottom);

补充:

1. 把 textview的 Ellipsize 设置成 marquee(上面有说)

2. 把 Deprecated的 Single line 设置成 true

3. 设置textview的Marquee repeat limit 属性(滚动回数,默认是无数回)

贴个代码吧:

textview.setEllipsize(TextUtils.TruncateAt.MARQUEE);

textview.setSingleLine(true);

textview.setMarqueeRepeatLimit(6);

希望本文所述对大家Android程序设计有所帮助。

android文字多行滚动显示,Android实现在TextView文字过长时省略部分或滚动显示的方法...相关推荐

  1. echart横轴文字显示省略号_Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法...

    最近公司做项目,使用echarts做开发,碰到一些数据的名称很长导致图例展示的效果不是很好,自己写了一个方法,当X轴内容过长时自动隐藏,鼠标移动上去显示全部名称 样例: 图二是鼠标移动到名称显示的,怎 ...

  2. antv g2字体阴影_antv g2坐标轴文字过长时添加省略号,悬浮显示全部

    antv g2坐标轴文字过长时添加省略号,悬浮显示全部 示例改编自antv基础条形图 https://g2.antv.vision/zh/examples/bar/basic#basic import ...

  3. Android TextView内容过长加省略号,点击显示全部内容

    2019独角兽企业重金招聘Python工程师标准>>> 在Android TextView中有个内容过长加省略号的属性,即ellipsize,用法如下: 在xml中: android ...

  4. android文字与图片底部对齐,ImageView 图片和 TextView 文字的底部对齐

    有时我们需要做到大文字小图片在一行显示,并且图片跟文字的底部对齐,如图: 以 RelativeLayout 为例: 1. 当 ImageView 设置了 alignBottom 属性,对齐的方式是这样 ...

  5. vue-code-diff内容过长时需要拉到底才能显示横向滚动条(滚动条不管内容长短都要让它显示,还要同步滚动)

    今天遇到了一个需求,这个需求是vue-code-diff这个组件内容过长时,需要拉到底才能看到横向滚动条.这个问题让我很纠结.原因很简单这个组件已经2年多没更新了.同时强行改CSS,也导致各种奇葩问题 ...

  6. echart移上去显示内容_Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法...

    最近公司做项目,使用echarts做开发,碰到一些数据的名称很长导致图例展示的效果不是很好,自己写了一个方法,当X轴内容过长时自动隐藏,鼠标移动上去显示全部名称 样例: 图二是鼠标移动到名称显示的,怎 ...

  7. 计算机连接网络显示有限访问权限,解决连接无线网络时提示“有限的访问权限”的方法(图文教程)...

    解决连接无线网络时提示"有限的访问权限"的方法 电脑通过无线连接上信号后,右下角有黄色叹号,显示有限的访问权限,遇到这样的问题该怎么办呢?首先我们尝试最简单的方法来解决,比如:重启 ...

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

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

  9. android执行命令行取得结果,Android调用shell脚本并取得输出

    Android调用shell脚本并获得输出 前段时间做的HLS流媒体服务器可以正常工作了,但是它的启动需要在PC机命令行中进行或者在Android下载个Terminal IDE软件,在Android上 ...

  10. 安卓超过两行就加省略号_Android TextView内容过长加省略号,点击显示全部内容...

    一.文字滚动 文字左右滚动三个属性: android:singleLine="true" android:ellipsize="marquee" android ...

最新文章

  1. 泥瓦匠进阶:连接池原理设计并不难
  2. python3 串行并列实际应用
  3. n条直线相交最多有几个邻补角_【东升二中数字课堂】创意微课直线的交点|Super数学璐...
  4. Attempt to save the map xxx.m failed
  5. 如何复制图文消息封面图片?正文没显示
  6. 计算机的数据通信的概念,计算机数据通信基础知识.ppt
  7. 淘宝面试常见问题的答案来了,你看了吗?(一面及答案)
  8. python属于汇编语言还是高级语言_python语言属于汇编语言吗?_后端开发
  9. 动圈耳机振膜_不起眼却影响音质,揭秘耳机振膜的真相
  10. ShadowGun Billboard Blinking God Rays
  11. 桌面上计算机快捷方式打不开,桌面快捷方式打不开解决步骤
  12. 余额宝提现测试点【杭州多测师】【杭州多测师_王sir】
  13. 10天的百家号运营,让我发现了百家号的一些秘密
  14. mdx词典包_欧路词典PC端 词库安装 渲染
  15. 360随身WiFi在没有网络的情况下打开热点
  16. 计算机术语表达因果,因果推断简介之五:因果图 (Causal Diagram)
  17. 区块链投资分歧:蔡文胜麦刚入局 朱啸虎张颖看衰
  18. 文本处理工具及正则表达式
  19. David Patterson 撰文:关于RISC-V的五个谬误
  20. JavaScript常用的工具方法

热门文章

  1. mpls 保留标签值_MPLS的前世今生11
  2. python格式化字符串怎么_Python格式化字符串
  3. golang 使用openoffice 生成pdf_使用golang生成PDF文件
  4. 异常处理1:复习、异常概述和异常体系结构
  5. 【解题报告】动态规划进阶题(区间DP、树形DP、状压DP入门)
  6. 浪潮服务器怎么获取cpu信息,浪潮获取cpu、内存、硬盘等信息(redfish协议+restfull协议)...
  7. python学习(五) 类
  8. plsql 误删除了存储过程怎么处理_照片恢复 - 内存卡及手机误删照片怎么恢复?...
  9. sqlmap无法使用-r、-l命令问题原因没有携带请求参数即注入点
  10. 在c语言中保留35位小数,C语言程序设计复习题(供学有余力学生练习)(35页)-原创力文档...