本文为大家分享一个非常简单但又很常用的控件,跑马灯状态的TextView。当要显示的文本长度太长,又不想换行时用它来显示文本,一来可以完全的显示出文本,二来效果也挺酷,实现起来超级简单,所以,何乐不为。先看下效果图:

代码实现

TextView自带了跑马灯功能,只要把它的ellipsize属性设置为marquee就可以了。但有个前提,就是TextView要处于被选中状态才能有效果,看到这,我们就很自然的自定义一个控件,写出以下代码:

public class MarqueeTextView extends TextView {

public MarqueeTextView(Context con) {

super(con);

}

public MarqueeTextView(Context context, AttributeSet attrs) {

super(context, attrs);

}

public MarqueeTextView(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);

}

@Override

public boolean isFocused() {

// TODO Auto-generated method stub

if(getEditableText().equals(TruncateAt.MARQUEE)){

return true;

}

return super.isFocused();

}

}

重写了isFocused方法,并进行判断,只有设置了marqueen属性的才保持选中状态,否则它就跟普通TextView一样。接下来就可以直接使用了,看下布局:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/titlebar_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="#39ac69" >

android:layout_width="match_parent"

android:layout_height="50dp"

android:background="#ffffff"

android:gravity="center_vertical"

android:orientation="horizontal" >

android:id="@+id/home_location_iv"

android:layout_width="25dp"

android:layout_height="27dp"

android:layout_marginLeft="10dp"

android:scaleType="fitXY"

android:src="@drawable/icon_place" />

android:id="@+id/home_location_tv"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_marginLeft="10dp"

android:layout_marginRight="10dp"

android:layout_weight="1"

android:ellipsize="marquee"

android:focusable="true"

android:focusableInTouchMode="true"

android:gravity="center"

android:marqueeRepeatLimit="marquee_forever"

android:scrollHorizontally="true"

android:singleLine="true"

android:text="正在定位..."

android:textColor="#39ac69"

android:textSize="18sp" />

android:id="@+id/home_search_iv"

android:layout_width="25dp"

android:layout_height="27dp"

android:layout_marginRight="10dp"

android:scaleType="fitXY"

android:src="@drawable/icon_place" />

要注意两点ellipsize属性要设置为”marquee”,行数属性即singleLine要设置为true。到此TextView的跑马灯效果就实现了。

希望本文对大家学习Android软件编程有所帮助。

跑马灯编程Android,Android TextView实现跑马灯效果的方法相关推荐

  1. android支付宝余额怎么做,android编程实现类似于支付宝余额快速闪动效果的方法...

    本文实例讲述了android编程实现类似于支付宝余额快速闪动效果的方法.分享给大家供大家参考,具体如下: 效果如下: 此图片不会动,但实际上是会快速跳动的. 之前看到有支付宝的效果非常牛逼.就是进去看 ...

  2. android中TextView中文字体粗体的方法 (android:textStyle=bold)

    android中TextView中文字体粗体的方法 (android:textStyle="bold"来使字体显示为粗体,但是这只对英文有效) TextView在xml中可以定义a ...

  3. android模糊检索_Android中实现输入框实时模糊搜索效果的方法

    Android中实现输入框实时模糊搜索效果的方法 发布时间:2020-08-13 16:27:11 来源:亿速云 阅读:161 作者:小新 Android中实现输入框实时模糊搜索效果的方法?这个问题可 ...

  4. 自定义控件android特效,Android自定义控件eBook实现翻书效果实例详解

    本文实例讲述了Android自定义控件eBook实现翻书效果的方法.分享给大家供大家参考,具体如下: 效果图: Book.java文件: package com.book; import androi ...

  5. android实现跑马灯效果,TextView实现跑马灯效果 就这么简单!

    一.方法 这里我们用两种方法来实现跑马灯效果,虽然实质上是一种 实质就是: 1.TextView调出跑马灯效果 2.TextView获取焦点 第一种: 1.TextView调出跑马灯效果 androi ...

  6. Android玄铁剑之TextView之跑跑马灯

    传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 玄铁剑         越是平平无奇的剑招,对方越难抗御.如挺剑直刺,只要劲 ...

  7. android:ellipsize = marquee 跑马灯,Android基于TextView属性android:ellipsize实现跑马灯效果的方法...

    本文实例讲述了Android基于TextView属性android:ellipsize实现跑马灯效果的方法.分享给大家供大家参考,具体如下: Android系统中TextView实现跑马灯效果,必须具 ...

  8. android paint跑马灯,Android使用Canvas实现跑马灯

    网上的很多的教程都是通过更改TextView的属性进行跑马灯的设计.这样做有很多的缺点: 1.如果TextView没有获取焦点,那么跑马灯的效果无法实现. 2.如果文本长度小于TextView的宽度, ...

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

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

  10. TextView的跑马灯效果实现

    TextView的跑马灯效果实现 问题描述 当文字内容过长,但是只允许显示一行时,可以将文字显示为跑马灯效果,即文字滚动显示. 代码实现 第一种方法实现 先查询TextView控件的属性,得到以下信息 ...

最新文章

  1. 在Eclipse或MyEclipse中安装findbugs插件
  2. python编程入门与案例详解pdf-Python入门之三角函数sin()函数实例详解
  3. cs架构使用webservice靠谱嘛_使用点评eimele亦餐哪些味道的好吃?口碑靠谱吗?急想知道!...
  4. 程序员面试题精选100题(11)-求二元查找树的镜像[数据结构]
  5. MySQL / B + 树算法在 mysql 中能存多少行数据?
  6. jdbc mysql数据类型对比 (版本: 5.1)
  7. HDU4321(位运算二进制1的统计)
  8. struts.properties属性解释
  9. 物理与计算机信息工程学院,泉州师范学院物理与信息工程学院
  10. 一针一线皆关“云” 报喜鸟以匠心融合科技
  11. win7电脑删除文件特别慢怎么办
  12. linux 架设J2EE网站过程分享之二 —— JDK安装
  13. 致00后大学新生:从今天起,为转离这些专业而努力
  14. 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
  15. 全面的软件测试-软件测试图解
  16. javascript 替换全部字符串
  17. 异常:java.lang.ArithmeticException
  18. BZOJ1791 基环树直径
  19. html圈c转义符,C 实用教程
  20. 圆球的体积 (10 分) - PTA

热门文章

  1. 其它——Siege压力测试工具使用
  2. 《Software Testing》英文原著阅读 单词
  3. echarts柱状图显示百分比
  4. About 速溶咖啡
  5. idea出现的怪异现象
  6. ftp下载,6步掌握ftp下载软件的使用方法
  7. linux沙箱隔离_为容器提供更好的隔离:沙箱容器技术概览
  8. WebStorm改变字体大小以及更换背景颜色
  9. 让MAC在TouchBar显示网速
  10. 韩寒诉百度文库侵权案分析