国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何開發一個OpenHarmony購物APP導航頁面

系統 OpenHarmony
一款購物App界面通常包括了掃一掃功能、搜索框、輪播圖、標簽頁、商品列表等功能,我們以橘子購物為例,介紹一下如何使用ArkTS開發一個購物類App。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

購物類App是現在最常用的一類App,也是我們在應用開發中經常遇到的場景。一款購物App界面通常包括了掃一掃功能、搜索框、輪播圖、標簽頁、商品列表等功能,我們以橘子購物為例,介紹一下如何使用ArkTS開發一個購物類App。首先我們可以看一下最終實現效果:

如何開發一個OpenHarmony購物app導航頁面-開源基礎軟件社區如何開發一個OpenHarmony購物app導航頁面-開源基礎軟件社區

如上圖所示,首先最外層是一個可以切換切換的標簽頁,分別對應首頁、新品、購物車以及我的等四個欄目。頁面整體結構可以通過Tabs組件實現,通過閱讀Tabs組件的API文檔,注意到Tabs包含子組件TabContent即可實現選項卡效果。我們可以快速構造出如下所示的整體結構:

private controller: TabsController = new TabsController()

  Column() {
    Tabs({
      barPosition: BarPosition.END,
      controller: this.controller
    }) {
      TabContent() {
      }

      TabContent() {
      }

      TabContent() {
      }

      TabContent() {
      }
    }
  }.width('100%')

其中barPosition控制選擇欄位置,BarPosition.END表示選擇欄在頁面下方,BarPosition.START表示選擇欄在頁面上方,同時定義一個TabsController來控制Tabs切換邏輯。圖中選擇欄各個欄目都有相同的結構,都是圖片加標題,這部分樣式在TabContent的tabBar屬性中設計,我們如下示例代碼使用@Builder裝飾方法來定義組件的聲明式UI描述。

@Builder TabBarBuilder(index: number) {
      Column() {
      Image(this.getTabBarImage(index))
      Text(TAB_TITLE_DATA[index].title)
      }
      .justifyContent(FlexAlign.Center)
      .width('100%')
      .height('100%')
      .onClick(() => {
      this.controller.changeIndex(index)
      })
  }
  ...
  TabContent() {
        MainPage({ url: this.url })
      }.tabBar(this.TabBarBuilder(0))
  TabContent() {
        NewProduct({ url: this.url })
      }.tabBar(this.TabBarBuilder(1))
  TabContent() {
        ShopCart({ url: this.url })
      }.tabBar(this.TabBarBuilder(2))
  TabContent() {
        User()
      }.tabBar(this.TabBarBuilder(3))

其中MainPage,NewProduct,ShopCart,User表示各個頁面的具體內容。常見的App通常是通過點擊切換的,而不能通過滑動切換,如果想要禁用Tab的滑動切換可以使用將Tab的scrollable屬性設計為false來實現。Tabs實現四個欄目切換達到上圖效果的整體代碼可以參考NavigationHomePage。

實現完最外層容器的標簽頁切換介紹后,我們再對主頁進行簡單介紹。首先對主頁內容從上到下可以進行一個簡單分解:

如何開發一個OpenHarmony購物app導航頁面-開源基礎軟件社區如何開發一個OpenHarmony購物app導航頁面-開源基礎軟件社區

一號框中包含兩張圖片,使用兩個image組件,其中二維碼圖片可以在onClick事件加入跳轉邏輯跳轉到二維碼模塊。

二號框為一個搜索框,使用TextInput組件。(示例代碼中無具體功能,通過Image+Text進行展示)。

這兩部分代碼可以參考TitleBar。

根據我們以往使用購物App的經驗,我們可以知道下滑過程中,最上方圖片以及搜索框是一直存在的,即一二號框固定不動,三四五號框可以上下滑動,要實現這種效果只需要將后面三個框放到 Scroll組件中即可。

三號框可以使用Tab組件,參考代碼見MainPage,示例代碼中未實現具體功能,使用了Text進行展示。

四號框輪播圖中使用Swiper實現輪播圖效果,實現代碼可以參考Swiper。

五號框是主頁下半部分商品展示,這一部分看作一個Tabs,4個標簽分別對應全部、精選、新品、實惠,每個Tab中包含了一個商品列表,列表中整齊地排列著各個商品元素,這類像柵格一樣的場景我們可以通過GridRow嵌套GridCol實現,具體代碼見HomePageContent。

綜上所述,可以簡單地畫出導航頁對應的結構圖:

如何開發一個OpenHarmony購物app導航頁面-開源基礎軟件社區如何開發一個OpenHarmony購物app導航頁面-開源基礎軟件社區

效果對比

