鸿蒙Harmony-Next 实现渐变跑马灯效果

最近在搞鸿蒙开发,有个效果是要实现文字跑马灯效果,便记录做了一个分享

实现步骤

1. 创建组件

首先我们创建一个自定义组件 MarqueeGradientTextView,并在其中定义需要的参数如文本内容、字体大小、字体颜色、渐变角度、渐变开始颜色和结束颜色。

@Component
export default struct MarqueeGradientTextView {@Prop message: ResourceStr = ''; // 显示的文本@Prop fontSize: number = 30; // 字体大小@Prop fontColor: Color = Color.Black; // 字体颜色@Prop gradientAngle: number = 90; // 渐变角度@Prop startColor: Color = Color.Black; // 渐变开始颜色@Prop endColor: Color = Color.Transparent; // 渐变结束颜色build() {Row() {Column() {Text(this.message).width('90%').fontColor(this.fontColor) // 设置动态字体颜色.fontSize(this.fontSize) // 设置动态字体大小.fontWeight(FontWeight.Bold).textOverflow({ overflow: TextOverflow.MARQUEE }) // 跑马灯效果}.blendMode(BlendMode.SRC_IN, BlendApplyType.OFFSCREEN).backgroundColor(Color.Transparent).width('100%')}.width('100%').linearGradient({angle: this.gradientAngle, // 设置动态渐变角度colors: [[this.startColor, 0], [this.startColor.withAlpha(0.2), 0.2],[this.endColor.withAlpha(0.8), 0.8], [this.endColor, 1]]}).blendMode(BlendMode.SRC_OVER, BlendApplyType.OFFSCREEN)}
}

2. 组件参数

组件支持以下参数的自定义:

  • message: 文本内容
  • fontSize: 字体大小,默认为 30
  • fontColor: 字体颜色,默认为 Color.Black
  • gradientAngle: 渐变角度,默认为 90
  • startColor: 渐变开始颜色,默认为 Color.Black
  • endColor: 渐变结束颜色,默认为 Color.Transparent

3. 使用示例

MarqueeGradientTextView({message: '欢迎来到鸿蒙系统',fontSize: 24,fontColor: Color.Red,gradientAngle: 45,startColor: Color.Blue,endColor: Color.Green
})

至此 你便实现了一个自定义渐变效果的跑马灯文本。

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

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

相关文章

Origin2021中文版详尽安装教程、附安装包下载

各位小伙伴们呀~ 今天给大家讲解下origin2021如何安装,相信你按照教程来操作,一定可以安装成功的。 废话不多少,正文开始~ tips:提前推出所有杀毒软件可不相干的软件,以免影响安装。 origin2021中文版安装教程 1.下…

御风于海,向阳而生!第六届中国互联网牛友会圆满落幕

近日,第六届中国互联网牛友会近日在大理实力喜来登酒店圆满落幕,本次盛会吸引了超过五百名行业精英与创业者共襄盛举。大会以“御风于海,向阳而生”为主题,聚焦于互联网出海、AI大模型、新媒体及WEB3等前沿科技与趋势,…

MySQL数据库select语句详细用法三(子查询及其select练习)

SELECT *FROM student2 WHERE age > (SELECT age FROM student2 WHERE NAME 欧阳丹丹) 首先解释一下括号中的代码,意思是在查询student2中的name为欧阳丹丹的人的名字,然后解释一下整个语句的意思:在括号中查询出来的字段中再次进行查询…

VUE3学习---【一】【从零开始的VUE学习】

目录​​​​​​​ 什么是Vue 渐进式框架 创建一个Vue应用 什么是Vue应用 使用Vue应用 根组件 挂载应用 模板语法 文本插值 原始HTML Attribute绑定 简写 同名简写 布尔型Attribute 动态绑定多个值 使用JavaScript表达式 仅支持表达式 指令 Directives 指令…

QString 构建SQL语句可以往数据库中添加“\n“字符串

