安卓TextView实现文字跑马灯(失去焦点可用)
创建一个跑马灯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实现文字跑马灯(失去焦点可用)相关推荐
- android 字体跑马灯,Android中使用TextView实现文字跑马灯效果
通常情况下我们想实现文字的走马灯效果需要在xml文件中这样设置 android:layout_width="wrap_content" android:layout_height= ...
- Android:TextView 自动滚动(跑马灯) (转)
Android:TextView 自动滚动(跑马灯) TextView实现文字滚动需要以下几个要点: 1.文字长度长于可显示范围:android:singleLine="true" ...
- android 字体跑马灯,Android文字跑马灯功能的实现(自定义跑马灯控件)
文字跑马灯效果这个功能挺常见的,网上也有很多的介绍,大多是说使用普通的TextView加上几条属性即可实现.不过我在使用时发现并不能实现滚动,可能是因为我的页面中使用到的布局及控件比较复杂,被别的控件 ...
- c语言小程序跑马灯,微信小程序实现文字跑马灯效果
本文实例为大家分享了微信小程序实现文字跑马灯的具体代码,供大家参考,具体内容如下 wxml 1 显示完后再显示 Box"> 2 出现白边后即显示 Box"> {{tex ...
- jquery 立体走马灯_jQuery简单的文字跑马灯特效
插件描述:这是一款非常简单的jQuery文字跑马灯特效插件.该跑马灯特效使文本从右向左不停循环,当鼠标放到跑马灯上的文字时,跑马灯会暂停运动. 更新时间:2018/2/8 下午3:21:52 更新说明 ...
- 微信小程序实现文字跑马灯
wxml: <view>1 显示完后再显示</view> <view class="example"><view class=" ...
- js在html中加文字走马灯特效,jQuery简单的文字跑马灯特效
插件描述:这是一款非常简单的jQuery文字跑马灯特效插件.该跑马灯特效使文本从右向左不停循环,当鼠标放到跑马灯上的文字时,跑马灯会暂停运动. 更新时间:2018/2/8 下午3:21:52 更新说明 ...
- python 滚动字幕软件_文字跑马灯(滚动字幕)效果并指定速度
敬告:该系列的课程在抓紧录制更新中,敬请大家关注. 敬告: 该系列的课程涉及:FFmpeg,WebRTC,SRS,Nginx,Darwin,Live555,等.包括:音视频.流媒体.直播.Androi ...
- CSS实现文字跑马灯效果
CSS实现文字跑马灯效果 在完成一个任务的时候,要求在表格中固定宽度的其中一个item文字过长需要滚动显示,然后经过多次效果的尝试,实现代码如下所示: 它需要一个外层包围盒,设置定宽.文字不换行以及超 ...
最新文章
- 图解VC++ opengl环境配置和几个入门例子
- 2020数字中国创新大赛—算法赛开源方案复盘笔记
- 通过Socket实现文件上传/上传文件
- 单片机c语言篮球比分_基于单片机的篮球比赛计时计分器的设计
- Myecplise Tomcat 启动很慢
- centos7已有数据硬盘挂载_干货!如何给虚拟机增加虚拟硬盘,Linux再分区挂载
- C++:不同数据类型作为参数传递和作为返回值的例子
- 华科计算机网络报告,华科-计算机网络实验报告-Java Socket编程-网络组建实验
- linux核心的最新版本,求问Linux最新内核版本以及发布日期。
- JDBC连接数据库教程,以postgreSQL为例
- 浅谈JavaScript--闭包
- Matlab 函数文件简介
- 原生Ajax详细获取数据
- u-boot新结构浏览
- vue全家桶都有哪些
- 关于#1-D:last line of file ends without a newline警告的解决办法(stm32)
- 小波在图像融合中的应用
- ubuntu 16.04-设置合上笔记本盖子不休眠
- 深耕DID,INTO钱包拿到进入Web3的钥匙
- 历年北京理工大学复试上机题