Android基于TextView实现跑马灯效果
作者:慧琳女神的小粉丝 发布时间:2023-07-25 06:32:45
标签:Android,TextView,跑马灯
本文实例为大家分享了Android TextView实现跑马灯效果的具体代码,供大家参考,具体内容如下
当Layout中只有一个TextView需要实现跑马灯效果时,操作如下。
在Layout的TextView配置文件中增加
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"
以上四条属性,即可实现跑马灯效果。
当有多个TextView想实现跑马灯效果时,实现起来稍微复杂一些。
首先新建一个类,继承自TextView。
package com.example.project1;
import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewDebug.ExportedProperty;
import android.widget.TextView;
public class MyTextView extends TextView{
public MyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public MyTextView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
public boolean isFocused() {
// TODO Auto-generatd method stub
return true;
}
}
重写函数 isFocused(),使其始终return true。
将Layout文件中的TextView修改为com.example.project1.MyTextView,如下。
<com.example.project1.MyTextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"
android:text="@string/longText" />
<com.example.project1.MyTextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"
android:text="@string/longText" />
此时两个TextView都可呈现跑马灯效果。


猜你喜欢
- 一.背景最近业务需求需要导出Execl,最终做出的效果如下,中间牵扯到大量的数据计算。二.疑难问题分析问题1:跨单元格处理及边框设置问题2:
- 在还没给大家介绍单选按钮(RadioGroup)的使用,先给大家展示下效果图吧:xml文件 <LinearLayoutxmlns:an
- java 中newInstance()方法和new关键字的区别* 它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新
- 根据中国的国情,宽带共享遭受dns污染和HTTP拦截非常严重,造成网络请求的不稳定.但是ip/tcp协议一般不受影响。因此可以把域名先解析成
- Java基础编写猜数游戏,供大家参考,具体内容如下设计内容及要求产生一个100以内的随机数,游戏者进行猜数,猜中即胜,猜不中,提示是大了还是
- 在我们移动应用开发过程中,偶尔有可能会接到这种需求:1、在手机桌面创建一个窗口,类似于360的悬浮窗口,点击这个窗口可以响应(至于窗口拖动我
- C#中的表格控件只有一个,那就是datagridview,不像QT中可以用QTableview,QTableWidget。新手拿到datag
- 前言网上百度了很多FTP的java 工具类,发现文章代码都比较久远,且代码臃肿,即使搜到了代码写的还可以的,封装的常用操作方法不全面,于是自
- 末日这天写篇博客吧,既然没来,那就纪念一下。这次谈谈自制控件,也就是自定义控件,先上图,再说1.扩展OpenFileDialog,在Open
- Parallel类(https://www.jb51.net/article/244267.htm)的并行任务需要结束后才能运行后面的代码,
- SpringCloud启动失败问题Nacos配置读取失败org.yaml.snakeyaml.error.YAMLException: ja
- 问题: 在win10系统中,使用IDEA 查看源码的时候,经常跳转代码,这样会让使用者感觉和方便,但是当你想要返回上次跳转的位置时,却不知道
- 目录前言1. 如何让两个线程依次执行?2. 如何让两个线程按照指定的方式有序相交?3. 线程 D 在A、B、C都同步执行完毕后执行4. 三个
- 一,引入dll1.ServiceStack.Common.dll2.ServiceStack.Interfaces.dll3.Service
- 前言公众号上有网友询问我如何生成 EMF 文件的问题:本以为非常简单,我快速给出了解决方案:var bitmap = new Bitmap(
- 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。数组虽然也可以存
- 一、单线程改造为多线程也是个技术活正如我们看到耗子叔叔博客里写的那样,原来是单线程的应用程序,”后来,我们的程序性能有问题,所以需要变成多线
- 一、简介在上篇 SpringBoot 整合 ElasticSearch 文章中,我们详细的介绍了 ElasticSearch 的索引和文档的
- 研究其父类时候发现,可以设置这么一条属性,在AlertDialog.Builder.create()之后才能调用这两个方法方法一:setCa
- 这个问题是我自己开发中遇到的问题 数据库使用的是mysql5.6 字段名称为checkingTime 类