HarmonyOS Tab居中问题

三个tab:推荐 关注 大家

能否左对齐?给Tab自身设置了.alignSelf(ItemAlign.Start).align(Alignment.Start)无效。

HarmonyOS
2024-12-26 14:22:14
463浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

当前Tab组件不支持居左显示,可以自定义实现。参考demo如下:

@Entry
@Component
export default struct SegmentTabView {
  private controller: TabsController = new TabsController()
  @State tabs: string[] = ['新能源', "选车"];
  @State currentIndex: number = 0;
  @Builder
  TabBuilder(tabName: string, index: number) {
    Column() {
      Text(tabName)
        .fontColor(Color.Black)
        .fontSize(this.currentIndex === index ? 19 : 16)
        .fontWeight(this.currentIndex === index ? 800 : 400)
        .margin({ left: 10, right: 10 })
      Image($r('app.media.startIcon'))
        .margin({ top: 5 })
        .width(17)
        .height(5)
        .visibility(this.currentIndex === index ? Visibility.Visible : Visibility.Hidden)
    }.justifyContent(FlexAlign.Center).onClick(() => {
      this.currentIndex = index
      this.controller.changeIndex(index)
    })
  }
  build() {
    Column() {
      //自定义点击控件
      Scroll() {
        Row() {
          ForEach(this.tabs, (tabName: string, index: number) => {
            this.TabBuilder(tabName, index)
          })
        }.alignSelf(ItemAlign.Start)
      }
      .align(Alignment.Start)
      .scrollable(ScrollDirection.Horizontal)
      .scrollBar(BarState.Off)
      .width('100%')
      // 设置tabs高度为0隐藏
      Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {
        ForEach(this.tabs, (item: number, index: number) => {
          TabContent() {
            Text('我是页面 ' + item + " 的内容").fontSize(30)
          }
        })
      }.barHeight(0)
    }.width('100%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
分享
微博
QQ
微信
回复
2024-12-26 16:45:04


相关问题
HarmonyOS RelativeContainer的居中问题
1264浏览 • 1回复 待解决
Tab组件问题
723浏览 • 1回复 待解决
HarmonyOS UI布局水平居中问题
912浏览 • 1回复 待解决
HarmonyOS 关于Tabs只能居中问题
483浏览 • 1回复 待解决
HarmonyOS Navigation和Tab组件问题
2072浏览 • 1回复 待解决
HarmonyOS Scroll包裹的控件默认居中问题
1156浏览 • 1回复 待解决
HarmonyOS tab组件生命周期问题
723浏览 • 1回复 待解决
Tab控件切换问题有哪些?
1194浏览 • 1回复 待解决
HarmonyOS Tabs组件的Tab栏滚动问题
1543浏览 • 1回复 待解决
HarmonyOS 文本居中
1079浏览 • 1回复 待解决
HarmonyOS flex居中
718浏览 • 1回复 待解决
TAB菜单栏相关问题如何解决?
1193浏览 • 1回复 待解决
Tab组件内嵌web view左右滑动切换问题
1089浏览 • 1回复 待解决
HarmonyOS Row组件怎么居中
568浏览 • 1回复 待解决