HarmonyOS 鸿蒙Next关于hdstabs的另一个问题
HarmonyOS 鸿蒙Next关于hdstabs的另一个问题 是不是用了hdstabs+悬浮效果,就无法支持通过长按来修改设定启动页?只有自定义的导航栏才行?
开发者您好,针对您的问题经测试可以通过自定义TabBar实现长按事件:
//自定义TabBar构建函数
@Builder
customTabBarBuilder(item: MenuItem) {
Column() {
Text(item.label).fontSize(14)
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
.gesture(
LongPressGesture({ duration: 1000 })
.onAction((event: GestureEvent) => {
console.error(`长按来源normalTab: ${item.label}`);
})
)
}
TabContent() {
//...
}
.tabBar(this.customTabBarBuilder(item))
测试结果:

更多关于HarmonyOS 鸿蒙Next关于hdstabs的另一个问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
自定义的我知道能支持,我的问题是呃, HDSTABS不支持对吧?,
而且这个办法,我已经应用在自定义导航栏上,还配置了设置项,但是重启后依旧在加载第一个页面
您未提供HTML内容,请补充后再尝试转换。

这个效果就很明显了吧,HDS绝对没有假。
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
666😄
实践出真知

代码的页面效果,长按是可以触发事件的。
这么神奇啊,我问了华为的智能AI的。他都说HDSTABS这种组件加上悬浮效果之后,是不能够支持长按的,
AI也是有解决方案在网上发出来,它才抓取了才回答的。,
hdstabs在HarmonyOS Next中需注意数据同步与状态管理。动态增删tab后调用TabsController的notifyDataChange()刷新布局;切换定位使用changeIndex();避免在TabBuilder内声明@State引发重复构建。如遇内容空白,检查tabContent是否绑定正确组件ID。
在 HarmonyOS NEXT 中,HDSTabs 组件的悬浮效果(sticky 属性)确实会改变内部布局逻辑,导致长按菜单的触发区域或手势识别受到影响。系统默认的启动页修改通常依赖导航栏区域的长按手势,但 HDSTabs 悬浮时其自身渲染层级和事件响应与系统原生导航栏不同,容易造成手势冲突或失效。因此,要实现长按修改启动页的功能,一般需要开发者自行实现自定义导航栏,并手动处理长按事件与页面栈操作,这是更可靠的方案。简言之,HDSTabs 的悬浮模式不支持该系统的内置编辑功能,必须改用自定义导航栏。


