最近工作中遇到需要TextView垂直滚动显示,看过N多帖子,方法不外乎两种。自定义TextView和用canvas绘制。这对于小编这个刚Android开发刚入门的菜鸟来说,无疑是高大上的方法。综合了这些帖子中的优点,总结出最简便的TextView方法。
int showContent = 0;// 显示的空间 public void handler() { hyhandler.removeCallbacks(runnable); currentIndex = currentIndex % noticeList.size(); //设置两行数据,预先显示下一条内容的第一行数据,增加滚动的连贯性 //noticeList保存多条内容 text_notice.setText(noticeList.get(currentIndex).getMESSAGEINFO() + "\n" + noticeList.get((currentIndex + 1) % noticeList.size()) .getMESSAGEINFO()); currentIndex++; //在项目中,noticeList是请求过来的数据,如果有数据,haveNotice为真,开始滚动 if (haveNotice) { // 有公告便开始滚动 hyhandler.postDelayed(runnable, scroolTime); } } Runnable runnable = new Runnable() { @Override public void run() { // TODO Auto-generated method stub int lineHeight = text_notice.getLineHeight(); // 每一行的高度 int lineCount = text_notice.getLineCount() / 2;// 总行数 showContent += 1; text_notice.scrollBy(0, 1); hyhandler.postDelayed(this, scroolTime); if (showContent >= lineCount * lineHeight) { //滚动坐标从TextView左上角开始计算,当显示玩下一条数据的第一行时,重置TextView数据以及会滚到最顶部 *-1表示回滚 handler(); text_notice.scrollBy(0, (lineCount * lineHeight) * -1); showContent = 0; } } };
方法入口,调用handler方法。
别忘了给TextView控件添加手动滑动效果
text_notice.setMovementMethod(ScrollingMovementMethod.getInstance());
在xml布局时需注意:
android:maxLines="1"
android:scrollbars="none"
android:singleLine="false"
maxLines为滚动区域的行数。
由于实际问题,目前只验证了maxLines=1时,连续滚动有保证。maxLines值改变时,待验证,只需在run方法中修改即可
相关推荐
在Android开发中,当需要在一个TextView中展示大量文本,而屏幕空间有限时,可以使用TextView的垂直滚动功能来实现文本的连续显示。本篇文章将详细讲解如何在Android中实现TextView的垂直滚动效果。 首先,要开启...
本文将深入探讨如何使用原生的Android动画技术来实现TextView的垂直滚动效果以及上下滚动效果。 一、基本概念 1. 垂直滚动:当TextView中的文本内容超出可视区域时,可以通过垂直滚动来展示未显示的部分。通常有两...
在这个案例中,我们关注的是垂直滚动,即TextView的内容能从上至下逐行滚动。 要实现TextView的上下滚动,我们需要使用`android:singleLine`和`android:ellipsize`属性。`android:singleLine`属性设置为true,使得...
本篇文章将深入探讨如何实现TextView的水平滚动和垂直滚动效果,并通过实际案例进行说明。 首先,我们要了解TextView的基本属性。`android:singleLine`(已被弃用,但仍然可用)或`android:maxLines`属性可以限制...
自定义TextView,可实现多行textView的滚动,自定义颜色、大小、滚动速度和行间距
本示例"Android垂直滚动TextView跑马灯Demo"就是一种常见的UI特效,它主要用于显示大量的文本内容,尤其适用于展示滚动公告、新闻标题或者广告等内容。跑马灯效果在Android中通常是通过自定义View或者对现有控件进行...
虽然Android SDK原生支持TextView的水平滚动(横向跑马灯效果),但并未提供直接的方法来实现垂直滚动。在面对这种需求时,开发者需要自定义解决方案。 首先,我们来看一下XML布局文件`textscroll.xml`的部分配置。...
在XML布局文件中,可以通过设置`TextView`的相关属性来开启垂直滚动: ```xml <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text...
而`垂直滚动的TextView`则是对标准`TextView`的一种扩展,它允许文本内容在垂直方向上自动滚动,通常用于显示长文本或者滚动公告等场景。在这个案例中,我们看到一个名为`AutoVerticalTextview-master`的压缩包,它...
在这个场景下,我们主要关注垂直滚动,也就是文本内容超出`TextView`可视区域时,能自动向上或向下滚动以展示未显示的部分。 1. **启用滚动** 要启用`TextView`的滚动功能,需确保其内容超过了视图的边界。这可以...
这个"android实现文字垂直滚动"的demo就是一个很好的实践案例,它利用了ScrollView和TextView两个核心组件来达到这一目的。下面我们将深入探讨这两个组件以及如何结合它们来实现文字的垂直滚动。 首先,ScrollView...
下面是一个完整的XML布局文件示例,展示了如何使用`ScrollView`、`LinearLayout`和`TextView`来构建一个具有垂直滚动条的布局: ```xml android:id="@+id/sv_show" android:layout_width="fill_parent" android...
本篇文章将深入探讨如何在Android中设置`TextView`实现垂直滚动,并通过一个名为`VerticalScrollTextView_Demo`的示例项目进行详细解析。 首先,我们需要理解`TextView`的基本属性。`android:singleLine`属性控制...
最近突然对原来做的一个项目有想法,当时是一个显示文本的界面会循环滚动,因为时间比较仓促,就以实现需求为目的写了一个滚动的TextView,结果还是效果挺好的。现在想把它分享给大家,这次写demo是从零开始,没在...
本篇文章将深入探讨如何在Android中创建一个能够垂直滚动的TextView。 首先,了解TextView的基本属性。TextView具有`maxLines`属性,它限制了TextView显示的最大行数。当设置`maxLines`属性并超过了单屏可容纳的...
在Android开发中,实现一个垂直滚动的TextView以达到跑马灯效果是一项常见的需求。这种效果常见于各种信息展示,如公告、广告等,使得较长的文字能够在有限的空间内完整展示。以下将详细介绍如何在Android中创建这样...
在XML布局文件中,可以通过设置`android:singleLine="false"`和`android:ellipsize="marquee"`来启用垂直滚动。`ellipsize`属性的`marquee`值会让文本像跑马灯一样自动滚动。但请注意,这并不适用于点击后自动滚动...
- 设置`android:scrollbars="vertical"`启用垂直滚动条。 - 使用`android:singleLine="false"`允许多行显示。 - `android:maxLines`指定最大行数,例如`android:maxLines="15"`限制最多显示15行。 - 若要实现多行...
在Android开发中,`TextView`是用于展示文本的常用组件,它可以显示单行或多行文本。在特定场景下,我们可能需要实现类似淘宝头条资讯那样的动态效果,让文本内容能够自动上下滚动,以吸引用户的注意力。这个项目...