鸿蒙Next仓颉语言开发实战教程:店铺详情页
各位好,幽蓝君又来分享仓颉开发教程了,今天的内容是店铺详情页:

这个页面的内容看似简单,其实有很多小细节需要注意,主要还是让大家熟悉List容器的使用。
整个页面由导航栏和List容器两大部分组成,导航栏我们已经分享过多次,今天不再赘述。主要说一下List部分。
首先需要注意的是在有自定义导航栏的情况下如何让List占满剩余屏幕,你可以设置layoutWeight属性:
List{
}
.width(100.percent)
.layoutWeight(1)
.backgroundColor(Color(247, 247, 247, alpha: 1.0))
在List容器中,大部分内容都可以直接使用ListItem实现,但是在店铺简介和开店时间部分可能需要使用ListItemGroup,这里需要注意,使用ListItemGroup需要传入参数ListItemGroupParams,这里的内容主要是header和footer样式,不过可以传空:
ListItemGroup(ListItemGroupParams()){}
另外,下面的几条内容是有圆角的,不过仓颉提供了非常灵活的圆角设置方式,你可以在borderRadius属性中直接写一个数字代表每一个圆角的弧度:
.borderRadius(8)
也可以逐个设置每一个角的弧度,不过这时候就不能直接写数字了,这里Length类型,需要带上单位:
.borderRadius(bottomLeft: 8.vp, bottomRight: 8.vp,topLeft: 8.vp, topRight: 8.vp)
以上就是本页面需要注意的地方,下面附上本页面的完整代码:
import ohos.base.*
import ohos.component.*
import ohos.state_manage.*
import ohos.state_macro_manage.*
import ohos.router.Router
import cj_res_entry.app
@Entry
@Component
public class shoppage {
func build() {
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:10){
ListItem{
Column{
Text('商城')
.fontSize(22)
.fontWeight(FontWeight.Bold)
.fontColor(Color.WHITE)
.width(50)
.height(50)
.backgroundColor(Color.RED)
.textAlign(TextAlign.Center)
.borderRadius(8)
Text('幽蓝计划旗舰店')
.fontSize(15)
.fontColor(Color.BLACK)
.fontWeight(FontWeight.Bold)
.margin(top:5)
Column{
Text('已关注')
.fontSize(13)
.fontColor(Color.GRAY)
Text('11万人关注')
.fontSize(12)
.fontColor(Color.GRAY)
}
.width(110)
.height(40)
.margin(top:30)
.alignItems(HorizontalAlign.Center)
.justifyContent(FlexAlign.Center)
.border(width: Length(0.5, unitType: LengthType.vp), color: Color(216, 216, 216, alpha: 1.0), radius: Length(20, unitType: LengthType.vp), style: BorderStyle.Solid)
}
.width(100.percent)
.alignItems(HorizontalAlign.Center)
.backgroundColor(Color.WHITE)
.padding(bottom:10)
}
ListItem{
Row{
Text('店铺二维码')
.fontColor(Color.BLACK)
.fontSize(15)
.fontWeight(FontWeight.Bold)
Image(@r(app.media.chaofu))
.width(22)
.height(22)
}
.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.SpaceBetween)
.width(100.percent)
.height(38)
.borderRadius(8)
.padding(left:10,right:10)
.backgroundColor(Color.WHITE)
}
.padding(left:10,right:10)
ListItemGroup(ListItemGroupParams()){
ListItem{
Row{
Text('店铺简介')
.fontColor(Color.BLACK)
.fontSize(15)
.fontWeight(FontWeight.Bold)
Text('潮服/运配/男女服饰')
.fontColor(Color.GRAY)
.fontSize(15)
.margin(left:10)
}
.alignItems(VerticalAlign.Center)
.width(100.percent)
.height(38)
.padding(left:10,right:10)
}
.backgroundColor(Color.WHITE)
.borderRadius(topLeft: 8.vp, topRight: 8.vp)
ListItem{
Row{
Text('开店时间')
.fontColor(Color.BLACK)
.fontSize(15)
.fontWeight(FontWeight.Bold)
Text('2025-05-05')
.fontColor(Color.GRAY)
.fontSize(15)
.margin(left:10)
}
.alignItems(VerticalAlign.Center)
.width(100.percent)
.height(38)
.padding(left:10,right:10)
}
.backgroundColor(Color.WHITE)
.borderRadius(bottomLeft: 8.vp, bottomRight: 8.vp)
}
.borderRadius(8)
.padding(left:10,right:10)
ListItem{
Row{
Text('查看全部商品')
.fontWeight(FontWeight.Bold)
.fontColor(Color.RED)
.fontSize(15)
}
.width(100.percent)
.height(38)
.backgroundColor(Color.WHITE)
.borderRadius(8)
.alignItems(VerticalAlign.Center)
.justifyContent(FlexAlign.Center)
}
.padding(left:10,right:10)
}
.width(100.percent)
.layoutWeight(1)
.backgroundColor(Color(247, 247, 247, alpha: 1.0))
}
}
}
今天的内容就是这样,感谢阅读。##HarmonyOS语言##仓颉##购物#
鸿蒙Next仓颉语言开发实战教程:店铺详情页的更多相关文章
- Swift游戏开发实战教程(霸内部信息大学)
Swift游戏开发实战教程(大学霸内部资料) 试读下载地址:http://pan.baidu.com/s/1sj7DvQH 介绍:本教程是国内第一本Swift游戏开发专向资料. 本教程具体解说记忆配对 ...
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建
上一篇教程<asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发3-登录模块开发>完成了本项目的登录模块,登录后就需要进入后台管理首页了,需要准备一个后台模 ...
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发2-Model层建立
上篇(asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发1-准备工作)文章讲解了开发过程中的准备工作,主要创建了项目数据库及项目,本文主要讲解项目M层的实现,M层这里 ...
- 微信小程序-云开发实战教程
微信小程序-云开发实战教程 云函数,云存储,云数据库,云调用 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/gettin ...
- 安卓开发——WebView+Recyclerview文章详情页,解决高度问题
安卓开发--WebView+Recyclerview文章详情页,解决高度问题 最近在写一个APP时,需要显示文章详情页,准备使用WebView和RecyclerView实现上面文章,下面评论.出现了W ...
- Python开发实战教程(8)-向网页提交获取数据
来这里找志同道合的小伙伴!↑↑↑ Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知 ...
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...
- 微信小程序教学第四章第三节(含视频):小程序中级实战教程:详情-功能完善
详情 - 功能完善 本文配套视频地址: https://v.qq.com/x/page/f0555nfdi14.html 开始前请把 ch4-3 分支中的 code/ 目录导入微信开发工具 这一节中, ...
- 微信小程序教学第四章第二节(含视频):小程序中级实战教程:详情-视图渲染
§ 详情 - 数据渲染 本文配套视频地址: https://v.qq.com/x/page/x055550lrvd.html 开始前请把 ch4-2 分支中的 code/ 目录导入微信开发工具 这一节 ...
- 微信小程序教学第四章第一节(含视频):小程序中级实战教程:详情-页面制作
详情 - 页面制作 本文配套视频地址: https://v.qq.com/x/page/o0555o20xjd.html 开始前请把 ch4-1 分支中的 code/ 目录导入微信开发工具 这一章节中 ...
随机推荐
- mysql-8.0.19-winx64.zip 的安装与卸载
一.安装 1.下载mysql 官网:https://dev.mysql.com/downloads/mysql/,本人用的目前的最新版本8.0.19,版本格式为zip,如下图 2.解压到指定路径,如下 ...
- Windows 提权-手工枚举
本文通过 Google 翻译 Manual Enumeration – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别 ...
- 【SpringCloud】SpringCloud Sleuth分布式链路跟踪
SpringCloud Sleuth分布式链路跟踪 概述 为什么会出现这个技术?需要解决哪些问题? 问题:在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后 ...
- MySQL 修复损坏表
修复MySQL损坏表的简单步骤,不一定适用任意情况下的表损坏的问题,留爪. 简单3步曲: # 用`root`用户登录MySQL # 这里可能需要输入密码 mysql -uroot -p # 使用指定数 ...
- halcon 入门教程(三) 边缘检测
原文作者:aircraft 原文链接:halcon 入门教程(三) 边缘检测 有兴趣可以多看其他的halcon教程 halcon 学习教程目录 本篇讲一下边缘检测(边缘提取),因为这个我发现也是比较常 ...
- github release 下载文件慢、或者失败的解决方法
Free Download Manager 下载工具可以解决Github 下载缓慢或失败问题. 扫描下方二维码,关注公众号 回复github,即可获取下载链接.
- 【Legged gym】关于Legged gym用到的roll_out_storages的batch的解析和一些PPO算法层面.config文件里参数的说明
1. 前言 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流. 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 2. 正文 2.1 yield 最开始发现于:rollout_stor ...
- [开源] Layouter(桌面助手)开源发布
Layouter(桌面助手)是一款简洁.易用.美观的桌面整理软件,基于.net 6开发,支持Windows 7及以上操作系统.以 Apache-2.0 license 进行开源. 开源地址 https ...
- 一步到位js/javascript对象和querystring查询字符串互转(get/url参数)
当然,这个问题又很多解决方式,这里说一种最简洁的方式: 对象转querystring查询字符串(get/url参数) 我看网上的方法都比较繁琐,其实可以直接使用js的URLSearchParams对象 ...
- 【题解】洛谷P731[NOI1999] 生日蛋糕+数据加强版
前言:阅读理解+剪枝+头脑风暴 Designed By FrankWkd 遵循GNU GPL2.0开源协议. 该代码可以通过T148457 生日蛋糕加强版 和 P1731 [NOI1999] 生日蛋糕 ...