
#HarmonyOS NEXT体验官#仿叮咚买菜Banner切换效果 原创
打开买菜软件正准备抢购一批高(打)端(折)菜品,忽然发现叮咚买菜商品banner竟然更新了!
身为对前沿技术有追求的程序员,立马打算复刻一下
首先介绍什么是banner
商品详情 banner(横幅广告)是指在电子商务网站或应用的商品详情页面上展示的横幅广告。这种类型的横幅通常用于展示商品的详细信息、促销活动、特色功能或者其他相关信息。商品详情 banner 的目的是为了吸引顾客的注意力,促进商品的销售。
商品详情 banner 的特点
视觉吸引力:通常使用高质量的图片和吸引人的设计来吸引顾客的注意。
信息传递:可以包含商品的主要卖点、优惠信息、促销活动等关键信息。
互动性:有时会加入互动元素,如滑动查看多张图片、点击放大查看细节等。
链接到购买:通常会有一个明显的按钮或链接,引导顾客进行购买操作。
商品详情 banner 的用途
展示商品特征:通过图片和文字突出商品的独特卖点。
促销活动:宣传限时折扣、赠品、捆绑销售等促销活动。
引导购物:通过明确的 CTA(Call To Action,行动号召)按钮,如“立即购买”、“加入购物车”,鼓励顾客下单。
品牌宣传:加强品牌的视觉识别,提高品牌认知度。
我们要实现的效果
传统banner效果
可以看到我们banner底部中间有页签和评价两个模块当我们的页签到达最大值,再继续进行切换,我们就需要切换到评价模块
那么要在鸿蒙中实现这种效果我们要使用哪些技术呢?
1. 首先就是模块的切换,我们可以使用tabs ,左侧模块我们使用swiper,右侧模块简单的自定义布局
2. 对tabs的页签进行处理,展示我们banner的下标,当达到最大数时,swiper的切换带动tabs的切换事件
Tabs结构如下
模块的切换
实现效果如下
首先我们定义了tabs并且修改页签中的数据(代码如下)
这时候我们的swiper 就初具雏形了
但是我们想要的效果里并没有中间的圆点指示器
所以我们需要在第一个页签的tabContent中加入swiper 并且屏蔽掉小圆点。
敲黑板!!!!
通过 indicator(false)来屏蔽
添加过属性后我们的swiper效果如下
可以看到圆点指示器已经消失了
然后我们开始对tabs 的 页签进行嵌入
我们通过嵌入swiper 和一个空页面在ui显示上已经得到如下页面
现在已经非常接近了
现在我们只需要处理好当swiper滑动到最大值的时候,tabs的切换逻辑就可以实现我们想要的效果,这时候我们需要在swiper上使用onTouch 方法,来监听触摸事件(代码如下)
分别对 按下(down)、 抬起(up) 、滑动(move)这三种状态进行监听,然后通过controller.changeIndex(tabs下标) 方法来控制tabs的切换,就是先我们想要的效果啦。
最终实现效果如下
