Android TextView设置跑马灯失效

news2024/12/28 4:02:05

1.关于问题

TextView失效在网上有详细的解决方案,大部分时候都能够很好的解决问题

下面给出网上的解决方案:

<TextView
    android:layout_width="100dp"
    android:layout_height="22dp"
    tools:text="水浇地放松放松开发的开始放假考试的飞机开了撒酒疯恐龙时代解封了开始的"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:textSize="13sp"
    android:textColor="@color/black"/>

以上就是一个简单的固定宽高的TextView,显然文字的长度超过了控件的宽度

ellipsize属性官方给出的解释如下:

 意思就是使文本中比视图宽度长的单词省略号,而不是在在中间断开。

该属性的枚举值为

public enum TruncateAt {
    START,
    MIDDLE,
    END,
    MARQUEE,
    /**
     * @hide
     */
    @UnsupportedAppUsage
    END_SMALL
}

主要是设置省略号的位置,而其中MARQUEE就是本文要学习的跑马灯效果

2.跑马灯效果

除了在XML布局文件中设置如下属性

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

还需要在代码中设置属性,动态设置的目的是为了请求焦点,在界面刷新的时候也能正常展示跑马灯效果

val textView= findViewById<TextView>(R.id.textView)
textView.text = "放假恐龙时代减肥路上看见发了康师傅就开始两地分居老师到家了客服就是"
textView.ellipsize = TextUtils.TruncateAt.MARQUEE
textView.isSingleLine = true
textView.isSelected = true
textView.isFocusable = true
textView.isFocusableInTouchMode = true

3.特殊情况下的处理

以上是结合官方文档说明和网上大多数解决问题的方案得来的,正常情况下可以完美运行

问题1

当前页面存在多个TextView的情况失效:

相信很多同学在开发过程中都遇到过该问题,尤其是RecyclerView和Adapter结合展示列表,

字符串过长要完整展示的情况很多

如果此时出现了刷新才能展示跑马灯或者部分Item跑马灯效果失效,只显示省略号,

这种情况基本都是控件绘制或者刷新未完成的情况下,设置的跑马灯属性失效,解决方案如下

val textView= findViewById<TextView>(R.id.textVuew)
textView.post {
    textView.text = "放假克里斯多夫就流口水地方康师傅就是了对方开始减肥就是放假克里斯多夫就凉快"
    textView.ellipsize = TextUtils.TruncateAt.MARQUEE
    textView.isSingleLine = true
    textView.isSelected = true
    textView.isFocusable = true
    textView.isFocusableInTouchMode = true
}

控件增加post方法的回调,类似于一个Handler,把控件的刷新和绘制结果通过post方式发送到主线成。

问题2

给TextView设置动态文本,文本内容变化的时间未知,设置定时器给TextView设置文本,导致文本跑马灯在未完成的情况不断重置

这种情况,需要缓存当前文本内容,只有在文本内容发生改变是才设置,否则相同的文本,用定时器设置时会不停重置跑马灯动画。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2107207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入RAG优化:BGE词嵌入全解析与Landmark Embedding新突破

前面已经写过一篇关于Embedding选型的文章,《如何高效选择RAG的中文Embedding模型?揭秘最佳实践与关键标准!》,主要介绍通过开源网站的下载量和测评效果选择Embedding模型。 一、Embedding选型建议与结果 选型建议: 1、大部分模型的序列长度是 512 tokens。8192 可尝试 …

每日最新AIGC进展(59):谷歌提出关键帧插值算法、谷歌研究院提出用实时游戏画面生成算法、中国科学院大学提出复杂场景图像生成算法

Diffusion Models专栏文章汇总&#xff1a;入门与实战 Generative Inbetweening: Adapting Image-to-Video Models for Keyframe Interpolation 本研究提出了一种新颖的关键帧插值方法&#xff0c;旨在生成符合自然运动轨迹的连续视频片段。我们适应了已经训练好的图像到视频扩…

每日OJ_牛客_Emacs计算器(逆波兰表达式)

目录 牛客_Emacs计算器&#xff08;逆波兰表达式&#xff09; 解析代码 牛客_Emacs计算器&#xff08;逆波兰表达式&#xff09; Emacs计算器__牛客网 解析代码 逆波兰表达式(后缀表达式)求值&#xff0c;需要借助栈&#xff0c;思路&#xff1a; 循环输入&#xff0c;获取…

智能制造新纪元:3D协同平台引领前沿创新

随着市场的发展&#xff0c;我们的企业面临两个方面的挑战&#xff1a; 从业务和市场方面来看&#xff0c;为了在竞争中取得更大优势&#xff0c;我们需要以高质且低价的产品赢得消费者的信赖&#xff0c;同时必须有效控制成本、加速产品迭代&#xff0c;缩短产品上市周期&…

Orcad如何更改A4到A3纸,表格填充

1 可以直接从以有的A4纸转到A3 2 选择过滤 1 有电气属性的都选择不了 2 修改元器件名称,改了之后下面有横线

交换机堆叠配置

1.华为S系列交换机 维护宝典 https://support.huawei.com/enterprise/zh/doc/EDOC1100339648/d9b3a94b 2.堆叠方式有两种 2.1.专用堆叠卡 2.2.业务口堆叠-10G光口 主交换机&#xff08;19&#xff0c;20口&#xff09;对应备交换机&#xff08;20,19口&#xff09; 全新设…

