若要让TextView里的文本滚动,必须满足以下几个因素:
1,TextView里文本宽度超过TextView的宽度
2,android:ellipsize="marquee"
3,只有在TextView获取到焦点时,才会滚动.所以加上android:focusableInTouchMode="true" android:focusable="true"
最容易忽略的是第三条.
滚动重复次数设置:
android:marqueeRepeatLimit="marquee_forever"
看一个TextView属性android:ellipsize实现跑马灯效果
Android系统中TextView实现跑马灯效果,必须具备以下几个条件:
1、android:ellipsize=”marquee”
2、TextView必须单行显示,即内容必须超出TextView大小
3、TextView要获得焦点才能滚动
XML代码:
android:ellipsize="marquee", android:singleLine="true"
Java代码:
mTVText.setText("哼唱接撒砥砺风节雷锋精神http://www.11*1c**om.net/,很长很长很长很长很长很长的数据");
mTVText.setSingleLine(true);
mTVText.setEllipsize(TruncateAt.MARQUEE);
PS: TextView.setHorizontallyScrolling(true); //让文字可以水平滑动
TextView还可以设置跑马灯效果的滚动次数,如下:
XML代码设置:
android:marqueerepeatlimit="1"。1代表1次,-1代表无限循环。
Java代码设置:
mTVText.setMarqueeRepeatLimit(-1);
AI全栈开发实测:用墨见AI、v0、Cursor搭一套独立开发工作流
GPT-5.5 原生工具调用架构解析:从提示词工程至模型原生能力的范式转换
企业级大模型API怎么选 星链4SAPI OpenRouter 与 硅基流动多维对比解析 2026选型指南
审计师的知识库建设指南:从零开始搭建650万字符的专业知识引擎
多Agent框架怎样设计?划分Agent的依据是什么?
拨云见日:Native Sparse Attention 怎样重塑长上下文大模型效率边界