
#HarmonyOS NEXT体验官#HarmoneyOS NEXT应用开发实战《仿tb搜索页面》 原创
需求背景
最近在做安卓版本的应用商城,大部分都不能用第三方库,做到搜索页面的时候,因为产品要求对标头部应用(猛抄头部应用),所以把淘宝搜索页面实现了一下,从页面到功能,各种组件的封装,用了快一天的时间才有个雏形,我就想如果是鸿蒙的话会如何呢....
话不多说直接看效果图,3 2 1 上链接
要想实现开发功能当然少不了对技术的了解,技术上的选择当然是使用鸿蒙官方推荐套件
ArkTS:
ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用
ArkUI:
ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升HarmonyOS应用界面开发效率30%。您只需使用一套ArkTS API,就能在多个HarmonyOS设备上提供生动而流畅的用户界面体验
说干就干,DevEco-Studio 启动~~!
我将其拆分为三个模块
1搜索模块和搜索记录
搜索模块有一定开发经验的人会说不就是一Row容器加几个组件嘛,这有什么难的?
很对!!
但我们要做的是鸿蒙的高端玩法,自定义组件引用的方式来实现搜索模块,这样不仅可以多页面引用,还能让父组件代码更少,逻辑的维护在子组件自己的页面,开发效率更高,一个页面效率高百分之20,那一天开发下来,完成任务后起码能省出来半天时间!!!
让我们看一下搜索模块代码如何实现
搜索模块主要是文本,图片,输入框来构成代码如下(效果如图所示)
PS:图片资源可以自行下载矢量图标库
通过row容器来对控件进行横向的空间分布,声明组件的同时,数据也已经添加上,真可谓轻松写意
接下来是搜索记录(效果如下)
在其他系统中要实现一个搜索记录的布局,不知道要封装多少层,在鸿蒙中一个Flex足矣
小tips:弹性布局(Flex)提供更加有效的方式对容器中的子元素进行排列、对齐和分配剩余空间。常用于页面头部导航栏的均匀分布、页面框架的搭建、多行数据的排列等。
2猜你想要列表
商品通过两列的列表推荐给用户,不多不少刚刚好或许有人会说这个功能用list 或者grid 就能实现,但是这个功能同样使用Flex即可实现,真是万能布局,强烈安利(效果如图)
代码如下
3热搜推荐可切换列表
这个模块看似简单,但是要使用的组件可不少,不过鸿蒙早已给我们封装好了组件和API,我们只需要使用 Tabs 和 List的结合就能实现,用时甚至跟上边简单的组件不相上下,真是大大的提高了生产力和生产效率,谁说不好用我跟谁急(效果如下图)
Tabs:头部效果
列表条目:我们还需要先设计好一条的效果,让列表去循环就好,一条效果如下
List:列表效果
代码实现如下:
短短几行代码就轻松实现我们想要的功能!
