如何实现Tabs组件的TabBar从左到右依次排列

如何实现Tabs组件的TabBar从左到右依次排列

HarmonyOS
2024-03-17 17:22:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
LenZhong

系统提供的Tabs暂不支持居左显示,可以通过Scroll和Row组件用来实现一个页签,在onclick事件中通过修改索引值和Tabs组件的索引联动,实现切换效果,同时将Tabs的barHeight置为0。具体实现可参考如下示例代码:

// xxx.ets 
@Entry 
@Component 
struct TabsExample { 
  @State tabArray: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  @State focusIndex: number = 0; 
  private controller: TabsController = new TabsController(); 
 
  build() { 
    Column() { 
      // 使用自定义页签组件 
      Scroll() { 
        Row() { 
          ForEach(this.tabArray, (item: number, index: number) => { 
            Row({ space: 20 }) { 
              Text('页签' + item) 
                .fontWeight(index === this.focusIndex ? FontWeight.Bold : FontWeight.Normal) 
            } 
            .padding({ left: 10, right: 10 }) 
            .onClick(() => { 
              this.controller.changeIndex(index); 
              this.focusIndex = index; 
            }) 
          }) 
        } 
      } 
      .align(Alignment.Start) 
      .scrollable(ScrollDirection.Horizontal) 
      .scrollBar(BarState.Off) 
      .width('100%') 
 
      //tabs组件把tabbar隐藏 
      Tabs({ barPosition: BarPosition.Start, controller: this.controller }) { 
        ForEach(this.tabArray, (item: number, index: number) => { 
          TabContent() { 
            Text('我是页面 ' + item + " 的内容") 
              .fontSize(30) 
          } 
        }) 
      }.barHeight(0) 
    } 
    .height('100%') 
    .width('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-03-18 21:04:22
相关问题
如何TabstabBar,添加其他组件
26浏览 • 1回复 待解决
如何实现Tabs组件tarbar吸顶效果
255浏览 • 1回复 待解决
如何实现文本竖向排列
1096浏览 • 1回复 待解决
如何选择Navigation 组件Tabs 组件
962浏览 • 1回复 待解决
Tab组件Tabbar中字体颜色如何修改
463浏览 • 1回复 待解决
Tabs组件嵌套滑动组件
678浏览 • 1回复 待解决
Tabs组件懒加载问题
1027浏览 • 1回复 待解决
如何自定义模拟Tabs组件
436浏览 • 1回复 待解决
如何去除Tabs组件两侧蒙层
873浏览 • 1回复 待解决
Navigation实现Tabs切换效果
553浏览 • 1回复 待解决
基于tabs实现页面布局
244浏览 • 1回复 待解决
视频列表不规则排列
382浏览 • 1回复 待解决
tabs组件 左右滑动延迟较高
501浏览 • 1回复 待解决
linux shell利用for语句依次输出
5056浏览 • 1回复 待解决
tabs结合scroll实现吸顶效果
484浏览 • 1回复 待解决
Tab导航栏tabbar组件突出上沿显示
851浏览 • 1回复 待解决