我們將橘子購物實現效果與市面是常用的兩款購物APP京東與閑魚界面放在一起進行一個簡單對比,我們可以發現作為一個示例,在美觀方面與真實APP還是存在不小的差距,但是整體結構上基本相同,能夠實現一個購物類應用的界面。
對于想要快速實現整體框架效果的讀者,還可以使用如下代碼通過Navigation+Tabs方式來快速實現。

完整實現代碼

@Entry
    @Component
    struct NavigationExample {
      @State currentIndex: number = 0
      @State Build: Array<Object> = [
        {
          text: 'home',
          num: 0
        },
        {
          text: 'app',
          num: 1
        },
        {
          text: 'cart',
          num: 2
        },
        {
          text: 'user',
          num: 3
        }
      ]

      @Builder NavigationTitle() {
        Column() {
          Text('Title')
            .height('100%')
        }.alignItems(HorizontalAlign.Start)
      }

      @Builder NavigationToolbar() {
        Row() {
          ForEach(this.Build, item => {
            Column() {
              Text(item.text)
                .fontColor(this.currentIndex == item.num ? '#007DFF' : '#182431')
                .fontSize(10)
                .lineHeight(14)
                .fontWeight(500)
                .margin({ top: 3 })
            }.width(104).height(56)
            .onClick(() => {
              this.currentIndex = item.num
            })
          })
        }.margin({ left: 24 })
      }

      build() {
        Column() {
          Navigation() {
            TextInput({ placeholder: 'search...' })
              .width('90%')
              .height(40)
              .backgroundColor('#FFFFFF')
              .margin({ top: 8 })
            Tabs({
              index:this.currentIndex
            }){
              TabContent(){
                Text('0')
              }
              TabContent(){
                Text('1')
              }
              TabContent(){
                Text('2')
              }
              TabContent(){
                Text('3')
              }
            }
          }
          .title(this.NavigationTitle)
          .toolBar(this.NavigationToolbar)
        }.width('100%').height('100%').backgroundColor('#F1F3F5')
      }
    }

實現效果

<img title=“” src=“OrangeShopping/04-navigationpage/demo.jpeg” alt=“image” width=“326” data-align=“center”>

讀者可以在這個基礎上添加所需要的組件,也可以完成一個購物類App界面。

本文供稿:https://gitee.com/pan-jiufeng。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2018-01-08 14:31:09

Electron桌面APP前端

2022-06-16 15:07:06

布局結構app

2021-02-07 13:22:53

微信服務導航頁移動應用

2018-10-11 21:00:18

2020-10-13 10:49:23

APPAndiroid終端

2014-07-02 10:03:42

App推廣渠道

2023-04-11 09:12:31

北向應用開發鴻蒙

2018-06-19 16:04:27

Dubbo應用Java

2022-10-08 16:26:23

APP應用開發

2021-01-28 06:11:40

導航組件Sidenav Javascript

2022-08-08 19:46:26

ArkUI鴻蒙

2014-03-12 10:00:26

移動開發跨平臺

2022-02-22 20:35:22

公鑰私鑰數據

2015-03-10 11:21:44

JavaScript組JavaScript

2023-03-17 18:33:12

ChatGPTLLM應用

2017-03-29 15:50:09

AndroidApp框架

2015-11-06 10:14:36

APP虛擬服務器

2023-06-06 15:38:28

HTMLCSS開發

2021-07-28 14:59:08

鴻蒙HarmonyOS應用

2020-03-07 22:06:22

人工智能心理健康軟件
點贊
收藏

51CTO技術棧公眾號

