第九节HarmonyOS 常用基础组件22-Marquee

news/2024/7/21 11:20:50 标签: harmonyos, 前端, openHarmony

1、描述

跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。

2、接口

Marquee(value:{start:boolean, step?:number, loop?:number, fromStart?: boolean ,src:string})

3、参数

参数名

参数类型

必填

描述

start

boolean

控制跑马灯是否进入播放状态。

step

number

滚动动画文本滚动步长。默认值:6、单位vp。

loop

number

设置重复滚动的次数,小于等于0时无限循环。默认值:-1。

fromStart

boolean

设置文本从头开始滚动还是反向滚动。默认值:true。

src

string

需要滚动的文本。

4、属性

 allowScale - boolean - 是否允许文本缩放。默认值:false。

5、事件

onStart(event:() => void) - 开始滚动时触发回调。

onBounce(event:() => void) - 完成一次滚动时触发回调,若循环次数不为1,则该事件会多次触发。

onFinish(event:() => void) - 滚动全部循环次数时触发回调。

6、示例

import router from '@ohos.router'

@Entry
@Component
struct MarqueePage {
  @State message: string = '跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。'
  @State isStart: boolean = false;
  @State step: number = 6;
  @State loopNum: number = -1;
  @State fromStart: boolean = true;

  build() {
    Row() {
      Scroll() {
        Column() {
          Text(this.message)
            .fontSize(20)
            .fontWeight(FontWeight.Bold)
            .width("96%")

          Blank(12)
          Marquee({
            start: this.isStart, // 控制跑马灯是否进入播放状态
            step: this.step, // 滚动动画文本滚动步长,即速度
            loop: this.loopNum, // 设置重复滚动的次数,小于等于0时无限循环
            fromStart: this.fromStart, // 设置文本从头开始滚动还是反向滚动
            src: this.message // 需要滚动的文本
          })
            .width("96%")
            .height(60)
            .fontColor('#FFFFFF')
            .fontSize(36)
            .fontWeight(700)
            .backgroundColor('#182431')
            .onStart(() => {
              console.info('Marquee animation complete onStart')
            })
            .onBounce(() => {
              console.info('Marquee animation complete onBounce')
            })
            .onFinish(() => {
              console.info('Marquee animation complete onFinish')
            })
          Blank(12)
          Row() {
            Button('Start')
              .onClick(() => {
                this.isStart = true
              })
              .width(100)
              .height(40)
              .fontSize(16)
              .fontWeight(500)
              .backgroundColor('#007DFF')

            Button('step')
              .onClick(() => {
                this.step = 16
              })
              .width(100)
              .height(40)
              .fontSize(16)
              .fontWeight(500)
              .margin({ left: 16 })
              .backgroundColor('#007DFF')

            Button('fromStart')
              .onClick(() => {
                this.fromStart = false
              })
              .width(100)
              .height(40)
              .fontSize(16)
              .fontWeight(500)
              .margin({ left: 16 })
              .backgroundColor('#007DFF')
          }

          Blank(12)
          Button("Marquee文本文档")
            .fontSize(20)
            .backgroundColor('#007DFF')
            .width('96%')
            .onClick(() => {
              // 处理点击事件逻辑
              router.pushUrl({
                url: "pages/baseComponent/marquee/MarqueeDesc",
              })
            })
          Blank(12)

        }
        .width('100%')
      }
    }
    .padding({ top: 12, bottom: 12 })
  }
}

7、效果图


http://www.niftyadmin.cn/n/5359007.html

相关文章

Linux ubuntu 20.4.6安装docker

这边需要在vm中使用docker,记录下 1.更新系统包列表 确保您的系统包列表是最新的 sudo apt update 2.安装依赖工具 sudo apt install apt-transport-https ca-certificates curl software-properties-common 3.添加Docker GPG密钥 curl -fsSL https://downloa…

C++:异常体系

异常体系 异常1.C语言传统的处理错误的方式2.C异常概念3.异常的使用3.1异常的抛出和捕获3.2 异常的重新抛出3.3异常安全3.4 异常规范 4.C标准库的异常体系5.异常的优缺点 异常 1.C语言传统的处理错误的方式 终止程序,如assert,缺陷:用户难以…

分布式事务(六)—— 最大努力通知的解决方案

系列目录: 《分布式事务(一)—— 事务的基本概念》 《分布式事务(二)—— CAP和Base理论》 《分布式事务(三)—— 两阶段提交解决方案(2PC)》 《分布式事务&#xff0…

RK35XXbuildroot构建的文件系统使用openssh替代dropbear

RK35XX的SDK里 bulidroot 默认的SSH RK35XX SDK 中 bulidroot 构建的根文件系统里 SSH 默认使用轻量级的 dropbear;项目在实际使用的过程中需要使用 openssh ;所以我们就配置一下 buildroot 以使用 openssh 来替代 dropbear. openssh 和 dropbear 先简单了解一下…

【初中生讲机器学习】3. 支持向量机(SVM)一万字详解!超全超详细超易懂!

创建时间:2024-01-31 最后编辑时间:2024-02-01 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名初三学生,热爱计算机和数学,我们一起加…

人工智能基础-Numpy矩阵运算-聚合操作

加、减、乘、除、整除 幂、取余、倒数、绝对值 三角函数 e的x次方、3的x次方、logx、log2为底、log10为底 矩阵运算 加、减、乘(对应数相乘)、矩阵相乘运算、转至 向量和矩阵的运算 加法 对应相加 改变维度后相加 乘法 矩阵的逆 聚合操作 …

ECRS软件:引领企业走向精益制造的未来

随着科技的快速发展和市场竞争的不断加剧,制造业正面临着前所未有的挑战和机遇。为了在激烈的市场竞争中立于不败之地,越来越多的企业开始寻求转型和升级,精益制造成为了一个备受关注的方向。而在这个过程中,ECRS软件以其独特的作…

PHP的线程安全与非线程安全模式选哪个

曾经初学PHP的时候也很困惑对线程安全与非线程安全模式这块环境的选择,也未能理解其中意。近来无意中看到一个教程对线程安全(饿汉式),非线程安全(懒汉式)的描述,虽然觉得现在已经能够很明了透彻…