`
xlover
  • 浏览: 244406 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何实现TextView的Marquee效果

 
阅读更多

往往看到一些应用的标题栏中当标题超出时便会自动滚动

这篇文章要讲的就是如何去实现TextView的Marquee效果

其实TextView已经自带了如何实现滚动的属性

 

 

android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"

 通过上面的属性设置就能让TextView滚动起来。当然也可以通过代码去设置。


但是当设置完之后发现并没有滚动起来,原来TextView滚动的前提是这个空间必须要获得焦点。TextView需要必须处于focus状态。


在TextView的父类View中有一个方法isFocused(),系统通过这个方法去判断一个空间是否获得焦点。

所以我们就有了解决方案:

写一个子类继承TextView,重写isFocused()方法,直接返回true。当通过这个函数去判断TextView有没有获得焦点时,总是返回获得焦点于是我们的TextView就开始滚动起来了。代码很简单:

public class AlwaysMarqueeTextView extends TextView {

    /**
     * constructor
     * @param context Context
     */
    public AlwaysMarqueeTextView(Context context) {
          super(context);
    }

    /**
     * constructor
     * @param context Context
     * @param attrs AttributeSet
     */
    public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
          super(context, attrs);
    }

    /**
     * constructor
     * @param context Context
     * @param attrs AttributeSet
     * @param defStyle int
     */
    public AlwaysMarqueeTextView(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
    }

    
    @Override
    public boolean isFocused() {
          return true;
    }
    }
 
分享到:
评论

相关推荐

    Android 实现TextView上下滚动效果

    在Android开发中,实现TextView的上下滚动效果可以让信息在有限的空间内持续展示,提升用户体验。以下将详细讲解如何实现这一功能。 首先,我们要明白TextView是Android SDK中的一个基础组件,用于显示单行或多行...

    Android实现TextView文字滚动.zip

    然而,当TextView中的文本内容超出显示区域时,我们有时需要实现文本的滚动效果,以便用户可以查看全部内容。本教程将深入讲解如何在Android中实现TextView的文字滚动功能。 首先,我们要了解TextView的两种滚动...

    android三种方式实现TextView跑马灯效果

    本篇文章将详细讲解三种实现TextView跑马灯效果的方法。 ### 1. 使用`ellipsize`属性 #### 1.1 XML布局配置 首先,在XML布局文件中,可以通过设置`ellipsize`属性为`marquee`来开启跑马灯效果。同时,`singleLine...

    实现textView 跑马灯效果

    要实现TextView的跑马灯效果,通常需要结合Android的属性和自定义布局来完成。以下是详细步骤和相关知识点: 1. **设置Ellipsize属性**: TextView有一个名为`ellipsize`的属性,它允许我们在文本过长时添加省略号...

    Android中TextView的常用效果实现

    跑马灯效果可以通过设置`ellipsize`属性为`marquee`并启用`singleLine`模式来实现。但请注意,这种效果只有在TextView的宽度小于其内容的宽度且焦点在TextView上时才会生效。下面是如何设置的代码: ```xml ...

    使用TextView实现跑马灯效果

    本教程主要围绕如何在Android中使用`TextView` 实现跑马灯效果展开。首先,我们需要了解`TextView` 的基本属性和设置方法。在XML布局文件中,我们可以这样创建一个`TextView`: ```xml <TextView android:id="@+id...

    Android TextView Marquee的应用实例详解

    总之,Android TextView的Marquee效果可以通过设置特定的XML属性和Java代码来实现。尽管存在一些已知的兼容性问题,但通过上述方法,开发者可以在大多数设备上实现文本的跑马灯滚动效果。在实践中,不断学习和跟踪...

    TextView 实现文字滚动播放效果效果(跑马灯)

    下面我们将详细探讨如何实现`TextView`的文字滚动播放效果。 1. **设置属性** 要实现跑马灯效果,首先需要在XML布局文件中设置`TextView`的相关属性。关键属性包括: - `android:singleLine="true"`:限制`...

    简单的textview 跑马灯效果 可直接使用

    "跑马灯效果"(Marquee)是TextView的一种特殊滚动效果,它允许文本在TextView的边界内无限循环滚动,给人一种连续移动的视觉效果。 实现TextView的跑马灯效果主要涉及到以下知识点: 1. **属性设置**: - `...

    Android实现在TextView文字过长时省略部分或滚动显示的方法

    4. `ellipsize="marquee"`:启用跑马灯效果,文本会在TextView内横向滚动,适用于单行显示且需要突出滚动效果的场景。 对于跑马灯效果,还需要配合以下属性: - `android:singleLine="true"`:设置为单行显示,以便...

    TextView上下滚动效果

    要实现`TextView`的上下滚动效果,我们可以利用`TextView`的`marquee`属性和`ellipsize`属性。首先,`marquee`属性使文本像跑马灯一样左右移动,而`ellipsize`属性则用于在文本超出`TextView`宽度时添加省略号。不过...

    实现textView跑马灯

    在Android开发中,"实现textView跑马灯"是一种常见的需求,它可以用来展示滚动的文字效果,类似于霓虹灯或LED显示屏。跑马灯效果通常用于显示较长的文本,当文本长度超过TextView的显示范围时,文本会自动从一端滚动...

    android TextView 跑马灯效果

    实现TextView的跑马灯效果主要涉及到两个关键属性:`android:singleLine`和`android:ellipsize`。`android:singleLine`属性使得TextView只显示一行文本,超出部分会被隐藏;而`android:ellipsize`属性则定义了超出...

    androidTextView实现跑马灯的效果

    当需要创建一种滚动文本效果,即常说的“跑马灯”效果时,我们可以利用`TextView`的一些特定属性来实现。跑马灯效果通常用于显示长度超过视图宽度的文本,使得文本能够持续滚动,给用户带来动态视觉体验。 标题和...

    textview跑马灯效果

    在Android开发中,TextView是用于显示单行或多行文本的视图组件,而"跑马灯效果"(Marquee)是一种特殊的效果,使得文本在TextView中像跑马灯一样不断滚动,尤其适用于显示过长的单行文本。这种效果通常在标题或者...

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

    本文将详细介绍如何使用Android的TextView控件实现这一效果。 首先,TextView是Android中最基础的文本展示组件,它可以显示单行或多行文本。当文本过长无法完全显示时,可以通过调整其属性来实现跑马灯效果。关键...

    安卓textView相关-通过改变TextView实现跑马灯效果并且触摸滑动时可以拖动文字.rar

    本资源探讨的是如何利用TextView实现一种特殊效果——跑马灯效果,并且增加了一个额外的功能:当用户触摸并滑动时,可以拖动显示的文字。这个功能对于创建动态、互动的UI界面十分有用。 跑马灯效果,又称滚动文字...

    Android自定义TextView实现跑马灯效果

    本文将深入探讨如何实现一个自定义TextView,以实现跑马灯效果。跑马灯效果常见于滚动显示文字,尤其在屏幕空间有限时,它能有效地展示长文本。 首先,我们需要创建一个新的Java类,继承自Android内置的TextView类...

    TextView实现跑马灯效果

    好像跑马灯这种效果已经不用咱们来实现了 呵呵 不过有一点 如果文字不过长 在组件的范围内 还想要跑马灯的效果怎么办呢 当然的自己自定义啦 那还能怎么做 哈哈 ">android:ellipsize设置当文字过长时 该控件该如何...

    TextView实现上线滚动

    总之,`TextView`的滚动效果可以通过开启`marquee`、设置动画或者自定义滚动逻辑来实现。在实际开发中,可以根据需求选择合适的方法,以达到理想的效果。记得在测试过程中调整滚动速度、重复次数等参数,以保证用户...

Global site tag (gtag.js) - Google Analytics