大家好,在我们通常的android project中,通常需要用到textview这一个布局文件,并且对于这一个显示布局所需要的文本文字内容。

下面我们就来介绍一种方法来实现在android中用跑马灯的效果来将一行内放不下的text文本表示出来。

首先,我们需要在布局文件中新建一个textview,对他如不进行任何操作将有如下显示:

在demo中的显示为:

感觉有点low,对此textview布局中加入如下布置,就可以实现跑马灯的效果:

其中的:singleLine为设置这个textview将在一行中显示,而不会进行折叠行的效果。

focusable为设置第一个焦点,

focusableInTouchMode为配套focus使用的一个布局,

ellipsize为一个横向滚动的一个效果。

OK,在这里的话运行我们的demo就已经有了跑马灯的效果了。

但是,,,

如果要在一个界面中运行多个跑马灯时,这样显然就不可以了,比如我们开一个Linearlayout的两个textview,那么就只有上面的一个textview有跑马灯的效果,这是因为,我们在第一个textview中就已经默认占用了focusable这个聚焦的参数,那么我们就需要在java代码中来实现这个问题,。

首先,创建一个类MarqureeTextView,它继承的是TextView这个类,利用android studio的强大补全功能,队这歌继承的类创建所包含的三个函数方法,如下所示:

package com.example.liuenshuo.study1;import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;/*** Created by liuenshuo on 2016/11/20.*/
public class MarqureeTextView extends TextView {public MarqureeTextView(Context context) {super(context);}public MarqureeTextView(Context context, AttributeSet attrs) {super(context, attrs);}public MarqureeTextView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);}public MarqureeTextView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {super(context, attrs, defStyleAttr, defStyleRes);}@Overridepublic boolean isFocused(){return true;}
}

其中,最后的isFoused方法为返回所有值都为true。

其次我们要在MainActivity那将要实现跑马灯效果的TextView控件的头部换成这个新建类的“包名.类名”,(因为这个布局文件以及被猪Java文件所引用)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context="com.example.liuenshuo.study1.MainActivity"><com.example.liuenshuo.study1.MarqureeTextView    就是这里。。。android:layout_width="wrap_content"android:layout_height="wrap_content"android:singleLine="true"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:id="@+id/text1"android:textSize="15sp"android:textColor="#981111"android:text="@string/hello_world" /><com.example.liuenshuo.study1.MarqureeTextView  //就是这里。。。android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:layout_below="@+id/text1"android:focusable="true"android:focusableInTouchMode="true"android:ellipsize="marquee"android:singleLine="true"android:textSize="15sp"android:text="@string/hello_world2"/>
</RelativeLayout

最后运行我们的demo,就可以实现如下跑马灯的效果:

好的,这个简单效果就学到这里,谢谢大家。

转载于:https://www.cnblogs.com/zhangch123/p/6087094.html

在android中用跑马灯的效果显示textview相关推荐

  1. Android实现跑马灯效果及问题解决

    今天公司项目让实现一个跑马灯的效果,因为有用户反映总是忘记还款截至时间,于是就要求做一个单条文字横向滚动的效果,用于提示用户. GitHub上找了几个跑马灯的库,本以为可以实现自己想要的效果,不过这个 ...

  2. Android移动应用开发之TextView实现阴影跑马灯文字效果

    文章目录 前言 创建项目 配置文件简介 阴影走马灯文字 values/string.xml values/colors.xml layout/activity_main.xml 法2 main/jav ...

  3. Android 多种跑马灯的方法

    转自http://jsf.iteye.com/blog/680257 http://www.devdiv.com/home.php?mod=space&uid=31865&do=blo ...

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

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

  5. Unity3D制作LED滚动字幕(跑马灯)效果

    Unity3D制作LED滚动字幕(跑马灯)效果 搭建场景 建立世界坐标的Canvas 新建LED模型 Text节点 Mask节点 查看效果 美化一下 编写代码 DOTween插件 设置属性 编写文字滚 ...

  6. html纵向的跑马灯效果,HTML+CSS入门 如何实现跑马灯/走马灯效果

    本篇教程介绍了HTML+CSS入门 如何实现跑马灯/走马灯效果,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实 ...

  7. [html] 如何使用纯HTML实现跑马灯的效果?

    [html] 如何使用纯HTML实现跑马灯的效果? HTML marquee 元素用来插入一段滚动的文字. 但是该元素已废弃. 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一 ...

  8. php实现跑马灯闪亮,JavaScript_基于jquery实现的文字向上跑动类似跑马灯的效果,想实现一个类似跑马灯的效果, - phpStudy...

    基于jquery实现的文字向上跑动类似跑马灯的效果 想实现一个类似跑马灯的效果,发现跑马灯有空格.效果也不美观,于是用jquery写了个 页面代码 恭喜187****5204获得1000RBM 恭喜1 ...

  9. html语言怎么做到走马灯,HTML+CSS入门 如何实现跑马灯/走马灯效果

    本篇教程介绍了HTML+CSS入门 如何实现跑马灯/走马灯效果,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 实现跑马灯的方法很多,其中最简单的是采用一句Html代码来实 ...

  10. android布局跑马灯,androidTextView实现简单的跑马灯效果

    先看效果 下面是布局文件代码 xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo ...

最新文章

  1. Linux 基础学习
  2. CentOS 查看系统 CPU 个数、核心数、线程数
  3. Java程序员从笨鸟到菜鸟之(十二)java异常处理机制
  4. VC中退出应用程序-几种很有用的方法
  5. python基础(part13)--包
  6. 第一批升级鸿蒙系统,鸿蒙系统公开了第一批升级名单,果粉认为不地道
  7. python中index方法详解_Python中的index()方法使用教程
  8. python把某列改为日期格式_如何更改整列的日期格式?
  9. c和指针(小白笔记)
  10. a标签的href属性 download属性
  11. FPGA设计之门控时钟
  12. 第39级台阶python实现
  13. 计算机专业女生跨专业考研考什么好,计算机专业女生,考研,跨专业,考公务员。...
  14. 《Erlang程序设计》第十六章 OTP概述
  15. ubuntu使用certbot给nginx添加ssl证书
  16. php微信公众号报警,Zabbix之微信订阅号平台报警
  17. android实现定位打卡,基于Android的移动定位课堂考勤系统设计与实现
  18. [转]MySQL整数数据的精确数字数据类型
  19. Linux 开发环境工具 下载网址大全 --转
  20. Win10电脑老是自动下载乱起八糟的应用?篡改浏览器主页?解决方法

热门文章

  1. Java一个月学到springboot_从零开始学SpringBoot如何开始使用图文详解
  2. iOS设计模式解析(五)责任链模式
  3. JavaScript函数实例(一)
  4. 生产环境中CentOS5.6下配置LVS(续)
  5. 值类型和引用类型小解
  6. 【Hibernate】ch01Demo
  7. avue 文字点击 弹窗_目前最好用的文字转语音、视频配音方法,一键合成,智能黑科技...
  8. linux的使用 --- 安装node和express
  9. IO流的详细描述,字节流的文件操作,以及IO的异常描述处理,字符流的文件操作
  10. 使用git向远程库发布项目和下载项目步骤,结合gitee部署远程库,HTTPS\SHH上传下载情况详解