Android TextView跑马灯效果

android 多行textview间切换跑马灯效果 以前一直认为 textview 这个跑马灯效果很是鸡肋,必须有焦点才可以使用,用着麻烦。 但项目需求没有办法,只能尝试实现。   起初在网上找了一些资料殊途同归讲的都差不多,还有一些是瞎转载没试过就发到网上来的(ps:发自内心的12万分鄙视,没试就发上来,抄下来之后还以为自己写错了,检查了好半天。。)。 无非就是要有焦点才可看到跑马灯效果,实际应用起来麻烦透顶。 本来已经放弃用textv 阅读详情

所谓跑马灯效果就是当文字超过控件所能容纳的空间时,在控件内滚动的效果。

走马灯的效果主要是通过android:singleLine,android:ellipsize,android:marqueeRepeatLimit,android:focusable属性来配置的。

android:singleLine="true"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:focusable="true"
android:marqueeRepeatLimit="marquee_forever"

  • android:singleLine=true 表示使用单行文字,多行文字也就无所谓使用Marquee效果了。
  • android:marqueeRepeatLimit,设置走马灯滚动的次数。
  • android:ellipsize,设置了文字过长时如何切断文字,可以有none, start,middle, end, 如果使用走马灯效果则设为marquee.
  • android:focusable,Android的缺省行为是在控件获得Focus时才会显示走马灯效果

显示跑马灯效果的前提条件就是你的文本内容要比显示文本的外部组件长,即外部组件无法完整的显示内部的文本内容。

因此要实现跑马灯效果有两种设置方式:

1、layout_width=”"设置为成比文本内容短的固定值,最好不要写成wrap_content或者fill_parent。

2、如果layout_width=”"设置wrap_content或者fill_parent,那么可以增加上 android:paddingLeft="15dip",android:paddingRight="15dip"使两端的距离加大而无法全部显示文本内容,但是这有一个缺陷就是在手机的屏幕变大时,距离没有变大,外部组件又可以正常显示内部文本,于是又无法显示跑马灯效果,因此建议第一种设置为佳。
      

另外还可以设置滚动的次数android:marqueeRepeatLimit=”";android:marqueeRepeatLimit=”marquee_forever”表示一直滚动。

当有些情况下需要是文字一直滚动以引起用户注意,这是可以使用派生TextView,重载onFocusChanged,onWindowFocusChanged,isFocused 这三个方法。

修改一下本例,添加一个ScrollAlwaysTextView类:

public class ScrollAlwaysTextView extends TextView {

 public ScrollAlwaysTextView(Context context) {
 this(context, null);
 }

 public ScrollAlwaysTextView(Context context, AttributeSet attrs) {
 this(context, attrs, android.R.attr.textViewStyle);
 }

 public ScrollAlwaysTextView(Context context, AttributeSet attrs,
 int defStyle) {
 super(context, attrs, defStyle);
 }

 @Override
 protected void onFocusChanged(boolean focused, int direction,
 Rect previouslyFocusedRect) {
 if (focused)
 super.onFocusChanged(focused, direction, previouslyFocusedRect);
 }

 @Override
 public void onWindowFocusChanged(boolean focused) {
 if (focused)
 super.onWindowFocusChanged(focused);
 }

 @Override
 public boolean isFocused() {
 return true;
 }
}
Android中实现TextView跑马灯效果的两种方法 本文还有配套的精品资源,点击获取 简介:在Android应用开发中,TextView组件可以实现跑马灯效果,即在有限的空间内让文本无限滚动。本文将介绍两种实现TextView跑马灯效果的方法,包括使用XML布局属性 ellipsize 和 marqueeRepeatLimit ,以及通过自定义跑马灯动画类 CustomMarqueeAni... 阅读详情

相关推荐

实现Android ListView中TextView跑马灯效果的Demo

在Android开发中,ListView是一个十分重要的控件,广泛用于展示列表形式的信息。它支持通过滚动显示大量数据,是实现诸如通讯录、消息列表等界面的基本组件。虽然随着Android版本的迭代,出现了如RecyclerView等更高级的控件,但ListView因其简洁性和高效性,在很多应用场景中仍然占据一席之地。ListView控件是Android中一个重要的UI组件,它为用户提供了一个水平或垂直滚动的列表,允许用户与之交互。

weixin_34640289的博客 689

Android 基础控件学习

Android控件基础学习 TextView基础属性 下面是TextView控件中经常用到的基础的属性。 1.layout_width:组件的宽度 单位经常设置为dp 2.layout_height:组件的高度 3.id:为TextView设置一个组件id 4.text:设置显示的文本内容 5.textColor:设置字体颜色 6.textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体) 7.textSize:字体大小,单位一般

