HarmonyOS Scroll嵌套RelativeContainer无法滑动,但是换成Column就可以

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

竖直方向上,RelativeContainer height设置auto,高度由子组件撑开,可滑动;如果常规情况下RelativeContainer 具备宽高,子元素又脱离文档流,这种情况下外套scroll可能会出现未知错误,这种情况下推荐使用其他容器组件替代布局。

@Entry
@Component
struct Index {
  scroller: Scroller = new Scroller;

  build() {
    Scroll(this.scroller) {
      RelativeContainer() {
        Row().width(100).height(500)
          .backgroundColor("#FF3333")
          .id("row1")

        Row()
          .width(100)
          .height(500)
          .backgroundColor("#FFCC00")
          .alignRules({
            left: { anchor: "row1", align: HorizontalAlign.End },
            top: { anchor: "row1", align: VerticalAlign.Top }
          })
          .id("row2")

        Row()
          .width(100)
          .height(500)
          .backgroundColor("#FF6633")
          .alignRules({
            left: { anchor: "row1", align: HorizontalAlign.Start },
            top: { anchor: "row1", align: VerticalAlign.Bottom }
          })
          .id("row3")

        Row()
          .width(100)
          .height(500)
          .backgroundColor("#FF9966")
          .alignRules({
            left: { anchor: "row3", align: HorizontalAlign.End },
            top: { anchor: "row2", align: VerticalAlign.Bottom }
          })
          .id("row4")
      }
      .width("auto").height("auto")
      .margin({ left: 50 })
      .border({ width: 2, color: "#6699FF" })
    }
    .backgroundColor(Color.Yellow)
    .height('50%')
    // .edgeEffect(EdgeEffect.Spring)
    .scrollSnap({snapAlign:ScrollSnapAlign.START, snapPagination:400, enableSnapToStart:true, enableSnapToEnd:true})
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS Scroll嵌套RelativeContainer 问题
356浏览 • 1回复 待解决
HarmonyOS Scroll 嵌套 RelativeContainer 问题
525浏览 • 1回复 待解决
HarmonyOS scroll嵌套list页面无法滑动
51浏览 • 1回复 待解决
Scroll与WaterFlow滑动嵌套
1085浏览 • 1回复 待解决
scroll和list的嵌套滑动
1559浏览 • 1回复 待解决
HarmonyOS scroll嵌套List不能整体滑动
521浏览 • 1回复 待解决
HarmonyOS Scroll组件无法滑动
474浏览 • 1回复 待解决