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

第十八讲_HarmonyOS应用开发实战(实现电商首页)

HarmonyOS应用开发实战(实现电商首页)

  • 1. 项目涉及知识点罗列
  • 2. 项目目录结构介绍
  • 3. 最终的效果图
  • 4. 部分源码展示

1. 项目涉及知识点罗列

  • 掌握HUAWEI DevEco Studio开发工具
  • 掌握创建HarmonyOS应用工程
  • 掌握ArkUI自定义组件
  • 掌握@Entry@Component@Builder等装饰器
  • 掌握@State@Link等状态管理装饰器
  • 掌握ColumnRowFlexListTextImageTabsScroll等系统组件
  • 掌握资源的定义和应用

2. 项目目录结构介绍

在这里插入图片描述

3. 最终的效果图

在这里插入图片描述

4. 部分源码展示

import Home from '../components/Home';
import { MainPageConstants } from '../constants/MainPageConstants';
import { TabBarData, tabBarData } from '../viewmodel/MainPageData';/*
* 电商主页
*/
@Entry
@Component
struct MainPage {@State currentIndex: number = 0;// 自定义底部导航图标@Builder TabBar(tabBarData: TabBarData) {Column({space: MainPageConstants.TAB_SPACE}) {Image(this.currentIndex === tabBarData.index ? tabBarData.selectImg : tabBarData.img).height($r('app.float.main_page_tab_image_size')).width($r('app.float.main_page_tab_image_size'))Text(tabBarData.title).fontSize($r('app.float.main_page_tab_title_size')).fontColor(this.currentIndex === tabBarData.index ? $r('app.color.main_page_tar_title_select_color') : Color.Black)}}build() {Tabs({index: this.currentIndex,barPosition: BarPosition.End}) {// 首页TabContent() {Home()}.tabBar(this.TabBar(tabBarData[0]))// 新品TabContent() {Column() {Text($r('app.string.main_page_tab_product')).fontSize($r('app.float.product_page_text_size'))}.height(MainPageConstants.FULL_HEIGHT).width(MainPageConstants.FULL_WIDTH).justifyContent(FlexAlign.Center)}.tabBar(this.TabBar(tabBarData[1]))// 购物车TabContent() {Column() {Text($r('app.string.main_page_tab_cart')).fontSize($r('app.float.product_page_text_size'))}.height(MainPageConstants.FULL_HEIGHT).width(MainPageConstants.FULL_WIDTH).justifyContent(FlexAlign.Center)}.tabBar(this.TabBar(tabBarData[2]))// 我的TabContent() {Column() {Text($r('app.string.main_page_tab_personal')).fontSize($r('app.float.product_page_text_size'))}.height(MainPageConstants.FULL_HEIGHT).width(MainPageConstants.FULL_WIDTH).justifyContent(FlexAlign.Center)}.tabBar(this.TabBar(tabBarData[3]))}.backgroundColor($r('app.color.main_page_background_color')).onChange((index: number) => {this.currentIndex = index;})}
}

ps:需要完整源码的同学,可以在评论区留言!!!

http://www.lryc.cn/news/289001.html

相关文章:

  • OJAC近屿智能张立赛博士揭秘GPT Store:技术创新、商业模式与未来趋势
  • Java接收curl发出的中文请求无法解析
  • Java设计模式-外观模式(11)
  • HCS-华为云Stack-FusionSphere
  • C++类模板实现顺序表SeqList
  • sklearn 学习-混淆矩阵 Confusion matrix
  • C#,数据检索算法之跳跃搜索(Jump Search)的源代码
  • ElasticSearch 开发总结(九)——SearchType:DFS_QUERY_THEN_FETCH和QUERY_THEN_FETCH
  • 那些年与指针的爱恨情仇(一)---- 指针本质及其相关性质用法
  • 计算机网络——TCP协议
  • 软考高级有意义吗?
  • 二分算法模版
  • 【CSS】字体效果展示
  • asp.net宠物流浪救助系统
  • git常见命令
  • 主成分分析(PCA)Python
  • Leetcode—144. 二叉树的前序遍历【简单】
  • 混淆矩阵、准确率、查准率、查全率、DSC、IoU、敏感度的计算
  • ChatGPT目前的AI一哥
  • 认识思维之熵
  • 蓝桥杯备战——1.点亮LED灯
  • 【网络协议测试】畸形数据包——圣诞树攻击(DOS攻击)
  • Java基础面试题-5day
  • 软通智慧启动鲲鹏原生应用开发合作
  • 【STM32】STM32F4中USB的CDC虚拟串口(VCP)使用方法
  • 网络协议与攻击模拟_06攻击模拟SYN Flood
  • CPU,内存和硬盘之间的关系
  • Java面试题之基础篇
  • Bitbucket第一次代码仓库创建/提交/创建新分支/合并分支/忽略ignore
  • c#反射用法