我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android中使用TextView实现文字跑马灯效果

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android中使用TextView实现文字跑马灯效果

通常情况下我们想实现文字的走马灯效果需要在xml文件中这样设置


<TextView 
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:singleLine="true" 
  android:ellipsize="marquee" 
  android:focusable="true" 
  android:focusableInTouchMode="true" 
  android:text="@string/lyric" /> 

大家都懂的就不解释了。

singleLine :boolean型的是否让文字只显示在一行而不是多行显示

ellipsize:滚动效果,里面有(none,start,middle,end,marquee),其中none表示正常显示文字,即使一行显示不完全,也无任何效果。star,就是假如文字在一行显示不完全,在开头显示...,同理,end一行的最后一个文字后面加...,middle就是所有文字显示在一行,如果文字太多,在中间加入...。可能我解释的不清楚,大概就是这样 读者可以自己测试一下。至于marquee就是文字走马灯效果啦。

当然,如果你只设置了这些文字还是不会滚动的。还要使TextView获取焦点。

focusable:是否能够焦点,boolean型的

focusableInTouchMode:boolean型的。

在触摸模式下是否获取焦点。

当你设置了这些部署在手机上,很明显会实现走马灯效果。效果如下:

可是如果你在这个Activity实例中再添加一个编辑框控件,点击编辑框后就会发现走马灯效果消失了.

就像这样

这是为什么呢?

因为点击编辑框,编辑框会获取屏幕焦点,由于通常情况下屏幕的焦点只能有一个,TextView失去了焦点,也就不会滚动了。这时候我们要怎么办呢?

那就欺骗系统呗。告诉它我们的TextView也是有焦点的。没错 两个焦点。

如何做?我们就新建一个我们自己的TextView呗。

首先我们新建一个名为MyTextView继承TextView的类,重写里面的方法,其中有三个方法是必须的,就像我们总在MainActivity里面重写OnCreate方法一样,作用是什么 我也不清楚。好奇的同学请百度。哈哈~

我们要知道系统是如何判断一个控件是否获取焦点了呢?


public boolean isFocused() { 
  // TODO Auto-generated method stub 
  return super.isFocused(); 
} 

就是这个方法。前面说了 我们要欺骗系统 我们的TextViwe是有焦点的。所以我们在这个方法里面一直return true就好了 哈哈  是不是特流氓。。。

做完了这些别忘记把我们的TextView部署到布局文件中哦

布局代码:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:orientation="vertical" > 
  <com.example.textview.MyTextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" 
    android:singleLine="true" 
    android:text="@string/lyric" /> 
  <EditText 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 
</LinearLayout> 

MainActivity.class


package com.example.textview; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
public class MainActivity extends Activity { 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
  } 
} 

MyTextView.class


package com.example.textview; 
import android.content.Context; 
import android.util.AttributeSet; 
import android.view.WindowId.FocusObserver; 
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-generated method stub 
    return true; 
  } 
} 

对了 附上效果图。都看到光标在编辑框了~

您可能感兴趣的文章:Android 中TextView中跑马灯效果的实现方法Android TextView实现跑马灯效果的方法Android实现跑马灯效果的方法Android自定义View实现竖直跑马灯效果案例解析Android实现图文垂直跑马灯效果Android自定义textview实现竖直滚动跑马灯效果Android跑马灯MarqueeView源码解析Android基于TextView不获取焦点实现跑马灯效果Android基于TextView属性android:ellipsize实现跑马灯效果的方法Android自定义图文跑马灯效果


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android中使用TextView实现文字跑马灯效果

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android中使用TextView实现文字跑马灯效果

通常情况下我们想实现文字的走马灯效果需要在xml文件中这样设置
2022-06-06

Android使用TextView跑马灯效果

老规矩,先上图看效果。说明TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果。 其实,TextView实现跑马灯效果很简单,因为官方已经实现了,你
2022-06-06

Android中怎么用TextView实现跑马灯效果

这篇“Android中怎么用TextView实现跑马灯效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android中怎么
2023-06-29

Android TextView跑马灯效果实现方法

本文实例讲述了Android TextView跑马灯效果实现方法。分享给大家供大家参考,具体如下:public class MyTextView extends TextView{public MyTextView(Context cont
2022-06-06

在Android中使用TextView实现一个跑马灯效果

本篇文章为大家展示了在Android中使用TextView实现一个跑马灯效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 条件:1、android:ellipsize=”marquee”2、Tex
2023-05-31

Android基于TextView实现跑马灯效果

本文实例为大家分享了Android TextView实现跑马灯效果的具体代码,供大家参考,具体内容如下当Layout中只有一个TextView需要实现跑马灯效果时,操作如下。 在Layout的TextView配置文件中增加
2022-06-06

android中怎么利用TextView实现跑马灯效果

这篇文章给大家介绍android中怎么利用TextView实现跑马灯效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、要点设置四个属性android:singleLine="true"android:ellipsi
2023-05-31

Android 中TextView中跑马灯效果的实现方法

条件: 1、android:ellipsize=”marquee” 2、TextView必须单行显示,即内容必须超出TextView大小 3、TextView要获得焦点才能滚动 mTVText.setText(“超过文本长度的数据");
2022-06-06

怎么在Android中利用TextView实现跑马灯效果

怎么在Android中利用TextView实现跑马灯效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MainActivitypackage com.example.jun
2023-06-15

Android基于TextView实现的跑马灯效果实例

本文实例讲述了Android基于TextView实现的跑马灯效果。分享给大家供大家参考,具体如下:package sweet.venst.act; import java.io.BufferedReader; import java.io.
2022-06-06

Android用过TextView实现跑马灯效果的示例

以前就遇到过这个问题,今天重新拾起来。跑马灯效果其实就是当文字超过TextView控件宽度的时候,使用滚动的方式显示出来:方法1:(直接xml搞定)Android系统中TextView实现跑马灯效果,必须具备以下几个条件: 1、androi
2023-05-30

如何在Android中利用TextView实现一个跑马灯效果

本篇文章为大家展示了如何在Android中利用TextView实现一个跑马灯效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android自带的跑马灯效果不太好控制,还必须要满足条件才能有效果,而
2023-05-31

怎么在Android中利用TextView实现一个跑马灯效果

这期内容当中小编将会给大家带来有关怎么在Android中利用TextView实现一个跑马灯效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。TextView的跑马灯效果也就是指当你只想让TextView单
2023-05-31

Android基于TextView不获取焦点实现跑马灯效果

本文实例讲述了Android基于TextView不获取焦点实现跑马灯效果。分享给大家供大家参考,具体如下: 1. 写一个类继承TextViewpackage com.example.tt; import android.content.Co
2022-06-06

Android自定义跑马灯文字效果

本文实例为大家分享了Android自定义跑马灯文字的具体代码,供大家参考,具体内容如下 Android 跑马灯效果文字: 效果图(真实动画很流畅,这个转gif有问题,感觉有点卡):代码:/*** Created by wuguanglian
2022-06-06

TextView实现跑马灯效果 就这么简单!

一、方法这里我们用两种方法来实现跑马灯效果,虽然实质上是一种实质就是:1、TextView调出跑马灯效果2、TextView获取焦点 第一种:1、TextView调出跑马灯效果android:ellipsize="marquee"2、Tex
2023-05-30

Android中设置文字跑马灯效果不动

在跟着B站Up主天哥在奔跑,学习Android的TextView控件时,想要实现一个跑马灯效果,但是按照视频中的代码发现文字是不会动的。视频中的代码如下:然后经过弹幕的提醒,可能是跑马效果所需要的焦点被其他控件抢走了,于是,在onCreat
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录