鸿蒙Next仓颉语言开发实战教程:订单详情

布局王
• 阅读 3

昨天的发布会上听到HarmonyOS 5.1版本即将推送,6.0版本也快要来了,表示十分期待。 今天继续分享仓颉语言开发商城应用的实战教程,今天要分享的是订单详情页: 鸿蒙Next仓颉语言开发实战教程:订单详情 我们今天应该是第一次遇到分为上中下三部分的页面,而且中间内容可以滚动,这样的布局如何设置呢,其实和之前一样,我们知道其中两个的高度,第三个容器使用layoutWeight属性就行了,这里使layoutWeight的依然是List组件,贴一下上下两部分的内容和List容器的整体布局代码:

Column(){
    Stack {
         Text('订单详情')
        .fontSize(16)
        .fontWeight(FontWeight.Bold)
        .fontColor(Color.BLACK)
        Row{
             Image(@r(app.media.back))
        .width(27)
        .height(27)
         .onClick({evet => Router.back()})
        }.width(100.percent).justifyContent(FlexAlign.Start).padding(left:5)
    }
    .width(100.percent)
    .height(60)
    .backgroundColor(Color.WHITE)
     List(space:8){
    }
       .backgroundColor(Color(240, 240, 240, alpha: 1.0))
      .layoutWeight(1)
      Row{
          Row(){
      Text('实付金额:')
        .fontColor(Color.BLACK)
        .fontSize(15)
      Text('¥100' )
        .fontColor(Color.RED)
        .fontSize(15)
    }
    .margin(left:10)
          Text('立即支付')
      .fontColor(Color.WHITE)
      .backgroundColor(Color.RED)
      .width(80)
      .height(40)
      .textAlign(TextAlign.Center)
      .borderRadius(20)
      .margin(right:10)
      }
      .backgroundColor(Color.WHITE)
  .width(100.percent)
  .height(50)
  .justifyContent(FlexAlign.SpaceBetween)
}.width(100.percent).height(100.percent)

剩下的内容就是List容器中的内容,也就是主体内容部分,可以看到它们分为三组,每一组拆开来看也都相对简单,都是基础的布局方式。 比如中间商品详情部分,它可以分为上下两部分,上面内容部分又可以分为左右两部分,这就是分析布局的基本逻辑。 这里有一个知识点要说一下,如果在仓颉中你想设置某一个边的边线宽度,比如设置上边线的宽度,这样写: .borderWidth(EdgeWidths( top: 1.vp)) 下面也附上List内容部分的具体代码:

ListItem{
      Column{
          Row{
    Text('默认')
      .fontColor(Color.WHITE)
      .fontSize(15)
      .backgroundColor(Color.RED)
      .width(35)
      .height(20)
      .textAlign(TextAlign.Center)
    Text('北京北京市东城')
      .fontColor(Color.BLACK)
      .fontSize(15)
      .margin(left:5)
  }
          Text('石景山游乐园68号')
    .fontColor(Color.BLACK)
    .fontSize(18)
    .fontWeight(FontWeight.Bold)
    .margin(top:10)
  Text('王富贵 123123123')
    .fontColor(Color.BLACK)
    .fontSize(16)
    .margin(top:10)
      }
      .width(100.percent)
      .alignItems(HorizontalAlign.Start)
  }
  .padding(left:10,right:10)
  .width(100.percent)
  .height(100)
  .backgroundColor(Color.WHITE)
  ListItem{
      Column{
          Row{
          Row{
              Image(@r(app.media.good1))
              .width(60)
              .height(60)
              .margin(left:1)
              Column{
                  Text('纯棉牛津纺舒适基础长袖衬衫')
          .fontColor(Color.BLACK)
          .fontSize(16)
          .fontWeight(FontWeight.Bold)
          .maxLines(1)
        Text('天蓝色 L')
          .fontColor(Color.GRAY)
          .fontSize(14)
          .maxLines(1)
          .margin(top:5)
                  Row(){
          Text('单价: ¥100' )
            .fontColor(Color.BLACK)
            .fontSize(15)
          Text('数量: 1' )
            .fontColor(Color.BLACK)
            .fontSize(15)
            .margin(left:20)
        }
        .margin(top:5)
              }
               .alignItems(HorizontalAlign.Start)
               .width(60.percent)
               .margin(left:10)
          }
          Text('¥100')
      .fontColor(Color.BLACK)
      .fontSize(16)
      .margin(right:10)
      }
      .padding(top:10,bottom:10)
  .width(100.percent)
  .justifyContent(FlexAlign.SpaceBetween)
  .alignItems(VerticalAlign.Top)
  .borderColor(Color(236, 236, 236, alpha: 1.0))
  .borderStyle(BorderStyle.Solid)
          Row{
      Text('共计金额:')
    .fontColor(Color.BLACK)
    .fontSize(15)
      Text('¥100')
    .fontColor(Color.RED)
    .fontSize(15)
}

          .borderWidth(EdgeWidths( top: 1.vp))
          .borderColor(Color(236, 236, 236, alpha: 1.0))
.alignItems(VerticalAlign.Center)
.padding(left:10,right:10)
.width(100.percent)
.height(40)
.justifyContent(FlexAlign.SpaceBetween)
      }
  }
  .backgroundColor(Color.WHITE)
   .width(100.percent)
  .padding(top:10,bottom:10)
  ListItem{
      Column{
          Row{
              Row(){
    Image('')
      .width(30)
      .height(30)
      .borderRadius(15)
                  .backgroundColor(Color(21,120,255))
    Text('支付宝支付')
      .fontSize(15)
      .fontColor(Color.BLACK)
      .margin(left:8)
  }
  Image( @r(app.media.choose1))
    .width(15)
    .height(15)
          }
          .padding(left:10,right:10)
          .width(100.percent)
          .justifyContent(FlexAlign.SpaceBetween)
          .height(45)
          Row{
              Row(){
    Image('')
      .width(30)
      .height(30)
      .borderRadius(15)
                  .backgroundColor(Color(84, 169, 70, alpha: 1.0))
    Text('微信支付')
      .fontSize(15)
      .fontColor(Color.BLACK)
      .margin(left:8)
  }
  Image( @r(app.media.choose0))
    .width(15)
    .height(15)
          }
          .padding(left:10,right:10)
          .width(100.percent)
          .justifyContent(FlexAlign.SpaceBetween)
          .height(45)
      }
  }
   .backgroundColor(Color.WHITE)