欧美日韩另类视频| 免费av网站在线观看| 国产主播在线资源| 成人久久精品| 欧美日韩国产一区在线| 成年人午夜免费视频| 中文欧美日本在线资源| 91搞黄在线观看| 国产一区二区三区四| 国产日韩亚洲欧美综合| 91香蕉嫩草影院入口| 宅男网站在线免费观看| 久久综合色鬼综合色| 成人激情综合网| 成人爽a毛片免费啪啪红桃视频| 亚洲综合色网| 极品少妇xxxx精品少妇| 久久香蕉国产线看观看av| 91偷拍精品一区二区三区| 激情五月俺来也| 日韩在线观看中文字幕| 蜜乳av一区二区| 黑森林福利视频导航| 国产资源在线看| 色久视频在线播放| 丁香花高清在线观看完整版| 日本亚洲欧美天堂免费| 日韩在线播放一区| 日韩影片在线播放| 性欧美xxxx免费岛国不卡电影| 看亚洲a级一级毛片| 久久久久国产精品一区三寸 | 国产视频综合在线| 欧美这里有精品| 成年人网站大全| 亚洲成a人片在线不卡一二三区 | 欧美激情一区在线观看| 成人免费视频在线观看超级碰| 91社区在线观看播放| 亚洲欧美日韩视频二区| 欧美久久免费观看| 亚洲综合五月天| 在线成人视屏| 韩国成人动漫| 91亚洲男人天堂| 亚洲最大的网站| 国内在线观看一区二区三区| 美女亚洲精品| 2018日韩中文字幕| 97国产一区二区精品久久呦| 伊人网在线免费观看| 久久一区二区三区四区| 亚洲一区二区精品在线| 欧美a一欧美| 日韩黄色在线免费观看| 超碰免费在线| www视频在线看| 欧美黄色一区| 久久九九热免费视频| 久久久一本精品| 国产精品1234| 涩爱av色老久久精品偷偷鲁| 日韩中文字幕久久| 国产天堂在线播放视频| 一本大道久久a久久精二百| 在线观看视频色潮| 中文字幕日韩在线| 亚洲性69xxxbbb| 精品在线网站观看| 国产一区二区三区四区老人| 99视频精品全部免费在线视频| 91精品久久久久久久久久入口 | 国产精品久久中文字幕| 欧美96在线丨欧| 国产一区免费观看| 久久福利毛片| 成人免费91在线看| 欧美96一区二区免费视频| 成年人黄色在线观看| 国产精品你懂的在线| 国产一级二级在线| 欧美偷拍一区二区| 国产高清在线a视频大全| 国内精品久久久久| 91日韩在线| 国产日本欧美一区二区三区在线| 激情视频网址| 欧洲精品在线观看| 亚洲成人影音| 久久uomeier| 国产视频精品免费播放| abab456成人免费网址| 国产福利精品视频| 91久色porny| 好吊妞无缓冲视频观看| 欧美久久久久久久久中文字幕| 老司机在线永久免费观看| 亚洲欧美在线免费| 国产精品区在线| 欧美va亚洲va国产综合| 亚洲另类av| 久久久久国产精品www| 综合亚洲视频| 91免费版在线观看| 国产精品视频一区国模私拍 | 中文字幕二三区不卡| 久久久国产精彩视频美女艺术照福利| 天天久久夜夜| 日韩中文字幕一区二区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 精品日韩99亚洲| 欧美自拍一区| 一本久久a久久精品vr综合| 91精品国产色综合久久 | 沈樵精品国产成av片| 色婷婷综合五月| 国内精品伊人久久久| www.日日操| 狠狠久久五月精品中文字幕| 成人黄色免费观看| 99re在线视频上| 一本色道久久综合狠狠躁的推荐| 林ゆな中文字幕一区二区| 久久只精品国产| eeuss影院一区二区三区| 国产免费黄视频| 中文字幕欧美精品在线| 偷拍欧美精品| zzjj国产精品一区二区| 久久久久久久久爱| 国产麻豆精品视频| 芒果视频成人app| 91久久精品美女| 日韩欧美视频在线| 波多野结衣与黑人| 在线视频国产日韩| 国产精品久久久久9999吃药| 91成人精品在线| 91制片厂免费观看| 亚洲一二在线观看| 久久精品综合| 日本www在线观看视频| 国产精品theporn88| 欧美精品1区2区3区| 色偷偷888欧美精品久久久| 美女网站在线免费欧美精品| free欧美| 国产网站av| 日本欧美精品在线| 日本不卡在线视频| 国产一区二区三区四区三区四| 羞羞视频在线免费国产| 日韩精品视频久久| 亚洲精品免费播放| 玖玖精品在线| 一本一道久久综合狠狠老 | 久久久久久99| 欧美美乳在线| 91免费观看| 精品久久久久久最新网址| 久久久久久黄| 四虎国产精品永远| 欧美久久久久久久久久久久久久| 成人国产1314www色视频| 国产一区二区三区在线| 一区二区三区日韩在线观看| 日韩精品分区| 亚洲一区尤物| 日本欧美一区二区在线观看| 国产第一区电影| 日韩精品一区二区三区中文不卡| 蜜桃久久久久久久| 欧美日韩国产精品一区二区亚洲| 亚洲理论电影| 777电影在线观看| 毛片.com| 亚洲欧美一区二区久久| 一级片免费视频| 日本中文字幕亚洲| 日韩电影免费在线看| 在线日韩av片| 亚洲国产一区二区在线播放| 97国产一区二区| 亚洲人午夜精品天堂一二香蕉| 亚洲视频你懂的| 精品久久久久久久久久国产| 亚洲三级观看| 日韩精品久久久久久久软件91| 日本免费久久| 免费看日本一区二区| 26uuu亚洲综合色| 亚洲综合日韩| 欧美色片在线观看| 国产传媒在线播放| 免费国产在线观看| 天堂精品在线视频| 亚洲久久中文字幕| 久久亚洲成人精品| 免费观看30秒视频久久| 99re6热只有精品免费观看|