跑馬燈組件

2024-01-22 17:12 更新

跑馬燈組件,用于滾動展示一段單行文本,僅當(dāng)文本內(nèi)容寬度超過跑馬燈組件寬度時(shí)滾動。

說明

該組件從API Version 8開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

子組件

接口

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

從API version 9開始,該接口支持在ArkTS卡片中使用。

參數(shù):

參數(shù)名

參數(shù)類型

必填

參數(shù)描述

start

boolean

控制跑馬燈是否進(jìn)入播放狀態(tài)。

說明:

有限的滾動次數(shù)播放完畢后,不可以通過改變start重置滾動次數(shù)重新開始播放。

step

number

滾動動畫文本滾動步長。

默認(rèn)值:6,單位vp

loop

number

設(shè)置重復(fù)滾動的次數(shù),小于等于零時(shí)無限循環(huán)。

默認(rèn)值:-1

說明:

ArkTS卡片上該參數(shù)設(shè)置任意值都僅在可見時(shí)滾動一次。

fromStart

boolean

設(shè)置文本從頭開始滾動或反向滾動。

默認(rèn)值:true

src

string

需要滾動的文本。

屬性

除支持文本通用屬性:fontColor、fontSize、fontWeight、fontFamily外,還支持以下屬性:

名稱

參數(shù)類型

描述

allowScale

boolean

是否允許文本縮放。

暫不支持該接口。

默認(rèn)值:false

事件

名稱

功能描述

onStart(event: () => void)

開始滾動時(shí)觸發(fā)回調(diào)。

從API version 9開始,該接口支持在ArkTS卡片中使用。

onBounce(event: () => void)

完成一次滾動時(shí)觸發(fā),若循環(huán)次數(shù)不為1,則該事件會多次觸發(fā)。

從API version 9開始,該接口支持在ArkTS卡片中使用。

onFinish(event: () => void)

滾動全部循環(huán)次數(shù)完成時(shí)觸發(fā)回調(diào)。

從API version 9開始,該接口支持在ArkTS卡片中使用。

示例

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct MarqueeExample {
  5. @State start: boolean = false
  6. private fromStart: boolean = true
  7. private step: number = 50
  8. private loop: number = Infinity
  9. private src: string = "Running Marquee starts rolling"
  10. build() {
  11. Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
  12. Marquee({
  13. start: this.start,
  14. step: this.step,
  15. loop: this.loop,
  16. fromStart: this.fromStart,
  17. src: this.src
  18. })
  19. .width(360)
  20. .height(80)
  21. .fontColor('#FFFFFF')
  22. .fontSize(48)
  23. .fontWeight(700)
  24. .backgroundColor('#182431')
  25. .margin({ bottom: 40 })
  26. .onStart(() => {
  27. console.info('Marquee animation complete onStart')
  28. })
  29. .onBounce(() => {
  30. console.info('Marquee animation complete onBounce')
  31. })
  32. .onFinish(() => {
  33. console.info('Marquee animation complete onFinish')
  34. })
  35. Button('Start')
  36. .onClick(() => {
  37. this.start = true
  38. })
  39. .width(120)
  40. .height(40)
  41. .fontSize(16)
  42. .fontWeight(500)
  43. .backgroundColor('#007DFF')
  44. }
  45. .width('100%')
  46. .height('100%')
  47. }
  48. }

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號