感谢您今天的阅读。##HarmonyOS语言##仓颉##购物#

点赞
收藏
评论区
推荐文章
布局王 布局王
7小时前
Uniapp开发鸿蒙购物应用教程之商品列表
今天要分享的依然是使用uniapp跨平台开发鸿蒙应用的系列教程,今天要做的是实现首页的商品列表,效果图如下:今天的内容分为两部分,一部分是中间的商品分类,还有下方商品列表,不过这两部分其实是相同的布局方式,都是网格布局。在鸿蒙原生开发中我们都使用过grid
布局王 布局王
7小时前
仓颉开发语言入门教程:搭建开发环境
仓颉开发语言作为华为为鸿蒙系统自研的开发语言,虽然才发布不久,但是它承担着极其重要的历史使命。作为鸿蒙开发者,掌握仓颉开发语言将成为不可或缺的技能,今天我们从零开始,为大家分享仓颉语言的开发教程,今天要分享的是搭建开发环境。仓颉在DevEcostudio和
布局王 布局王
7小时前
鸿蒙仓颉开发语言实战教程:实现商城应用首页
经过了几天的入门教程,我们终于进入到了仓颉开发语言的实战环节,今天分享的内容是实现商城应用的首页页面,效果图如下:首页的内容包括导航栏、轮播图、商品分类和商品列表,我们下面逐一介绍。导航栏仓颉语言中是没有导航栏组件的,我们需要自己去开发。此处的导航栏也比较
布局王 布局王
7小时前
鸿蒙仓颉开发语言实战教程:自定义tabbar
大家周末好呀,今天继续分享仓颉语言开发商城应用的实战教程,今天要做的是tabbar。大家都知道ArkTs有Tabs和TabContent容器,能够实现上图的样式,满足基本的使用需求。而仓颉就不同了,它虽然也有这两个组件,但是它的tabbar参数只支持传入图
布局王 布局王
7小时前
鸿蒙仓颉语言开发实战教程:购物车页面
大家上午好,仓颉语言商城应用的开发进程已经过半,不知道大家通过这一系列的教程对仓颉开发是否有了进一步的了解。今天要分享的购物车页面:看到这个页面,我们首先要对它简单的分析一下。这个页面一共分为三部分,分别是导航栏、购物车列表和底部的结算栏。也能它们是col
布局王 布局王
7小时前
鸿蒙Next仓颉语言开发实战教程:订单列表
大家上午好,最近不断有友友反馈仓颉语言和ArkTs很像,所以要注意不要混淆。今天要分享的是仓颉语言开发商城应用的订单列表页。首先来分析一下这个页面,它分为三大部分,分别是导航栏、订单类型和订单列表部分。导航栏由返回按钮和搜索框组成,这里要注意组件横向占满屏
布局王 布局王
7小时前
详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发
连续分享了很多天鸿蒙仓颉语言的开发教程,大家现在应该都知道鸿蒙开发有ArkTs和仓颉两种开发语言,这两种语言有些相似,而且还支持混合开发,今天就分享一下怎么实现ArkTs和仓颉的混合开发,分不清这两种语言的友友今天可能要头疼了。官方文档对这两种语言的混合开
布局王 布局王
7小时前
鸿蒙Next仓颉语言开发实战教程:设置页面
仓颉语言商城应用的页面开发教程接近尾声了,今天要分享的是设置页面:导航栏还是老样式,介绍过很多次了,今天不再赘述。这个页面的内容主要还是介绍List容器的使用。可以看出列表内容分为三组,所以我们要用到ListItemGroup,不过第一组是没有标题的,所以
布局王 布局王
7小时前
鸿蒙Next仓颉语言开发实战教程:消息列表
大家周末好,今天要分享的是仓颉语言开发商城应用实战教程的消息列表页面。这个页面的导航栏和之前有所不同,不过难度并没有增加,只是标题移到了左边,我们使用两端对齐方式就能实现,导航栏部分的具体代码如下:Row(8)Text('消息').fontSize(16)
布局王 布局王
7小时前
HarmonyOS NEXT仓颉开发语言实战案例:银行App
仓颉语言的商城项目基本开发结束啦,今天跟大家分享新的项目,一个银行app,说是新项目但是大家可能会有些眼熟,在ArkTS的教程中就写过这个项目。今天我们仓颉语言再写一遍,看看和ArkTS有什么不同。首先我们可以看到页面内容撑满了屏幕,所以需要设置沉浸模式,