注:适用版本(HarmonyOS NEXT/5.0/API12+)
以上两种都是Divider,但是我们会发现问题,是的,就是你想的那样,虽然用起来效果倒是没什么区别,可是写法却大有不同,现在就给大家解答
先来说说Divider
1. Divider 组件
-
用途
独立的通用分隔线组件,用于在内容之间创建明显的视觉分割(水平或垂直方向)。
例如:分隔不同模块、段落、表单字段等。 -
特性
-
支持水平或垂直方向 (
type="horizontal"
或type="vertical"
)。 -
可添加文字标题(居中或左对齐)。
-
可自定义样式(颜色、粗细、虚线等)。
-
独立存在,不依赖其他组件。
-
其次来看diriver
2. Tabs 组件中的分隔线
-
用途
Tabs
组件内部的分隔线,用于增强标签页的视觉结构,例如:-
标签项之间的分隔线(如多个标签项之间的竖线)。
-
标签栏与内容区域的分隔线(标签栏底部的横线)。
-
-
特性
-
内置于
Tabs
组件,通常无需单独配置。 -
样式和行为与
Tabs
组件紧密相关(如标签栏的边框、标签项间距)。 -
可通过
Tabs
的 props 间接控制(如tabBarStyle
,tabBarGutter
)。
-
其实也就是一张图概括
那么我们何时使用呢?
-
用
Divider
:当需要通用、独立的分隔线时(如分割表单字段、模块)。 -
用 Tabs 的内部分隔线:当需要调整标签页的视觉结构时(如修改标签项间距或底部边框)。
如果需要自定义 Tabs
的分隔线样式,通常需要结合 tabBarStyle
或通过 CSS 覆盖默认样式。
Divider()
.strokeWidth(8)
.color($r('app.color.common_gray_bg'))
.divider({
strokeWidth: 5,
color: $r('app.color.common_gray_bg')
})