HarmonyOS Tabs组件标题长度如何自适应
如何设置能使标题长度自适应,每个标题的间距固定,代码如下:
@Component
export struct LUACHomeMainRecommendView {
  @Prop recommendModel: LUACHTObject<LUACHTRecommendInfoData>
  @State currentIndex: number = 0
  @Builder
  tabBuilder(index: number, name?: string) {
    RelativeContainer() {
      Text(name)
        .fontColor(this.currentIndex === index ? $r('app.color.lucc_ui_color_222222') :
        $r('app.color.luac_home_tab_color_758190'))
        .fontSize(16)
        .textAlign(TextAlign.Center)
        .width('100%')
        .maxLines(1)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          middle: { anchor: '__container__', align: HorizontalAlign.Center },
          top: { anchor: '__container__', align: VerticalAlign.Top },
        })
        .margin({ top: 8 })
        .id('title')
      Image($r('app.media.luac_home_tab_progressline'))
        .width(65)
        .height(4)
        .opacity(this.currentIndex === index ? 1 : 0)
        .alignRules({
          middle: { anchor: 'title', align: HorizontalAlign.Center },
          bottom: { anchor: '__container__', align: VerticalAlign.Bottom },
        })
        .margin({ bottom: 8 })
        .id('image')
    }
    .width('100%')
    .margin({
      top: 10,
      bottom: 0,
      left: 10,
      right: 10
    })
  }
  build() {
    Column() {
      if (this.recommendModel.data && this.recommendModel.data.length > 0) {
        Tabs({ barPosition: BarPosition.Start }) {
          ForEach(this.recommendModel.data, (item: LUACHTRecommendInfoData, index: number) => {
            TabContent() {
              Row() {
                Text(item.tabName)
                  .height(182)
                  .fontSize(20)
              }
              .backgroundColor(Color.Orange)
              .justifyContent(FlexAlign.Center)
              .width('100%')
              .height('100%')
            }.tabBar(this.tabBuilder(index, item.tabName))
          }, (item: LUACHTRecommendInfoData, index: number) => JSON.stringify(item) + index)
        }
        .vertical(false)
        .barMode(BarMode.Scrollable, { margin: 10, nonScrollableLayoutStyle: LayoutStyle.SPACE_BETWEEN_OR_CENTER })
        .fadingEdge(false)
        // .barWidth(80)
        // .barWidth('100%')
        .barHeight(44)
        .animationDuration(300)
        .onAnimationStart((index: number, targetIndex: number) => {
          this.currentIndex = targetIndex;
        })
        .width('100%')
        .height('100%')
      }
    }.width('100%')
  }
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS Tabs组件,TabContent的高度无法自适应内容组件高度 
1558浏览  • 1回复 待解决
Grid组件如何实现高度自适应 
4521浏览  • 1回复 待解决
Web组件如何实现高度自适应? 
2081浏览  • 1回复 待解决
HarmonyOS Text组件如何实现文字大小自适应? 
2293浏览  • 1回复 待解决
HarmonyOS Grid 组件如何根据子元素自适应高度? 
1098浏览  • 1回复 待解决
HarmonyOS web组件自适应高度问题 
2282浏览  • 1回复 待解决
HarmonyOS  web组件怎么自适应高度 
1117浏览  • 1回复 待解决
HarmonyOS Grid组件能否高度自适应 
1186浏览  • 1回复 待解决
HarmonyOS 自适应父组件高度问题 
2415浏览  • 1回复 待解决
HarmonyOS 自定义弹窗中放Web组件, 弹窗高度不能自适应, Web高度不能自适应 
1025浏览  • 1回复 待解决
HarmonyOS gridItem不能根据内部组件自适应大小 
767浏览  • 1回复 待解决
HarmonyOS RelativeContainer如何实现自适应自组件宽高? 
1065浏览  • 1回复 待解决
HarmonyOS  Grid组件能否自适应内容高度? 
957浏览  • 1回复 待解决
HarmonyOS Text无法自适应 
927浏览  • 1回复 待解决
HarmonyOS  RichText自适应高度 
1175浏览  • 1回复 待解决
arktsUI组件的自适应要怎么? 
1631浏览  • 1回复 待解决
HarmonyOS  webview如何设置自适应 
1762浏览  • 1回复 待解决
HarmonyOS grid如何自适应宽度 
1187浏览  • 1回复 待解决
HarmonyOS  web组件如何实现根据html字符内容高度自适应 
1258浏览  • 1回复 待解决
HarmonyOS RelativeContainer、List组件怎么实现自适应内容高度 
3427浏览  • 2回复 待解决
HarmonyOS 高度自适应 
1415浏览  • 1回复 待解决
HarmonyOS 如何实现自适应web的高度 
1034浏览  • 1回复 待解决
HarmonyOS webview高度不能自适应 
1117浏览  • 1回复 待解决
HarmonyOS RichText能否自适应高度 
885浏览  • 1回复 待解决
HarmonyOS  Web高度自适应问题 
2076浏览  • 1回复 待解决





















可参考文档示例6:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-tabs-V5#示例6
可使用自定义tabbar,参考示例如下: