创建一个跑马灯TextView,继承AppCompatTextView

public class MarqueeTextView extends AppCompatTextView {private boolean isMarqueeEnable = false;public MarqueeTextView(Context context) {super(context);}public MarqueeTextView(Context context, @Nullable AttributeSet attrs) {super(context, attrs);}public MarqueeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}public void setMarqueeEnable(boolean enable) {if (isMarqueeEnable != enable) {isMarqueeEnable = enable;if (enable) {setEllipsize(TextUtils.TruncateAt.MARQUEE);} else {setEllipsize(TextUtils.TruncateAt.END);}onWindowFocusChanged(enable);}}public boolean isMarqueeEnable() {return isMarqueeEnable;}@Overridepublic boolean isFocused() {return isMarqueeEnable;}@Overrideprotected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {super.onFocusChanged(isMarqueeEnable, direction, previouslyFocusedRect);}@Overridepublic void onWindowFocusChanged(boolean hasWindowFocus) {super.onWindowFocusChanged(isMarqueeEnable);}
}

对应的TextView修改为:

<[包路径].MarqueeTextViewandroid:id="@+id/mtextView"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="文本"android:textAlignment="center"android:textSize="26sp"android:textStyle="bold"android:ellipsize="marquee"android:focusable="true"android:focusableInTouchMode="true"android:marqueeRepeatLimit="marquee_forever"android:singleLine="true" />

添加 ellipsize、focusable、focusableInTouchMode、marqueeRepeatLimit、singleLine 属性

在代码中调用即可

MarqueeTextView marqueeTextView = findViewById(R.id.mtextView);
marqueeTextView.setMarqueeEnable(true);

安卓TextView实现文字跑马灯(失去焦点可用)相关推荐

  1. android 字体跑马灯,Android中使用TextView实现文字跑马灯效果

    通常情况下我们想实现文字的走马灯效果需要在xml文件中这样设置 android:layout_width="wrap_content" android:layout_height= ...

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

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

  3. android 字体跑马灯,Android文字跑马灯功能的实现(自定义跑马灯控件)

    文字跑马灯效果这个功能挺常见的,网上也有很多的介绍,大多是说使用普通的TextView加上几条属性即可实现.不过我在使用时发现并不能实现滚动,可能是因为我的页面中使用到的布局及控件比较复杂,被别的控件 ...

  4. c语言小程序跑马灯,微信小程序实现文字跑马灯效果

    本文实例为大家分享了微信小程序实现文字跑马灯的具体代码,供大家参考,具体内容如下 wxml 1 显示完后再显示 Box"> 2 出现白边后即显示 Box"> {{tex ...

  5. jquery 立体走马灯_jQuery简单的文字跑马灯特效

    插件描述:这是一款非常简单的jQuery文字跑马灯特效插件.该跑马灯特效使文本从右向左不停循环,当鼠标放到跑马灯上的文字时,跑马灯会暂停运动. 更新时间:2018/2/8 下午3:21:52 更新说明 ...

  6. 微信小程序实现文字跑马灯

    wxml: <view>1 显示完后再显示</view> <view class="example"><view class=" ...

  7. js在html中加文字走马灯特效,jQuery简单的文字跑马灯特效

    插件描述:这是一款非常简单的jQuery文字跑马灯特效插件.该跑马灯特效使文本从右向左不停循环,当鼠标放到跑马灯上的文字时,跑马灯会暂停运动. 更新时间:2018/2/8 下午3:21:52 更新说明 ...

  8. python 滚动字幕软件_文字跑马灯(滚动字幕)效果并指定速度

    敬告:该系列的课程在抓紧录制更新中,敬请大家关注. 敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等.包括:音视频.流媒体.直播.Androi ...

  9. CSS实现文字跑马灯效果

    CSS实现文字跑马灯效果 在完成一个任务的时候,要求在表格中固定宽度的其中一个item文字过长需要滚动显示,然后经过多次效果的尝试,实现代码如下所示: 它需要一个外层包围盒,设置定宽.文字不换行以及超 ...

最新文章

  1. 图解VC++ opengl环境配置和几个入门例子
  2. 2020数字中国创新大赛—算法赛开源方案复盘笔记
  3. 通过Socket实现文件上传/上传文件
  4. 单片机c语言篮球比分_基于单片机的篮球比赛计时计分器的设计
  5. Myecplise Tomcat 启动很慢
  6. centos7已有数据硬盘挂载_干货!如何给虚拟机增加虚拟硬盘,Linux再分区挂载
  7. C++:不同数据类型作为参数传递和作为返回值的例子
  8. 华科计算机网络报告,华科-计算机网络实验报告-Java Socket编程-网络组建实验
  9. linux核心的最新版本,求问Linux最新内核版本以及发布日期。
  10. JDBC连接数据库教程,以postgreSQL为例
  11. 浅谈JavaScript--闭包
  12. Matlab 函数文件简介
  13. 原生Ajax详细获取数据
  14. u-boot新结构浏览
  15. vue全家桶都有哪些
  16. 关于#1-D:last line of file ends without a newline警告的解决办法(stm32)
  17. 小波在图像融合中的应用
  18. ubuntu 16.04-设置合上笔记本盖子不休眠
  19. 深耕DID,INTO钱包拿到进入Web3的钥匙
  20. 历年北京理工大学复试上机题

热门文章

  1. 【组件篇】ionic3开源组件
  2. ABAP 学习笔记一
  3. 苹果和虫子c语言编程题,虫子吃苹果:每天10分钟,锻炼少儿编程计算思维
  4. silk 编解码_SILK编码语音转WAV格式
  5. 2022年底了,你们公司还好吗?我这里不太好
  6. mqtt连接百度天工物接入平台
  7. vite+ts+vue3 知识点(全局组件,局部组件,递归组件)
  8. DNS解析为什么不生效?DNS解析不生效原因分析
  9. java 字符串相加问题
  10. Day25 LeetCode 216. 组合总和 III 17. 电话号码的字母组合