HarmonyOS 鸿蒙Next Tabs页签默认居中如何改为居左并保持TabsContent 100%宽度 HarmonyOS 鸿蒙Next 我有三个Tabs标签分别为课程、直播、我的课程想让它们居左展示但保持TabsContent展示100%宽度

HarmonyOS 鸿蒙Next Tabs页签默认居中如何改为居左并保持TabsContent 100%宽度
HarmonyOS 鸿蒙Next 我有三个Tabs标签分别为课程、直播、我的课程想让它们居左展示但保持TabsContent展示100%宽度

Tabs的页签默认居中的。  我有三个Tabs标签,分别为 课程、直播、我的课程,我想让他们居左展示,但TabsContent 需要展示100%宽度

4 回复
TabBar暂不支持居左或居右显示。可自定义Tab,代码参考如下
[@Entry](/user/Entry)

@Component

struct TabDemo5 {

@State tabArray: Array<number> = [0, 1, 2 ]

@State focusIndex: number = 0

@State pre: number = 0

@State index: number = 0

private controller: TabsController = new TabsController()

@State test: boolean = false

// 单独的页签

@Builder

Tab(tabName: string, tabItem: number, tabIndex: number) {

Column({ space: 20 }) {

Text(tabName)

.fontSize(22)

.fontColor(tabIndex === this.focusIndex ? "#0000FF " : “#000000”)

.margin({top: ‘17%’})

}

.width(85)

.height(60)

.onClick(() => {

this.controller.changeIndex(tabIndex)

this.focusIndex = tabIndex

})

}

build() {

Column() {

Column() {

// 页签

Row({ space: 7 }) {

Scroll() {

Row() {

ForEach(this.tabArray, (item: number, index: number) => {

this.Tab(“页签” + item, item, index)

})

}

}

.align(Alignment.Start)

.scrollable(ScrollDirection.Horizontal)

.scrollBar(BarState.Off)

.width(‘100%’)

.height(‘10%’)

.backgroundColor(Color.Pink)

}

.width(‘100%’)

.backgroundColor(Color.Pink)

//tabs

Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {

ForEach(this.tabArray, (item: number, index: number) => {

TabContent() {

Text('我是页面 ’ + item + " 的内容")

.height(300)

.width(‘100%’)

.fontSize(30)

}

.backgroundColor(Color.Gray)

})

}

.barHeight(0)

.animationDuration(100)

.onChange((index: number) => {

console.log(‘foo change’)

this.focusIndex = index

})

}

.alignItems(HorizontalAlign.Start)

.width(‘100%’)

}

.height(‘100%’)

}

}

更多关于HarmonyOS 鸿蒙Next Tabs页签默认居中如何改为居左并保持TabsContent 100%宽度 HarmonyOS 鸿蒙Next 我有三个Tabs标签分别为课程、直播、我的课程想让它们居左展示但保持TabsContent展示100%宽度的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好像是不行,得自定义tabbar了
.barMode(BarMode.Scrollable)

设置标签模式

在HarmonyOS鸿蒙Next中,若要将Tabs页签默认居中改为居左并保持TabsContent 100%宽度,可以通过以下方式实现:

  1. 修改Tabs布局

    • 查找Tabs组件的布局配置,将Tabs的页签对齐方式设置为居左。这通常在Tabs组件的属性中设置,例如tabAlignment="left"
  2. 设置TabsContent宽度

    • 确保TabsContent的宽度设置为100%。这可以通过CSS样式直接设置,或在组件的属性中指定宽度为100%
  3. 示例代码(假设使用XML布局):

    <Tabs tabAlignment="left">
        <TabList>
            <Tab title="课程" />
            <Tab title="直播" />
            <Tab title="我的课程" />
        </TabList>
        <TabsContent>
            <Page width="100%" content="课程页面内容" />
            <Page width="100%" content="直播页面内容" />
            <Page width="100%" content="我的课程页面内容" />
        </TabsContent>
    </Tabs>
    

以上配置将Tabs页签设置为居左显示,同时保证TabsContent的宽度为100%。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部