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

devtools/2024/9/22 15:10:30/

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

实现步骤

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.ppmy.cn/devtools/115518.html

相关文章

十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能

十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能 文章目录 十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能1. Druid 的基本介绍2. 准备工作:3. Druid 监控功能3.1 Druid 监控功能 —— Web 关联监控3.2 Druid 监控功能 —— SQL…

【数据结构】数据结构系列学习笔记——导航篇

一:概述 数据结构是计算机科学中的核心概念之一,是优化算法性能和资源利用率的关键。在软件开发和数据处理中,选择合适的数据结构对于算法的效率至关重要。数据结构的选择通常基于数据的使用模式,包括数据元素之间的关系、数据的存…

Redis 缓存雪崩、缓存穿透、缓存击穿详解

缓存雪崩 缓存雪崩指的是大量缓存数据在同一时间失效,导致所有请求直接打到数据库或下游系统,造成数据库瞬时压力剧增,甚至可能引发系统崩溃。 形成原因: 缓存数据同时过期:由于缓存过期时间设置不合理,…

计算组合数

1.递推 #include<bits/stdc.h> #include<unordered_map> #include<unordered_set> using namespace std; #define int long long //可能会超时 #define PII pair<int,int> const int INF 0x3f3f3f3f, mod 1e9 7; const int N 2005; int a, b,n; …

《MmAP : Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning》中文校对版

系列论文研读目录 文章目录 系列论文研读目录摘要1 引言2 相关工作3 方法3.1对比图像预训练3.2 多模式对齐提示3.3 多任务提示学习框架 4 实验4.1基准设置4.2实验结果4.3消融研究 5、结论 摘要 多任务学习&#xff08;Multi-Task Learning&#xff0c;MTL&#xff09;是为了同…

MySQL高阶1919-兴趣相同的朋友

题目 请写一段SQL查询获取到兴趣相同的朋友。用户 x 和 用户 y 是兴趣相同的朋友&#xff0c;需满足下述条件&#xff1a; 用户 x 和 y 是朋友&#xff0c;并且用户 x and y 在同一天内听过相同的歌曲&#xff0c;且数量大于等于三首. 结果表 无需排序 。注意&#xff1a;返…

获取STM32 MCU的唯一ID

STM32每个系列都会有唯一的一个芯片序列号&#xff08;96位bit&#xff09; STM32F10X 的起始地址是 0x1FFFF7E8 STM32F20X 的起始地址是 0x1FFF7A10 STM32F30X 的起始地址是 0x1FFFF7AC STM32F40X 的起始地址是 0x1FFF7A10 STM32L0XX 的起始地址是 0x1FF80050 STM32L1XX 的起…

浏览器插件利器--allWebPluginV2.0.0.20-stable版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…