OceanBase 4.x 存储引擎解析:如何让历史库场景成本降低50%+

据国际数据公司&#xff08;IDC&#xff09;的报告显示&#xff0c;预计到2025年&#xff0c;全球范围内每天将产生高达180ZB的庞大数据量&#xff0c;这一趋势预示着企业将面临着更加严峻的海量数据处理挑战。随着数据日渐庞大&#xff0c;一些存储系统会出现诸如存储空间扩展…

家用智能水表精度要求是多少?

家用智能水表的精度要求是为了确保水表能够准确计量用户的用水量&#xff0c;避免因计量误差导致的不公平收费或水资源浪费。根据国家标准和行业规范&#xff0c;家用智能水表的精度通常需要达到一定的技术指标&#xff0c;以确保其在不同流量条件下的测量准确性。 一、精度标…

喜讯-惟客数据成为中国信息协会数据要素专委会首批常务理事单位

近日&#xff0c;中国信息协会数据要素专业委员会成立大会暨数据资源开发利用及场景创新主题研讨会在贵阳顺利举行&#xff0c;WakeData惟客数据作为受邀企业出席此次活动&#xff0c;并通过资格审核&#xff0c;成为数据要素专委会首批常务理事单位。 中国信息协会数据要素专委…

Java项目: 基于SpringBoot+mysql学生宿舍管理系统(含源码+数据库+开题报告+毕业论文)

一、项目简介 本项目是一套基于SpringBootmysql学生宿舍管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功…

在线演示文稿应用PPTist本地化部署并实现无公网IP远程编辑PPT

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统环境本地部署开源在线演示文稿应用PPTist&#xff0c;并结合cpolar内网穿透工具实现随时随地远程访问与使用该项目。 PPTist …

CSS解析:盒模型

在网页上实现元素布局涉及很多技术。在复杂网站上&#xff0c;可能会用到浮动元素、绝对定位元素以及其他各种大小的元素&#xff0c;甚至也会使用较新的CSS特性&#xff0c;比如Flexbox或者网格布局。 在此之前我们要打好基础&#xff0c;深刻理解浏览器是如何设置元素的大小…

PHP一站式解决方案高级房产系统小程序源码

一站式解决方案&#xff0c;高级房产系统让房产管理更轻松 &#x1f3e0;【开篇&#xff1a;告别繁琐&#xff0c;迎接高效房产管理新时代】&#x1f3e0; 你是否还在为房产管理的繁琐流程而头疼&#xff1f;从房源录入、客户咨询到合同签订、售后服务&#xff0c;每一个环节…

828华为云征文|华为云Flexus X实例docker部署jdk21最新版jenkins搭建自己的devops服务器

828华为云征文&#xff5c;华为云Flexus X实例docker部署jdk21最新版jenkins搭建自己的devops服务器 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的…

PHP智能匹配轻松预订自习室在线订座系统小程序源码

智能匹配&#xff0c;轻松预订——自习室在线订座系统 &#x1f4da;【开篇&#xff1a;告别排队&#xff0c;迎接智能学习新时代】&#x1f4da; 还在为找不到合适的自习室座位而烦恼吗&#xff1f;是不是每次去图书馆或自习室都要提前好久去排队占位&#xff1f;现在&#…

【计算机方向】IF:10.7,发展势头迅猛,中科院二区TOP神刊!

期刊解析 &#x1f6a9;本 期 期 刊 看 点 &#x1f6a9; 国人发文占比第一&#xff0c;审稿友好 影响因子高 自引率2.8% 今天小编带来计算机领域SCI快刊的解读&#xff01; 如有相关领域作者有意投稿&#xff0c;可作为重点关注&#xff01; 01 期刊信息✦ 期刊名称&am…

GPT-4o在加密货币情绪动态和行为模式应用

本文研究了加密货币相关讨论中的预测性陈述、希望言论和后悔检测行为&#xff0c;旨在通过少量学习和大语言模型&#xff08;如GPT-4o&#xff09;分析投资者的情绪动态和预测行为。该问题的研究难点包括&#xff1a;数据量有限、资源可用性不足、需要准确分类预测性陈述、希望…

Java基于微信小程序的家庭财务管理系统,附源码

博主介绍&#xff1a;✌Java徐师兄、7年大厂程序员经历。全网粉丝13w、csdn博客专家、掘金/华为云等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不…

微深节能 环冷机卸灰小车定位远程控制系统 格雷母线

微深节能环冷机卸灰小车定位远程控制系统中的格雷母线是一种高精度位移测量系统&#xff0c;该系统在环冷机卸灰小车的定位与控制中发挥着关键作用。 一、系统组成 格雷母线系统主要由以下几个核心部分组成&#xff1a; 格雷母线&#xff1a;一种特殊的编码线缆&#xff0c;通常…

RAG挑战来袭:长上下文的LLMs会取代RAG系统吗?

2023年,上下文LLMs窗口一般在4K-8K左右。但是,截至 2024 年 7 月,LLMs上下文窗口超过 128K 的情况很常见。 例如,Claude 2 有一个 100K 的上下文窗口。Gemini 1.5 声称有 2M 的上下文,后来的 LongRoPE 声称将LLM上下文窗口扩展到 200 万个令牌之外。此外,Llama-3–8B-I…