xiaoxu的博客 4667

LM Studio Bionic:本地AI智能体从部署到实战完整指南

AI智能体作为能够自主规划、执行多步任务的人工智能系统,其核心原理在于结合大语言模型的推理能力与工具调用机制。通过状态保持和任务分解算法,智能体实现了从单次问答到持续协作的技术跃迁。在工程实践中,这种架构显著降低了复杂任务自动化的门槛,特别适用于数据敏感场景和定制化需求。以Tesla V100等专业硬件为例,本地部署能充分发挥其大显存优势,支持更高精度的模型量化格式。在实际应用层面,智能体可无缝集成到代码审查、文档生成等开发工作流中,而LM Studio Bionic通过统一界面整合了模型服务、任务规划器等

weixin_29053695的博客 662

加快自定义滚动 TextView 的滚动速度

在这个示例中,setMarqueeSpeed() 方法允许你通过反射方式改变内部滚动速度。根据需要调整该值,以达到预期的滚动速度。要加快滚动速度,你可以通过调整 TextView 的 marqueeRepeatLimit 和 ellipsize 属性,以及覆盖 TextView 的滚动速度控制方法来实现。需要注意的是,使用反射有潜在的风险,并且 Android 内部实现可能随版本变化而变化。要调整滚动速度,可以通过反射技术访问 TextView 内部的滚动参数 mMarquee 的字段。

m0_64136170的博客 1371

图像质量评估:使用 SSIM 计算图像相似性

在图像处理领域,衡量两幅图像之间相似性的一种常见方法是使用结构相似性指数(SSIM)。SSIM 是一种全参考的图像质量评估指标,它不仅考虑了图像的亮度、对比度,还考虑了结构信息。在本文中,我们将介绍一个使用 Python 和 OpenCV 实现的 SSIM 计算脚本,并使用该脚本评估两幅图像的相似性。

hasque2019的博客 1154

【电子元件篇】电容的九大作用与选型指南-超简单解读

本文系统介绍了电容的基础概念、核心功能及实际应用。电容作为存储电荷的被动元件,其容值公式为C=Q/V,单位包括法拉及常用派生单位。文章重点解析了电容的九大功能:滤波(通过RC低通电路抑制噪声)、耦合(传递交流隔离直流)、去耦(稳定供电)、储能(短暂供电)、定时(RC延时)、谐振(RLC振荡)、旁路(高频通路)、电压调节(DC-DC转换)以及保护(吸收浪涌)。同时详细阐述了电容分类(陶瓷/电解/薄膜等)、参数选型要点(耐压/容值/精度/温度)及PCB设计注意事项,并针对不同应用场景提供了具体选型建议和常见误区

2301_81299416的博客 4017

Android TextView设置跑马灯效果

【前言】      在Textview设置的宽度有限,而需要显示的文字又比较多的情况下,往往需要给Textview设置跑马灯效果才能让用户完整地看到所有设置的文字,所以给TextView设置跑马灯效果的需求是很常见的 一、新手设置跑马灯效果 ...

逍遥阁 2万+

Apache DolphinScheduler 实现了对 OceanBase 的元数据库支持

Apache DolphinScheduler 是一款开源的分布式工作流任务调度系统,它提供了可视化的工作流设计和调度功能,支持大数据任务的自动化调度和监控。最近的更新中,Apache DolphinScheduler 引入了对 OceanBase 数据库的元数据库支持,这为用户在大数据环境中管理和调度任务提供了更多选择。用户可以通过 DolphinScheduler 提供的可视化界面进行工作流的设计和调度,也可以通过 DolphinScheduler 提供的 API 进行任务的编程调度。

VavzNvml的博客 498

Android之跑马灯失焦停止问题

要TextView 实现跑马灯效果的话,我们只需要关注5个属性即可 第一个是要单行显示 第二个是单行显示多余部分如何显示,即 ellipsize 属性的设置 第三个是获取焦点 第四个是走马灯重复次数 第五个是强制的获得了焦点,让 View 响应所有的 touch 事件 <TextView android:padding="10dp" android:background=...

huahuahua333686的博客 2368

XGBoost原生接口和Sklearn接口参数详解

XGBoost原生接口和Sklearn接口参数详解

算法工程师 2658

9.6华为OD机试真题 新系统 - 少儿爬山闯关积分游戏 (Java/Py/C/C++/Js/Go)

2026 华为OD机试真题9月6日华为OD上机新系统考试真题 100 分题型。

算法大师! 860

Android TextView实现跑马灯效果

