吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙頁面示例

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-01 11:24 ? 次閱讀

@Component

標簽修飾UI,相當于Android的view,所有的UI組件都要使用@Component標簽

@Entry標簽

表明當前是一個頁面,不是一個視圖。多個組件組合時只能有一個@Entry標簽,被該標簽修飾后頁面才會有生命周期

import router from '@ohos.router'
@Entry
@Component
struct Login {
  @State title: string = '登錄頁面'

  build() {
    Row() {

      Column() {

        Text(this.title).fontSize(20)
          .fontWeight(FontWeight.Bold)
          .textAlign(TextAlign.Center)
          .width('100%').margin({top:10})

        Button() {
          Text('返回')
            .fontSize(18)
            .fontWeight(FontWeight.Bold)
        }.type(ButtonType.Capsule)
        .padding({top:5,bottom:5,left:10,right:10})
        .margin({top:20})
        .onClick(()=>{
          try{
            router.back()
          }catch (err){
            console.error("錯誤="+err.code +" message="+err.message)
          }
        })
      }
    }.width('100%')
  }

  onPageShow(){
    //頁面每次顯示時觸發
  }

  onPageHide(){
    //頁面每次隱藏時觸發
  }

  onBackPress(){
    //用戶點擊返回按鈕時觸發
  }

  aboutToAppear(){
    //在執行build函數之前執行
  }

  aboutToDisappear(){
    //組件即將銷毀時執行
  }
}

@Builder標簽

使用該標簽的方法會自動構建一個組件

  • 全局方式
@Builder function xxx{}
  • 組件內方式
@Builder xx{}

需要傳遞參數時采用引用傳遞 $$

//方法
@Builder function builderFunc($$:{showText:string}){
  Text('全局 builder方法 '+$$.showText)
    .fontSize(18)
    .fontColor("#333333")
}
//調用
builderFunc({showText:'全局豬頭'})

@BuilderParam標簽

對應@Builder標簽,類似于java接口傳遞

/**
 * 全局styles樣式
 */
@Styles function globalFancy(){
  .width(100)
  .height(150)
  .backgroundColor(Color.Pink)
}

@Builder function builderFunc($$:{showText:string}){
  Text('全局 builder方法 '+$$.showText)
    .fontSize(18)
    .fontColor("#333333")
}

@Component
struct testBuildParam{

  @BuilderParam param:()=>void

  build(){
    Column(){
      this.param()
    }
  }
}


//頁面入口
@Entry
@Component
struct StylesPage{

  @State heightNum:number = 100

  @Styles selfFancy(){
    .width(120)
    .height(this.heightNum)
    .backgroundColor(Color.Yellow)
    .onClick(()=>{
      this.heightNum = 180
    })
  }

  @Builder builderSelf(){
    Text("組件內方法")
      .fontSize(15)
      .fontColor("#999999")
      .margin({top:20})
  }

  build(){

    Column({space:10}){
      Text("全局引用styles")
        .globalFancy()
        .fontSize(25)

      Text("組件內的style")
        .selfFancy()
        .fontSize(18)

      this.builderSelf()
      builderFunc({showText:'全局豬頭'})

      testBuildParam({param:this.builderSelf})

    }

  }
}


審核編輯 黃宇

