当前位置: 首页 > news >正文

鸿蒙Next仓颉语言开发实战教程:设置页面

仓颉语言商城应用的页面开发教程接近尾声了,今天要分享的是设置页面:

导航栏还是老样式,介绍过很多次了,今天不再赘述。这个页面的内容主要还是介绍List容器的使用。

可以看出列表内容分为三组,所以我们要用到ListItemGroup,不过第一组是没有标题的,所以可以直接使用ListItem,布局很简单,具体代码如下:

ListItem{Row(8){Image(@r(app.media.chaofu)).width(60.vp).height(60).borderRadius(30)Column(20){Text('幽蓝计划').fontSize(16).fontColor(Color.BLACK).fontWeight(FontWeight.Bold)Text('账号名: youlanjihua').fontSize(13).fontColor(Color.GRAY)}.alignItems(HorizontalAlign.Start)}.backgroundColor(Color.WHITE).width(100.percent).height(90.vp).borderRadius(10).onClick({evet =>})
}

下面的两组内容都是有标题的,实现方案我建议使用List容器的head,方法是先定义header组件,然后在ListItemGroup中引用,具体代码如下:

@Builder func itemHead(text:String) {Row{Text(text).fontColor(Color.GRAY).fontSize(13)}.width(100.percent).height(35).alignItems(VerticalAlign.Center).padding(top:3,left:10)
}ListItemGroup(ListItemGroupParams(header:{=>bind(this.itemHead,this)('账号设置')})){//列表内容
}

剩下的内容就是下面两组的内容部分了,可以看出它们几乎都是一样的,所以我们可以自定义组件来节省代码,再次介绍一下自定义组件的相关内容。首先创建新的文件,定义样式和需要的参数,以本文内容为例,具体代码是这样的:

@Component
public class setrow {@Prop var title:String@Prop var icon:CJResource@Prop var subTitle : Stringfunc build() {Row{Row{Image(icon).width(20).height(20)Text(title).fontSize(15).fontColor(0x4a4a4a).margin(left:8)}Row(8){if(subTitle.size > 0){Text(subTitle).fontColor(Color.GRAY).fontSize(12)}Image(@r(app.media.cjright)).width(20).height(20)}.alignItems(VerticalAlign.Center)}.width(100.percent).height(50).justifyContent(FlexAlign.SpaceBetween).backgroundColor(Color.WHITE).padding(left:10,right:10)}
}

使用组件:

ListItem{setrow( title: '账户与安全', icon: @r(app.media.cjlogo2), subTitle: '账户保障可升级')
}

最后,分组中的内容是有分割线的,List和ListItemGroup都提供了分割线属性divider,这里我们只在ListItemGroup就可以,要注意分割线的宽度最好不要设置小于1的值,不然可能会有部分不显示的情况:

.divider(strokeWidth: 1.vp, color: Color(216, 216, 216), startMargin: 10.vp, endMargin: 0.vp)

今天的内容就是这样,感谢阅读。##HarmonyOS语言##仓颉##购物#

相关文章:

  • 【系统设计【2】】粗略估算
  • @SpringBootTest 详解
  • langChainv0.3学习笔记(中级篇)
  • 基于PPSO与BP神经网络回归模型的特征选择实战(Python实现)
  • AndroidStudio下载的SDK没有tool目录,或者想要使用uiautomatorviewer工具
  • Java网络编程深度解析
  • 实战指南:部署MinerU多模态文档解析API与Dify深度集成(实现解析PDF/JPG/PNG)
  • 大模型<闲谈>
  • 以太网交换机交换表的建立
  • 234. 回文链表
  • AI驱动SEO关键词精准布局
  • Java微服务框架技术选型全景报告
  • JSONP 跨域请求原理解析与实践
  • LeetCode--31.下一个排列
  • 【编程语言】从C++到Java到Golang,语法特性对比与开发实践指南(基础语法,类型系统,运行机制)
  • 从零开始掌握 Docker:核心命令与实践指南
  • 哈希函数结构:从MD到海绵的进化之路
  • npm install报错
  • MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
  • JVM——JVM中的扩展之道
  • 自己做网站哪里最好/营口seo
  • 亿起发插件wordpress/武汉网站seo推广
  • 企业门户网站建设方案后台管理/营销策划品牌策划
  • 烟台定制网站建设电话/广告投放网站平台
  • 做电影网站要多少钱/刷评论网站推广
  • 网站做代练/律师网络推广