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

发布时间 - 2026-01-11 02:43:18    点击率:

以前就遇到过这个问题,今天重新拾起来。

跑马灯效果其实就是当文字超过TextView控件宽度的时候,使用滚动的方式显示出来:

方法1:(直接xml搞定)

Android系统中TextView实现跑马灯效果,必须具备以下几个条件:

1、android:ellipsize=”marquee”;

2、TextView必须单行显示,且内容必须超出TextView宽度;

3、TextView要获得焦点才能滚动。

xml代码如下:

  <TextView
   android:id="@+id/alarm_location"
   android:layout_width="20dp"
   android:padding="@dimen/space_4"
   android:layout_height="wrap_content"
   app:layout_rowWeight="2"
   app:layout_columnWeight="2"
   android:text="0"
   android:ellipsize="marquee"
   android:focusableInTouchMode="true"
   android:singleLine="true"
   android:focusable="true"/>

其中:ellipsize属性指的是文字长度超过TextView的长度的时候的显示方式,具体参数有

**Android:ellipsize=”start”—–省略号显示在开头 “…pedia”

android:ellipsize=”end”——省略号显示在结尾 “encyc…”

android:ellipsize=”middle”—-省略号显示在中间 “en…dia”

android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)**

方法2(自定义控件)

我看了自己以前的实现方式是这样,也许在低版本的平台上第一种方式适配不好吧。如果达不到要求可以试试这种方式。

TextVeiwSlide.Java 

package edu.hrbeu.ice.mobilecar.widget;

import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;

/**
 * @author 编写人: xiaox
 * @date 创建时间: 2017/1/10
 * @Description 功能描述: 该类
 */

public class TextViewSlide extends TextView {
 public TextViewSlide(Context context) {
  super(context);
 }

 public TextViewSlide(Context context, AttributeSet attrs) {
  super(context, attrs);
 }

 @Override
 public boolean isFocused() {
  return true;
 }
}

activity_main.xml 

 <edu.hrbeu.ice.mobilecar.widget.TextViewSlide
  android:id="@+id/alarm_type"
  android:layout_width="@dimen/item_width"
  android:layout_height="wrap_content"
  android:gravity="center_horizontal"
  android:layout_gravity="center_vertical"
  android:layout_weight="1"
  android:padding="8dp"
  android:marqueeRepeatLimit="marquee_forever"
  android:ellipsize="marquee"
  android:scrollHorizontally="true"
  android:focusableInTouchMode="true"
  android:singleLine="true"
  tool:text="asda" />

可以看到第二种方式也就是在自定义控件中获取了该控件的焦点。感觉和第一种没有区别。

目前在android7.1.1和android4.4上实验两种方法都没有问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# textview跑马灯效果  # textview跑马灯  # textview实现跑马灯  # Android文本视图TextView实现跑马灯效果  # android使用TextView实现跑马灯效果  # Android自定义textview实现竖直滚动跑马灯效果  # android TextView实现跑马灯效果  # Android用TextView实现跑马灯效果代码  # 自定义  # 第一种  # 跑马灯  # 几个  # 是在  # 也就  # 是这样  # 两种  # 这个问题  # 可以看到  # 好吧  # 指的是  # 达不到  # 前就  # 第二种  # 遇到过  # 拾起  # 大家多多  # 必须具备  # 写人 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何生成腾讯云建站专用兑换码?  如何快速配置高效服务器建站软件?  JavaScript模板引擎Template.js使用详解  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  网站建设要注意的标准 促进网站用户好感度!  如何快速启动建站代理加盟业务?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  微信小程序 闭包写法详细介绍  在centOS 7安装mysql 5.7的详细教程  Laravel怎么实现模型属性的自动加密  Python文件操作最佳实践_稳定性说明【指导】  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  历史网站制作软件,华为如何找回被删除的网站?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel集合Collection怎么用_Laravel集合常用函数详解  IOS倒计时设置UIButton标题title的抖动问题  Laravel如何实现一对一模型关联?(Eloquent示例)  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  javascript中的try catch异常捕获机制用法分析  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel如何生成URL和重定向?(路由助手函数)  详解Android中Activity的四大启动模式实验简述  如何用低价快速搭建高质量网站?  Laravel Fortify是什么,和Jetstream有什么关系  网站制作大概多少钱一个,做一个平台网站大概多少钱?  魔方云NAT建站如何实现端口转发?  北京专业网站制作设计师招聘,北京白云观官方网站?  HTML 中动态设置元素 name 属性的正确语法详解  Python高阶函数应用_函数作为参数说明【指导】  怎么用AI帮你为初创公司进行市场定位分析?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel API资源类怎么用_Laravel API Resource数据转换  如何在 React 中条件性地遍历数组并渲染元素  北京网站制作的公司有哪些,北京白云观官方网站?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel Docker环境搭建教程_Laravel Sail使用指南  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  三星、SK海力士获美批准:可向中国出口芯片制造设备