网上找了很多案例关于怎么样能在Mysql数据库中插入带\n的字符串,如图: 本以为很容易的一件事,没想到思考了半天,在这里记录一下,以为\n是转义字符的原因,所以并不是我想的那么简单。网上有用R(“…

【算法业务】互联网风控业务中的拒绝推断场景算法应用分享(涉及半监督算法、异常检测、变分自编码、样本权重自适应调整、迁移学习等)

1. 业务目标和任务描述 该项目是很早期的一个工作,属于互联网信贷风控场景,研究并应用信贷中的拒绝推断任务,处理方式也许对于目前的一些业务还有参考意义,因此这里做下分享。拒绝推断是指在信贷业务中,利用已知的接受…

《2024 年全球人工智能趋势报告》:GPU、数据架构依然是巨大挑战

导语:对于众多行业用户而言,了解人工智能如何改变行业、如何利用人工智能保持领先地位,已成为一道时代的必答题。全球著名调研机构WEKA近日正式发布《2024 年全球人工智能趋势报告》,该报告基于全球1500名人工智能决策者的深度调查…

【项目】基于 Huffman 算法实现文件压缩

摘要:记录通过学习Huffman算法自主实现简单的文件压缩程序的过程。 什么是文件压缩 在古诗词中,这种信息的高度浓缩体现得淋漓尽致。例如王维的《使至塞上》中的名句 “ 大漠孤烟直,长河落日圆 ”。仅仅十个字,却描绘出了一幅极为…

MoveIt控制机械臂的运动实现——机器人抓取系统基础系列(二)

文章目录 概要1 用户接口和代码案例2 不同的规划类型2.1 关节空间规划2.2 工作空间规划2.3 笛卡尔空间规划 3 MoveIt运行实操4 相关资料推荐小结 概要 MoveIt为开发者提供了针对机械臂的集成化开发平台,由一系列操作相关的功能包组成,包括运动规划、操作…

从 Affine Particle-In-Cell (APIC) 到 Material Point Method (MPM 物质点法)

APIC与MPM Particle-In-Cell (PIC)Affine Particle-In-Cell (APIC)Material Point Method (MPM)关于边界投影等额外操作 Material Point Method (MPM 物质点法)是一种混合欧拉-拉格朗日视角物理仿真方法。 欧拉视角即网格视角,将空间划分为网格,通过表示…

从一到无穷大 #35 Velox Parquet Reader 能力边界

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言源码分析功能描述功能展望 引言 InfluxDB IOX这样完全不使用索引,只…

JavaEE: 深入探索TCP网络编程的奇妙世界(四)

文章目录 TCP核心机制TCP核心机制四: 滑动窗口为啥要使用滑动窗口?滑动窗口介绍滑动窗口出现丢包咋办? TCP核心机制五: 流量控制 TCP核心机制 书接上文~ TCP核心机制四: 滑动窗口 为啥要使用滑动窗口? 之前我们讨论了确认应答策略,对每一个发送的数据段,都要给一个ACK确…

centos7下openssh升级方法(编译安装)

注意: 首先打开两个或以上的shell连接,因为在升级过程中如果升级失败会导致不发新建shell连接;升级后使用xshell6,7连接,openssh版本对应修改,下载地址: https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/por…

Servlet day2(概念理解)

Servlet体系结构 Servlet相关配置 HTTP协议内容

leetcode746. 使用最小花费爬楼梯,动态规划

leetcode746. 使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶…

计算机毕业设计 基于SpringBoot的小区运动中心预约管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

Java笔试面试题AI答之设计模式(4)

文章目录 16. 简述什么是观察者模式?基本概念主要特点实现方式应用场景优缺点 17. 请列举观察者模式应用场景 ?18. 请用Java代码实现观察者模式的案例 ?19. 什么是装饰模式?定义与特点结构与角色工作原理优点应用场景示例 20. 请用…

基于大数据的电子产品需求数据分析系统的设计与实现(Python Vue Flask Mysql)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

【GlobalMapper精品教程】088:按点线面空间位置选择案例

按点线面空间位置选择的原则为:点线面的排列组合。 文章目录 一、选择线要素附近的点二、选择相交或触碰所选线的区和线三、选择包含点的区要素四、选择选定区域内的点要素一、选择线要素附近的点 启动该工具之前,首先要选择线,例如,选择某一段铁路5km范围之内的县城驻地。…

DeepSeek 2.5本地部署的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于大模型算法的研究与应用。曾担任百度千帆大模型比赛、BPAA算法大赛评委,编写微软OpenAI考试认证指导手册。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。授权多项发明专利。对机器学…