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

游戏中心首页

任务

需求

构建游戏中心首页,包括游戏广告轮播图、常用功能、热门游戏、即将公测、为您推荐各部分。

界面原型

轮播及常用功能及热门游戏:

在这里插入图片描述

即将公测:

在这里插入图片描述

为您推荐:

在这里插入图片描述

涉及知识点

  1. Scroll:滚动容器
  2. Swiper:滑块视图容器(轮播组件)
  3. ForEach:循环渲染
  4. LazyForEach:懒加载
  5. Grid:网格布局
  6. List:列表组件
  7. Rating:评分的组件
  8. WaterFlow:瀑布流容器
  9. 数据源监听

1 新建首页组件

在ets下新建文件夹,命名为components,在该文件夹下新建arkts文件,命名为:GameCenterHome,并编写如下骨架代码:

@Component
export default struct GameCenterHome{build() {Scroll(){Column(){Text('首页')}}}
}

Note

Scroll:滚动容器,仅能包含一个根节点

自定义组件:

使用@Component,并且包含build函数

在MainPage中调用:

@Entry
@Component
struct MainPage {@State pageIndex: number = 0;//页面索引build() {Tabs({barPosition:BarPosition.End}){TabContent(){//Text('首页')GameCenterHome()}//.tabBar('首页').tabBar(this.MyTabBuilder(TabID.HOME))...

预览效果:

在这里插入图片描述

2 轮播图

页面原型:

在这里插入图片描述

  1. 图片硬编码效果
  build() {Scroll(){Column(){Text('首页').fontWeight(FontWeight.Bold).fontSize(22).width('95%').margin(20)//轮播图Swiper(){Image($r('app.media.game1')).gameImageStyle()Image($r('app.media.game2')).gameImageStyle()Image($r('app.media.game3')).gameImageStyle()Image($r('app.media.game4')).gameImageStyle()Image($r('app.media.game5')).gameImageStyle()}.autoPlay(true).margin(10)}}.width('100%').height('100%').backgroundColor('#f1f3f5')}
}

图片样式:

@Extend(Image)
function gameImageStyle(){.width('90%').height(200).borderRadius(12)}

Note

Swiper:滑块视图容器

api参考:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-container-swiper

预览效果:

在这里插入图片描述

  1. 准备模型层数据

在model目录下新建arkts文件,命名为:GameHomeViewModel:

export class GameHomeViewModel{getGameAdvImages(): Array<Resource> {let gameAdvImages: Resource[] = [$r('app.media.game1'),$r('app.media.game2'),$r('app.media.game3'),$r('app.media.game4'),$r('app.media.game5'),];return gameAdvImages;}
}export default new GameHomeViewModel()
  1. 将轮播图数据源改成从模拟viewmodel中获取并foreach展示:
          ForEach(GameHomeViewModel.getGameAdvImages(),(item:Resource)=>{Image(item).gameImageStyle()},(item:Resource)=>JSON.stringify(item))

Note:
ForEach:接口基于数组类型数据来进行循环渲染
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-rendering-control-foreach

预览效果:

在这里插入图片描述

3 常用功能

页面原型:

在这里插入图片描述

  1. 将常用功能封装成接口

在model下创建arkts文件

http://www.xdnf.cn/news/326251.html

相关文章:

  • LeetCode:对称二叉树
  • 贵州省棒球运动发展中长期规划(2024-2035)·棒球1号位
  • MySQL 联合查询的使用教程
  • Consumer Group的作用是什么?Rebalance的触发条件有哪些? (实现消费者负载均衡;消费者加入/离开、订阅Topic变化等)
  • JAVA中常见队列详解-非线程安全
  • by 组态在化工生产线自动化控制中的应用方案
  • 工具分享:通过滑块拉取CAN报文信号数值自动发送报文
  • Python小酷库系列:Box,更为完善的dict属性化访问扩展库
  • 技术视界 | 青龙机器人训练地形详解(一):如何创建一个地形
  • HTB - Eureka记录
  • 数智管理学(八)
  • 《饶议科学》阅读笔记
  • 【Lanqiao】数位翻转
  • 2021年下半年试题四:论微服务架构及其应用
  • SQL Server 中的 GO 及其与其他数据库的对比
  • Spark-Core(双Value类型)
  • C++对象注册系统(1)实现原理
  • 应用 | AI 自动化某讯会议转录与摘要生成系统
  • Android开发-视图基础
  • Facebook的元宇宙新次元:社交互动如何改变?
  • 2021年CVPR文章【Polygonal Building Segmentation by Frame Field Learning】环境搭建
  • 《Python星球日记》 第47天:聚类与KMeans
  • Kotlin zip 函数的作用和使用场景
  • 镜像和容器的管理
  • Qwen2.5模型结构
  • QT编程练习20250507
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】7.1 主流可视化工具对比(Tableau/Matplotlib/Python库)
  • FreeCAD傻瓜教程-涡轮蜗杆的快速绘制FCGear工作台的使用方法
  • 算法专题四:前缀和
  • 【北京迅为】iTOP-4412精英版使用手册-第八章 Android 4.4系统编译