【Tab控件】HarmonyOS 鸿蒙Next barOverlap效果太差
【Tab控件】HarmonyOS 鸿蒙Next barOverlap效果太差
barOverlap效果太差
问题点:
- 模糊效果很奇怪(TabContent内容滚动时闪烁,看不出背景UI的轮廓),且参数貌似不可调(模糊半径等)(demo中的Tab1)
复现demo :
@Entry
@Component
export struct BarBackgroundColorTest {
private controller: TabsController = new TabsController();
@State barOverlap: boolean = true;
@State barBackgroundColor: string = '#77FFFFFF';
scroller: Scroller = new Scroller();
build() {
Column() {
Button("barOverlap变化")
.width('100%')
.margin({ bottom: '12vp' })
.onClick((event?: ClickEvent) => {
this.barOverlap = !this.barOverlap;
});
Tabs({
barPosition: BarPosition.Start,
index: 0,
controller: this.controller,
}) {
TabContent() {
Scroll(this.scroller) {
Column() {
Text(`barOverlap ${this.barOverlap}`)
.fontSize(16)
.margin({ top: this.barOverlap ? '56vp' : 0 });
for (let i = 0; i < 10; i++) {
Text(`barBackgroundColor ${this.barBackgroundColor}`)
.fontSize(16);
}
}
.width('100%')
.backgroundColor(Color.Pink)
}
.scrollable(ScrollDirection.Vertical) // 滚动方向纵向
.scrollBar(BarState.On) // 滚动条常驻显示
.scrollBarColor(Color.Gray) // 滚动条颜色
.scrollBarWidth(10) // 滚动条宽度
.friction(0.6)
.edgeEffect(EdgeEffect.None);
}
TabContent() {
Column() {
Text(`barOverlap ${this.barOverlap}`)
.fontSize(16)
.margin({ top: this.barOverlap ? '56vp' : 0 });
Text(`barBackgroundColor ${this.barBackgroundColor}`)
.fontSize(16);
}
.width('100%')
.height('100%')
.backgroundColor(Color.Red);
}
}
.vertical(false)
.barMode(BarMode.Fixed)
.height('60%')
.barOverlap(this.barOverlap)
.scrollable(false)
.animationDuration(10)
.barBackgroundColor(this.barBackgroundColor);
}
.height(300)
.padding({ top: '24vp', left: '24vp', right: '24vp' });
}
}
更多关于【Tab控件】HarmonyOS 鸿蒙Next barOverlap效果太差的实战教程也可以访问 https://www.itying.com/category-93-b0.html
可以尝试使用barBackgroundBlurStyle
属性来设置TabBar的背景模糊材质,也可以规避部分闪烁效果,但模糊半径等目前还不支持调节。
可以参考下面的文档链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-tabs-V5# 属性
更多关于【Tab控件】HarmonyOS 鸿蒙Next barOverlap效果太差的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对帖子标题中提到的“HarmonyOS 鸿蒙Next barOverlap效果太差”的问题,以下是专业且直接的回答:
在HarmonyOS中,barOverlap
效果通常用于处理状态栏或导航栏与内容区域的重叠问题。如果效果不理想,可能是由于以下几个原因:
-
布局配置不当:检查你的布局文件,确保使用了正确的布局参数来控制元素的重叠。例如,使用
fitsSystemWindows
属性来控制是否让系统窗口(如状态栏)留出空间。 -
主题或样式冲突:确认你的应用主题或样式是否与HarmonyOS的默认行为兼容。有时候,自定义主题可能会覆盖或干扰系统默认的重叠效果。
-
系统版本差异:不同版本的HarmonyOS可能在处理
barOverlap
时存在差异。确保你的应用已经针对当前目标系统版本进行了优化。 -
代码实现问题:如果你在代码中动态控制重叠效果,检查相关逻辑是否正确。确保在适当的时机调整布局参数。
如果上述检查都无法解决问题,可能需要更深入地分析应用的布局和代码实现。此外,也可以考虑查看HarmonyOS的官方文档或示例代码,以获取更多关于如何正确实现barOverlap
效果的指导。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,