在实际的开发中,我们有时候需要滚动的显示信息,这就是我们所说的跑马灯效果。 Android中的TextView可以很容易的显示这个效果,只需要添加以下属性就可以了 android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:singleLine="true" 但是这样子有一个缺点,就是这种状

HeyNine的博客 1万+

【系统架构设计师】2026年上半年真题论文:论高并发系统的设计与实践

本文围绕高并发系统架构设计展开,重点论述了电商秒杀系统的实战经验。文章采用"痛点-解决方案-效果"的逻辑结构,从缓存设计、异步处理、限流降级、数据库优化等6个维度详细阐述了应对高并发的技术策略。其中,重点介绍了多级缓存体系、基于消息队列的异步处理机制和微服务拆分实践,并辅以实际案例说明如何解决超卖、缓存雪崩等典型问题。全文强调高并发设计需要系统性思维,通过空间换时间、异步换吞吐、横向换能力等原则,最终实现系统吞吐量从500TPS提升至20000TPS的性能突破。

数据知道的博客 1160

Android移动开发之【通往安卓的神奇之旅】TextView和ImageView 实现跑马灯效果

文章目录1 textview1.1 介绍属性(全)1.2 自带跑马灯代码2 imageview 1 textview 1.1 介绍属性(全) android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText如果设置,将自动执行输入值的拼写纠正。此处...

NJU phd 在读。 952

【Android 11】使用Android Studio调试系统应用之Settings移植(三):构建Settings、SettingsLib项目文件

基于android 11,本系列文章力争实用,讲解使用AS调试系统app的方法,并提供了配套源下载,供学习调试。上一篇文章[Android 11]使用Android Studio调试系统应用(二):依赖分析、android.bp、静态和动态依赖,讲解了如何搭建编译服务器,如何下载AOSP源码,如何切换到AOSP的指定分支(android-11-r39),以及如何编译、解决编译错误、运行模拟器,本文将开始讲解如何构建Settings的AS工程文件! 走过、路过,有用过的同学,记得给个赞O(∩_∩)O哈!

上周的博客 2688

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android TextView实现滚动跑马灯效果Marquee

可以利用原生功能实现效果: 1、如果TextView中的文字过长,(在失去焦点时)那么超出显示范围的文字以...显示 2、如果TextView获得了焦点,那么其中的文字以循环滚动的方式显示 布局中代码如下: <com.asdf.app.widget.autoscrolltextview.AutoTextView android:id="@+id/showMarquee"

Sun的专栏 9269

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android实现多个跑马灯效果,多个文本框TextView的跑马灯

Android实现多个跑马灯效果,多个文本框TextView的跑马灯   一、新建一个Marquee类继承TextView 由于默认的跑马灯效果是需要TextView的方法isFocused为true的时候才会跑动的,而默认时,只有一个TextView处于focused状态,解决办法就是让所有要实现跑马灯效果的TextView都处于focused状态,因此要改写TextView类。于是新建一

AMinfo的专栏 8179

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android TextView 跑马灯效果

Android TextView 跑马灯效果 效果如图: 主要是布局中的代码: 布局: android:ellipsize="marquee" //椭圆化 android:focusableInTouchMode="true" //可调焦触控模式 android:focusable="true" //可聚焦 android:singleLine="true" //单线 JAVA: //获得焦点 text1.reques

白日梦的博客 386

Android实现TextView跑马灯效果

android实现跑马灯的效果第一种是页面只有一个TextView或从上至下,从左至右的第一个TextView需要跑马灯效果,实现方式为: TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" and

我是IT小菜鸟的博客 495

Android之TextView的跑马灯效果

android的跑马灯效果

casual_clover的博客 4161

【Android】TextView的跑马灯效果

老规矩,先上图看效果。 说明 TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果。 其实,TextView实现跑马灯效果很简单,因为官方已经实现了,你只需要通过设置几个属性即可。而且,相关的资料其实网上也有一大堆了,之所以还写这篇博客出来是因为,网上好多人的博客都是只贴代码的啊,好一...

dasusu 281

实现Android中TextView的跑马灯效果

分析Android中TextView跑马灯效果并实现

EdisonChang的博客 1899

Android-通过TextView控件实现跑马灯效果

TextView实现跑马灯效果 xml文件中声明属性,使TextView获取焦点 核心属性:singleLine,ellipsize,focusable,focusableInTouchMode <TextView android:id="@+id/text_marquee" android:layout_width="wrap_content" android:layout_height="wrap_content"

sophieLV1993的博客 292
上一篇: SpannableString 记录
下一篇: BitmpaFactory和BitmapFactory.Options详解及优化解码图片时使用的内存
gwpJava
博客等级 码龄14年 11粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值