news 2026/5/14 14:59:32

液态tabs

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
液态tabs

ZSTabs - 沉浸式液态指示器TabBar

特性

🎨 沉浸式光感效果

  • 使用HarmonyOS Design System的沉浸材质(IMMERSIVE + EXQUISITE)
  • 实现玻璃质感的液态指示器
  • 支持点光源照明效果

💧 液态交互体验

  • 拖动时指示器产生液态拉伸/收缩效果
  • 根据滑动速度动态调整形变程度
  • 滑动时图标/文本模糊效果,增强液态感
  • 智能吸附到最近页签锚点

🏗️ 状态管理V2

  • 使用最新的@ComponentV2装饰器
  • @Local替代传统@State状态管理
  • @Monitor替代@Watch监听器
  • 符合HarmonyOS最新规范

⚡ 最新API适配

  • 使用getUIContext().animateTo()替代全局animateTo()
  • 符合HarmonyOS API最新规范
  • 更好的UI上下文管理

安装

ohpminstall@shuishenhuole/zstabs

使用示例

import{ZSTabs}from'zstabs'@BuilderfunctionHomeBuilder(){Stack(){Text("Hello world HomeBuilder")}}@BuilderfunctionPageOneBuilder(){Stack(){Text("Hello world PageOneBuilder")}}@BuilderfunctionPageTwoBuilder(){Stack(){Text("Hello world PageTwoBuilder")}}@BuilderfunctionPageThreeBuilder(){Stack(){Text("Hello world PageThreeBuilder")}}@Entry@ComponentV2struct Index{@LocalIndex:number=0build(){Column(){ZSTabs({currentIndicatorIndex:this.Index!!,tabsOption:{tabItems:[{title:"首页",color:$r('sys.color.icon'),selectColor:$r('sys.color.warning'),icon:$r('sys.media.ohos_ic_public_remove'),builder:wrapBuilder(HomeBuilder),},{title:"第一页",icon:$r('sys.media.ohos_ic_public_remove'),builder:wrapBuilder(PageOneBuilder),color:$r('sys.color.icon'),selectColor:$r('sys.color.warning'),},{title:"第二页",color:$r('sys.color.icon'),selectColor:$r('sys.color.warning'),icon:$r('sys.media.ohos_ic_public_remove'),builder:wrapBuilder(PageTwoBuilder)},{title:"第三页",color:$r('sys.color.icon'),selectColor:$r('sys.color.warning'),icon:$r('sys.media.ohos_ic_public_remove'),builder:wrapBuilder(PageThreeBuilder)},],maskColor:"#8d5ce7"}})}}}

配置项说明

核心组件ZSTabs

参数类型必填默认值说明
currentIndicatorIndexnumber-tabbar的当前页索引 使用!!双向绑定
tabsOptiontabsOption-tab的配置项
maskColorResourceColor20按压的光感颜色

ZSTabsOptions

参数类型必填默认值说明
tabItemsZSTabsItem[]-Tab页签配置数组 目前支持的数组长度为2-4
barBottomMarginnumber | Resource20TabBar底部间距

ZSTabsItem

参数类型必填默认值说明
titlestring-页签标题文本
iconResource-页签图标资源
colorResourceColor-页签未选中时的颜色
selectColorResourceColor-页签选中时的颜色
builderWrappedBuilder<[]>-页签内容构建器

致谢

本项目基于 对沉浸光感tabbar的优化改造 进行重构和优化。

核心光感来自hds_button 感谢开源

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 14:58:24

LoongArch架构Qt开发实战:从交叉编译到2K0300部署全流程

1. 项目概述与核心问题解析 最近在折腾国产的龙芯2K0300开发板&#xff0c;想在上面跑一个自己写的Qt界面程序。这块板子用的是LoongArch&#xff08;LA&#xff09;架构的处理器&#xff0c;和咱们平时熟悉的x86或者ARM都不太一样。很多朋友&#xff0c;包括我自己一开始&…

作者头像 李华
网站建设 2026/5/14 14:56:28

告别网盘限速:LinkSwift直链助手如何重塑你的下载体验

告别网盘限速&#xff1a;LinkSwift直链助手如何重塑你的下载体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…

作者头像 李华
网站建设 2026/5/14 14:48:39

小满nestjs(第十三章 NestJS 中间件实战:从基础到高阶应用)

1. NestJS中间件基础入门 第一次接触NestJS中间件时&#xff0c;我把它想象成高速公路上的收费站。每辆汽车&#xff08;请求&#xff09;在到达目的地&#xff08;路由处理器&#xff09;之前&#xff0c;都必须经过这些检查点。中间件最神奇的地方在于&#xff0c;它能在请求…

作者头像 李华
网站建设 2026/5/14 14:44:18

[Android] PiliPlus v2.0.7.1:第三方B站客户端,畅享纯净哔哩哔哩

最新[Android]哔哩哔哩第三方客户端 链接&#xff1a;https://pan.quark.cn/s/6f55fa2dcc90 PiliPlus 是一款基于 Flutter 开发的第三方 B站客户端&#xff0c;它精简了原生界面&#xff0c;优化了内容呈现方式。软件不仅支持流畅浏览动画剧集、观看各类长短视频&#xff0c;还…

作者头像 李华
网站建设 2026/5/14 14:44:14

靠智能体创业月入8万,我总结的所有实战经验

文章目录前言一、为什么2026年是智能体创业的黄金窗口期1.1 市场爆发式增长&#xff0c;需求远大于供给1.2 技术门槛骤降&#xff0c;普通人也能入局1.3 传统程序员的困境与智能体的降维打击二、我踩过的3个致命大坑&#xff0c;每个都差点让我血本无归2.1 盲目卷技术&#xff…

作者头像 李华