HarmonyOS Scroll组件嵌套RelativeContainer组件后 无法滑动?

使用Scroll组件包裹RelativeContainer组件后,RelativeContainer组件里的内容无法滑动。截图中的代码什么都不改变,只把RelativeContainer组件替换成Column组件后,就可以滑动

build() {
  Scroll() {
    RelativeContainer() {
      Image($r("app.media.ic_home_banner"))
        .width("100%")
        .height(Dimension.LPX_290)
        .objectFit(ImageFit.Cover)
        .alignRules({
          top: {
            anchor: "__container__",
            align: VerticalAlign.Top
          }
        })

      Image($r("app.media.ic_home_change_hair_bg"))
        .id("change_hair_bg")
        .width("100%")
        .height(Dimension.LPX_274)
        .objectFit(ImageFit.Cover)
        .margin({
          top: Dimension.LPX_222
        })
        .alignRules({
          top: {
            anchor: "__container__",
            align: VerticalAlign.Top
          }
        })

      Image($r("app.media.ic_goddess_hairstyle_title"))
        .id("goddess_hairstyle_title")
        .width(Dimension.LPX_112)
        .height(Dimension.LPX_24)
        .objectFit(ImageFit.Fill)
        .alignRules({
          top: {
            anchor: "change_hair_bg",
            align: VerticalAlign.Top
          },
          left: {
            anchor: "__container__",
            align: HorizontalAlign.Start
          }
        })
        .margin({
          top: Dimension.LPX_34,
          left: Dimension.LPX_15
        })

      List() {
        ForEach(this.goddessHairstyleBeanList, (bean: HairstyleBean, index: number) => {
          this.HairstyleItemBuilder(bean, index)
        })
      }
      .id("goddess_hairstyle_list")
      .width("100%")
      .height(Dimension.LPX_150)
      .listDirection(Axis.Horizontal)
      .divider({
        strokeWidth: Dimension.LPX_13,
        startMargin: Dimension.LPX_15,
        endMargin: Dimension.LPX_15,
        color: $r("app.color.transparent")
      })
      .scrollBar(BarState.Off)
      .alignRules({
        top: { anchor: "goddess_hairstyle_title", align: VerticalAlign.Bottom }
      })
      .margin({
        top: Dimension.LPX_14
      })

      Image($r("app.media.ic_male_god_hairstyle_title"))
        .id("male_god_hairstyle_title")
        .width(Dimension.LPX_112)
        .height(Dimension.LPX_24)
        .objectFit(ImageFit.Fill)
        .alignRules({
          top: {
            anchor: "goddess_hairstyle_list",
            align: VerticalAlign.Bottom
          },
          left: {
            anchor: "__container__",
            align: HorizontalAlign.Start
          }
        })
        .margin({
          top: Dimension.LPX_20,
          left: Dimension.LPX_15
        })

      List() {
        ForEach(this.maleGodHairstyleBeanList, (bean: HairstyleBean, index: number) => {
          this.HairstyleItemBuilder(bean, index)
        })
      }
      .id("male_god_hairstyle_list")
      .width("100%")
      .height(Dimension.LPX_150)
      .listDirection(Axis.Horizontal)
      .divider({
        strokeWidth: Dimension.LPX_13,
        startMargin: Dimension.LPX_15,
        endMargin: Dimension.LPX_15,
        color: $r("app.color.transparent")
      })
      .scrollBar(BarState.Off)
      .alignRules({
        top: {
          anchor: "male_god_hairstyle_title",
          align: VerticalAlign.Bottom
        }
      })
      .margin({
        top: Dimension.LPX_14
      })


      Text("2333333333333333333333333333")
        .width("100%")
        .height("300lpx")
        .fontColor("#333333")
        .fontSize(Dimension.LPX_30)// .textAlign(TextAlign.Center)
        .backgroundColor("#FFFFFF")
        .alignRules({
          top: { anchor: "male_god_hairstyle_list", align: VerticalAlign.Bottom }
        })
        .margin({
          top: Dimension.LPX_14
        })
    }
    .width("100%")
    .height("auto")
  }
  .width("100%")
  .height("100%")
  .scrollBar(BarState.Off)
  .scrollable(ScrollDirection.Vertical)
}

阅读 485
1 个回答

.justifyContent(FlexAlign.Center)是居中显示的,如果要去掉居中,可以注释掉.justifyContent(FlexAlign.Center)。Scroll已经是100%了,再把column设为100%,就会把Scroll撑满,不建议这么做

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进