HarmonyOS interface router scale pageTransition SlideEffect.Left ArkTS ArkUI

🎬️create

typescript 复制代码
@Component
export  default struct TitleBar {
   build(){
     Row(){
       Text('transition')
         .fontSize('30fp')
         .fontColor(Color.White)
     }
     .width('100%')
     .height('8%')
     .backgroundColor('#4169E1')
     .padding({left:10})

   }

}

🎞️interface

typescript 复制代码
export  interface IList{
  title:string;
  url :string;
}
typescript 复制代码
  @State listData:IList[]=[ //  @State listData:Array<IList>=[
    {
      title:'in',
      url:'pages/home1'
    },
    {
    title:'scale',
    url:'pages/home2'
    },
    {
      title:'small',
      url:'pages/home3'
    },
    {
      title:'in',
      url:''
    }
  ]

💡foreach

typescript 复制代码
   ForEach(this.listData,( item: IList,index?:number)=>{

          //listitem
          Button({type:ButtonType.Capsule}){
            Text(item.title)
              .fontSize('35fp')
              .fontColor(Color.White)
          }
          //...
          })

🔦router

typescript 复制代码
import router from '@ohos.router'

📼mainpage

typescript 复制代码
  "pages/home1"

📹️onclick

typescript 复制代码
 .onClick(()=>{
            //router
            router.pushUrl({url:item.url})
          })

📺️setInterval

typescript 复制代码
//home1  page1
import  router from '@ohos.router'
@Entry
@Component
struct Index {

  @State TOTAL_TIME:number = 6;//s
  @State FIRST_CT:number =3;//s

  aboutToAppear(){
    //timer
   let timer=   setInterval(()=>{
      this.TOTAL_TIME--;
      if(this.TOTAL_TIME===0){
        //end
        router.pushUrl({
          url:"pages/Index"
        })
        clearInterval(timer);
      }
    },1000)
  }


  build() {

      Column() {
        Row() {
          if(this.TOTAL_TIME>this.FIRST_CT){
              //1
            Image($r('app.media.t2'))
              .objectFit(ImageFit.Contain)
          }else if(this.TOTAL_TIME<this.FIRST_CT) {
              //2
            Image($r('app.media.bc'))
              .objectFit(ImageFit.Contain)
              .width('30%')
            Text(' - m - ')
              .fontSize('30fp')
          }

        }
        .width('100%')
        .height('100%')
        .justifyContent(FlexAlign.Center)

          // Text('in')
          //   .fontSize('50fp')
      }
      .width('100%')


  }
}

📽️TransitionEnter scale

typescript 复制代码
//home2 page2
  @State scale1: number = 1
  @State opacity1: number = 1
//...
   Column()
.scale({ x: this.scale1 }).opacity(this.opacity1)
//...
 pageTransition() {
    PageTransitionEnter({ duration: 1200, curve: Curve.Linear })
      .onEnter((type: RouteType, progress: number) => {
        this.scale1 = 1
        this.opacity1 = progress
      }) // onEnter (0% -- 100%)
    PageTransitionExit({ duration: 1500, curve: Curve.Ease })
      .onExit((type: RouteType, progress: number) => {
        this.scale1 = 1 - progress
        this.opacity1 = 1
      }) // onExit (0% -- 100%)
  }

🎥SlideEffect.Left

typescript 复制代码
  pageTransition() {
    PageTransitionEnter({ duration: 1200 })
      .slide(SlideEffect.Left)
    PageTransitionExit({ delay: 100 })
      .translate({ x: 100.0, y: 100.0 })
      .opacity(0)
  }
相关推荐
冯志浩2 小时前
Harmony NEXT:如何给数据库添加自定义分词
harmonyos·掘金·金石计划
爱桥代码的程序媛4 小时前
鸿蒙OpenHarmony【轻量系统芯片移植案例】标准系统方案之瑞芯微RK3568移植案例
嵌入式硬件·harmonyos·鸿蒙·鸿蒙系统·移植·openharmony·鸿蒙开发
AORO_BEIDOU4 小时前
防爆手机+鸿蒙系统,遨游通讯筑牢工业安全基石
5g·安全·智能手机·信息与通信·harmonyos
小强在此19 小时前
【基于开源鸿蒙(OpenHarmony)的智慧农业综合应用系统】
华为·开源·团队开发·智慧农业·harmonyos·开源鸿蒙
PlumCarefree1 天前
基于鸿蒙API10的RTSP播放器(四:沉浸式播放窗口)
华为·harmonyos
中关村科金1 天前
中关村科金推出得助音视频鸿蒙SDK,助力金融业务系统鸿蒙化提速
华为·音视频·harmonyos
小强在此1 天前
基于OpenHarmony(开源鸿蒙)的智慧医疗综合应用系统
华为·开源·团队开发·健康医疗·harmonyos·开源鸿蒙
奔跑的露西ly2 天前
【鸿蒙 HarmonyOS NEXT】popup弹窗
华为·harmonyos
OH五星上将2 天前
OpenHarmony(鸿蒙南向开发)——轻量和小型系统三方库移植指南(一)
嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙移植