鸿蒙Next仓颉语言开发实战教程:订单详情
幽蓝君听说HarmonyOS 5.1版本即将推送,6.0版本也快要来了,表示十分期待。
今天继续分享仓颉语言开发商城应用的实战教程,今天要分享的是订单详情页:
我们今天应该是第一次遇到分为上中下三部分的页面,而且中间内容可以滚动,这样的布局如何设置呢,其实和之前一样,我们知道其中两个的高度,第三个容器使用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('王富贵 13084532514').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语言##仓颉##购物#