OpenHarmony之Tabs自定义tabBar
Column() {Column() {.width(28)Text(name)效果展示。
·
Tabs
通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图。
子组件
不支持自定义组件作为子组件, 仅可包含子组件TabContent, 以及渲染控制类型if/else和ForEach, 并且if/else和ForEach下也仅支持TabContent, 不支持自定义组件。
接口
Tabs(value?: {barPosition?: BarPosition, index?: number, controller?: TabsController})
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| barPosition | BarPosition | 否 | 设置Tabs的页签位置。 默认值:BarPosition.Start |
| index | number | 否 | 设置当前显示页签的索引。 默认值:0 说明: 设置为小于0的值时按默认值显示。 可选值为[0, TabContent子节点数量-1]。 直接修改index跳页时,切换动效不生效。 使用TabController的changeIndex时,默认生效切换动效,可以设置animationDuration为0关闭动画。 从API version 10开始,该参数支持$$双向绑定变量。 |
| controller | TabsController | 否 | 设置Tabs控制器。 |
详细属性参阅官方文档
自定义tabBar
@Builder tabBuilder(index: number, name: string ,selectIcon:Resource,unselectIcon:Resource,border_radius_left:number,border_radius_right:number) {
Column() {
Column() {
Image(this.currentIndex === index ? selectIcon: unselectIcon)
.width(28)
.height(26)
Text(name)
.fontSize(16)
.fontColor(this.currentIndex === index ? "#BEFF33" : "#9C9C9C")
}.width('100%').height('100%').margin({top:5})
}.width('100%').height('100%')
.backgroundColor('#000000')
.borderRadius({topLeft:border_radius_left,topRight:border_radius_right,bottomLeft:border_radius_left,bottomRight:border_radius_right})
.margin({left:border_radius_left,right:border_radius_right})
}
效果展示

更多推荐
所有评论(0)