HTML 1800 字數 121 段落

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43059
收藏 人收藏

    評論

    相關推薦

    鴻蒙原生頁面高性能解決方案上線OpenHarmony社區 助力打造高性能原生應用

    隨著HarmonyOS NEXT的正式推出,鴻蒙原生應用開發熱度高漲,數量激增。但在三方應用鴻蒙化進程中,性能問題頻出。為此,HarmonyOS NEXT推出了一整套原生頁面高性能解決方案,包括
    發表于 01-02 18:00

    鴻蒙開發:啟動指定頁面

    當PageAbility的啟動模式設置為單例時(具體設置方法和典型場景示例見[PageAbility的啟動模式],缺省情況下是單實例模式),若PageAbility已被拉起,再次啟動PageAbility會觸發onNewWant回調(即非首次拉起)。
    的頭像 發表于 06-19 09:29 ?472次閱讀
    <b class='flag-5'>鴻蒙</b>開發:啟動指定<b class='flag-5'>頁面</b>

    鴻蒙開發:【頁面棧及任務鏈】

    單個UIAbility組件可以實現多個頁面,并在多個頁面之間跳轉,這種UIAbility組件內部的頁面跳轉關系稱為“頁面?!?,由ArkUI框架統一管理,如下圖中的UIAbility1
    的頭像 發表于 06-14 10:10 ?499次閱讀
    <b class='flag-5'>鴻蒙</b>開發:【<b class='flag-5'>頁面</b>棧及任務鏈】

    鴻蒙開發接口UI界面:【@ohos.router (頁面路由)】

    本模塊首批接口從API version 8開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 > - 頁面路由需要在頁面渲染完成之后才能調用,在onInit和onReady生命周期中頁面還處于渲染階段,禁止調用
    的頭像 發表于 05-28 16:26 ?1016次閱讀
    <b class='flag-5'>鴻蒙</b>開發接口UI界面:【@ohos.router (<b class='flag-5'>頁面</b>路由)】

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】(設置應用頁面

    本小節以“設置”應用頁面為例,介紹如何使用自適應布局能力和響應式布局能力適配不同尺寸窗口。
    的頭像 發表于 05-27 10:33 ?1311次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發:典型<b class='flag-5'>頁面</b>場景【一次開發,多端部署】(設置應用<b class='flag-5'>頁面</b>)

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】實戰(設置典型頁面

    示例展示了設置應用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現一次開發、多端部署的能力。
    的頭像 發表于 05-27 09:36 ?1245次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發:典型<b class='flag-5'>頁面</b>場景【一次開發,多端部署】實戰(設置典型<b class='flag-5'>頁面</b>)

    鴻蒙OS開發:典型頁面場景【一次開發,多端部署】實戰(應用市場首頁)

    示例展示了應用市場首頁,頁面中包括Tab欄、運營橫幅、精品應用、精品游戲等。
    的頭像 發表于 05-24 15:21 ?960次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發:典型<b class='flag-5'>頁面</b>場景【一次開發,多端部署】實戰(應用市場首頁)

    鴻蒙OS開發:【一次開發,多端部署】( 設置app頁面

    示例展示了設置應用的典型頁面,其在小窗口和大窗口有不同的顯示效果,體現一次開發、多端部署的能力。
    的頭像 發表于 05-21 14:56 ?1283次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發:【一次開發,多端部署】( 設置app<b class='flag-5'>頁面</b>)

    鴻蒙OS開發:【一次開發,多端部署】(app市場首頁)項目

    示例展示了應用市場首頁,頁面中包括Tab欄、運營橫幅、精品應用、精品游戲等。
    的頭像 發表于 05-21 10:57 ?662次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發:【一次開發,多端部署】(app市場首頁)項目

    鴻蒙原生應用元服務開發-Web應用側調用前端頁面函數

    應用側可以通過runJavaScript()方法調用前端頁面的JavaScript相關函數。 在下面的示例中,點擊應用側的“runJavaScript”按鈕時,來觸發前端頁面的htmlTest
    發表于 05-11 15:31

    純血鴻蒙開發教程-運行時動態加載頁面提升性能

    很長時間,但這些復雜的子頁面與主頁渲染無關。 本文推薦使用動態加載解決上述問題,不在應用程序加載時就將所有模塊都加載進來,而是按需加載模塊,增加應用靈活性,提升應用性能。 場景示例 主頁 子頁面
    發表于 05-10 20:52

    鴻蒙原生應用元服務開發-Web前端頁面調用應用側函數

    頁面中, 該函數可以在前端頁面觸發運行。 javaScriptProxy()接口使用示例如下。 // xxx.ets import web_webview from
    發表于 05-07 15:03

    鴻蒙OS開發實例:【頁面傳值跳轉】

    本篇主要介紹如何在HarmonyOS中,在頁面跳轉之間如何傳值 HarmonyOS 的頁面指的是帶有@Entry裝飾器的文件,其不能獨自存在,必須依賴UIAbility這樣的組件容器 如下是官方關于State模型開發模式下的應用包結構示意圖,Page就是帶有@En
    的頭像 發表于 03-29 20:16 ?2342次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發實例:【<b class='flag-5'>頁面</b>傳值跳轉】

    鴻蒙OS開發實例:【工具類封裝-頁面路由】

    import common from '@ohos.app.ability.common'; import router from '@ohos.router'封裝app內的頁面之間跳轉、app與app之間的跳轉工具類
    的頭像 發表于 03-28 16:16 ?972次閱讀
    <b class='flag-5'>鴻蒙</b>OS開發實例:【工具類封裝-<b class='flag-5'>頁面</b>路由】

    鴻蒙實戰項目開發:【短信服務】

    概述 本示例展示了電話服務中發送短信的功能。 樣例展示 涉及OpenHarmony技術特性 網絡通信 難度級別 中級 基礎信息 使用@ohos.telephony.sms接口展示了電話服務中發
    發表于 03-03 21:29
    百家乐官网的路子怎么| 南靖县| 百家乐官网视频美女| 大发888娱乐城游戏lm0| 泰山百家乐的玩法技巧和规则| 888百家乐的玩法技巧和规则| 百家乐龙虎台布作弊技巧| 百家乐赌现金| 富田太阳城二期| 疯狂百家乐游戏| 万豪网| 太阳城百家乐官网币| 赌百家乐官网大小点桌| 24山分金吉凶断| 澳门百家乐秘诀| 优博百家乐现金网平台| 金彩百家乐的玩法技巧和规则| 肯博百家乐的玩法技巧和规则| 大发888官方备用网址| 利来网站| 百家乐官网tt娱乐场开户注册 | 属猪与属蛇做生意怎么样| 百家乐官网微笑玩| 线上百家乐赢钱| 大发888 代充| 百家乐官网娱乐人物| 金沙百家乐官网的玩法技巧和规则 | 太阳城百家乐官网红利| 百家乐官网2号死机| 爱赢百家乐现金网| 百家乐又称为什么| 百家乐官网路纸计算| 缅甸百家乐网上投注| 百博百家乐的玩法技巧和规则 | 366百家乐娱乐城| 皇冠网文学网址| 百家乐路单用处| 威尼斯人娱乐城首选802com| 宝马会网上娱乐| 24山方位吉凶| 大富豪棋牌游戏下载|