鸿蒙仓颉开发语言实战教程:实现商城应用首页

布局王
• 阅读 5

经过了几天的入门教程,我们终于进入到了仓颉开发语言的实战环节,今天分享的内容是实现商城应用的首页页面,效果图如下: 鸿蒙仓颉开发语言实战教程:实现商城应用首页 首页的内容包括导航栏、轮播图、商品分类和商品列表,我们下面逐一介绍。 导航栏 仓颉语言中是没有导航栏组件的,我们需要自己去开发。此处的导航栏也比较简单,只有一个搜索框,仓颉中的常见组件我们已经在之前的文章中做了讲解。所以这里就直接Row容器下添加Search组件:

Row {
  Search(placeholder: "搜索",  controller: this.searchController)
  .height(38)
}.width(100.percent).height(60).padding(right: 12, left: 12)

轮播图 仓颉是有轮播图组件的,用法也比较简单:

Swiper{
  Image(@r(app.media.banner1)).width(100.percent).height(100.percent)
  Image(@r(app.media.banner2)).width(100.percent).height(100.percent)
  Image(@r(app.media.banner3)).width(100.percent).height(100.percent)
}.width(100.percent).height(160).duration(1500).autoPlay(true)

商品分类 这里我们会遇到仓颉的第一个复杂容器Grid,作用和ArkTs中的Grid一样:

Grid {
          ForEach(
              goodsTypeList,
              itemGeneratorFunc: {
                  item: TypeItem, index: Int64 => GridItem {
                      Column(){
                          Image(item.getImage()).width(40).height(40).margin(bottom: 4)
                          Text(item.getTitle()).fontSize(13).textAlign(TextAlign.Center).fontWeight(FontWeight.W400).margin(top:5)
                      }
                  }
              }
          )
      }.columnsTemplate('1fr 1fr 1fr 1fr').rowsTemplate('1fr 1fr')
      .width(100.percent).height(150).backgroundColor(0xFFFFFF)

商品列表 商品列表和分类几乎一样,只不过由4列改为2列:

Grid {
         ForEach(
             goodsList,
             itemGeneratorFunc: {
                 item: GoodsItem, index: Int64 => GridItem {
                     Column(){
                         Image(item.getImage()).width(100.percent).height(200).margin(bottom: 4)
                         Text(item.getTitle()).fontSize(14).textAlign(TextAlign.Start).fontWeight(FontWeight.W400)
                         Text(item.getPrice()).fontSize(12).textAlign(TextAlign.Center).fontWeight(FontWeight.W400).fontColor(Color.RED)
                     }
                     .alignItems(HorizontalAlign.Start)
                 }
             }
         )
     }.columnsTemplate('1fr 1fr').columnsGap(10).rowsGap(10)
     .width(100.percent).backgroundColor(0xFFFFFF).padding( right: 10, left: 10)

最后要注意,除导航栏外,其他组件是需要可以滚动的,所以需要把它们放到List组件中,注意List的属性设置,这里使用layoutWeight来自动分配空间:

List() {
    //banner
    ListItem {}    
    //分类
    ListItem {}
    //商品
    ListItem {}
}.layoutWeight(1)

#HarmonyOS语言##仓颉##购物#

点赞
收藏
评论区
推荐文章
布局王 布局王
16小时前
Uniapp开发鸿蒙购物项目实战教程:实现首页轮播图
过去几天的文章中我们讲过了如何创建跨平台项目,如何进行基础的布局、如何实现自定义导航栏等等,通过这一系列的文章教程,我们最终要实现一个购物app,今天我们要做购物应用首页的轮播图部分。对于轮播图uniapp提供了相应的组件swiper,并且是支持鸿蒙应用的
布局王 布局王
16小时前
鸿蒙仓颉语言开发实战教程:购物车页面
大家上午好,仓颉语言商城应用的开发进程已经过半,不知道大家通过这一系列的教程对仓颉开发是否有了进一步的了解。今天要分享的购物车页面:看到这个页面,我们首先要对它简单的分析一下。这个页面一共分为三部分,分别是导航栏、购物车列表和底部的结算栏。也能它们是col
布局王 布局王
16小时前
鸿蒙仓颉语言开发实战教程:商城搜索页
大家下午好,今天要分享的是仓颉语言商城应用的搜索页。搜索页的内容比较多,都有点密集恐惧症了,不过我们可以从上至下将它拆分开来,逐一击破。导航栏搜索页的的最顶部是导航栏,由返回按钮和搜索框两部分组成,比较简单,具体实现代码如下:Row(6)Image(@r(
布局王 布局王
16小时前
鸿蒙仓颉语言开发实战教程:商城应用个人中心页面
又到了高考的日子,幽蓝君在这里祝各位考生朋友冷静答题,超常发挥。今天要分享的内容是仓颉语言商城应用的个人中心页面,先看效果图:下面介绍下这个页面的实现过程。我们可以先分析下整个页面的布局结构。可以看出它是纵向的布局,整个页面由导航栏、个人资料、vip横条和
布局王 布局王
16小时前
鸿蒙Next仓颉语言开发实战教程:订单列表
大家上午好,最近不断有友友反馈仓颉语言和ArkTs很像,所以要注意不要混淆。今天要分享的是仓颉语言开发商城应用的订单列表页。首先来分析一下这个页面,它分为三大部分,分别是导航栏、订单类型和订单列表部分。导航栏由返回按钮和搜索框组成,这里要注意组件横向占满屏
布局王 布局王
16小时前
鸿蒙Next仓颉语言开发实战教程:设置页面
仓颉语言商城应用的页面开发教程接近尾声了,今天要分享的是设置页面:导航栏还是老样式,介绍过很多次了,今天不再赘述。这个页面的内容主要还是介绍List容器的使用。可以看出列表内容分为三组,所以我们要用到ListItemGroup,不过第一组是没有标题的,所以
布局王 布局王
16小时前
鸿蒙Next仓颉语言开发实战教程:消息列表
大家周末好,今天要分享的是仓颉语言开发商城应用实战教程的消息列表页面。这个页面的导航栏和之前有所不同,不过难度并没有增加,只是标题移到了左边,我们使用两端对齐方式就能实现,导航栏部分的具体代码如下:Row(8)Text('消息').fontSize(16)
布局王 布局王
16小时前
HarmonyOS NEXT仓颉开发语言实战案例:动态广场
大家好,今日要分享的是使用仓颉语言开发动态广场页面,也比较像朋友圈页面:整个页面分为两部分,分别是导航栏和状态列表,导航栏比较简单,我们可以先写下导航栏的具体代码和页面的基本结构:ColumnRow(10)Text('推荐').fontColor(Colo
布局王 布局王
16小时前
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
各位周末好,今天为大家来仓颉语言外卖App的实战分享。我们可以先分析一下页面的布局结构,它是由导航栏和List容器组成的。幽蓝君目前依然没有找到仓颉语言导航栏的系统组件,还是要自定义,这个导航栏有三部分内容,可以使用两端对齐,要注意的是,如果需要中间部分在
鸿蒙小林 鸿蒙小林
16小时前
《仿盒马》app开发技术分享-- 分类模块顶部导航列表弹窗(16)
技术栈Appgalleryconnect开发准备上一节我们实现了分类页面的顶部导航栏列表,并且实现了首页金刚区跟首页导航栏的联动,这一节我们实现导航栏列表的弹窗功能,需要学习的知识点有自定义弹窗,同时我们的数据源需要跟分类页保持一一致。功能分析1.弹窗自定