Tabs控件在使用时无法改变tab的字体颜色,同时在设置scorllable模式的时候无法靠前开始布局
Tabs({
index: this.selectedIndex,
barPosition: BarPosition.Start,
controller: this.controller,
}) {
ForEach(this.segmentData, (item: HPCustomSegmentData, tabIndex: number) => {
TabContent() {
if (this.contentBuilders[tabIndex].wrappedbuilder) {
this.contentBuilders[tabIndex].wrappedbuilder?.builder(this.contentBuilders[tabIndex].param)
}
}
.tabBar(SubTabBarStyle.of(this.segmentData[tabIndex].title)
.indicator(
{
color: $r('app.color.primary_button'), //下划线颜色
height: 2, //下划线高度
width: 30, //下划线宽度
marginTop: 16 //下划线与文字间距
})
.selectedMode(SelectedMode.INDICATOR)
.labelStyle({})
)
})
}
.vertical(false)
.scrollable(true)
.backgroundColor($r('app.color.bg'))
.barWidth('100%')
.barMode(BarMode.Scrollable)
.width(CommonConstants.FULL_PERCENT)
.layoutWeight(1)
.onChange((index: number) => {
this.selectedIndex = index;
})
1.按照提供的demo,切换active tabBar是没问题的:
2.系统提供的Tabs暂不支持居左显示,可以通过Scroll和Row组件用来实现一个页签,自定义tabbar,在onclick事件中通过修改索引值和Tabs组件的索引联动,实现切换效果,同时将Tabs的barHeight置为0