HarmonyOS 鸿蒙Next:子view高度未完整显示,非容器剩余高度而是容器100%高度
HarmonyOS 鸿蒙Next:子view高度未完整显示,非容器剩余高度而是容器100%高度
线性容器里面 第一层有了两个view 一个是顶部view 第二个scroll scroll内部的view整体高度超过了屏幕的高度,但是scroll里面最后一个view没有显示完整,看遮挡范围大概是顶部view的高度
build() {
Column() {
SelectDateHorizontalView()
Scroll() {
Stack({ alignContent: Alignment.Top }) {
LifeRecordSingleDayCompareView()
Column() {
InputFingerTargetMaxMinView()
BloodSugarTargetMaxMinView()
BloodSugarLineChartView()
LifeRecordListView()
}
.width(‘100%’)
.padding({ left: this.padLeft, right: this.padLeft, bottom: $r(‘app.float.marge_view_top’) })
.margin({ top: this.padTop, left: this.padLeft, right: this.padLeft })
}
}
.width(‘100%’)
.height(‘auto’)
}
.width(‘100%’)
.height(‘100%’)
.backgroundColor($r(‘app.color.bg_activity_light_green’))
.justifyContent(FlexAlign.Start)
}
临时解决办法 获取第一层容器的高度和顶部view的高度 计算scroll 能使用的高度 将scroll的高度进行动态设置
build() {
Column() {
SelectDateHorizontalView()
.onSizeChange((oldValue: SizeOptions, newValue: SizeOptions) => {
this.highSelect = newValue.height as number
})
Scroll() {
Stack({ alignContent: Alignment.Top }) {
LifeRecordSingleDayCompareView()
Column() {
InputFingerTargetMaxMinView()
BloodSugarTargetMaxMinView()
BloodSugarLineChartView()
LifeRecordListView()
}
.width(‘100%’)
.padding({ left: this.padLeft, right: this.padLeft, bottom: $r(‘app.float.marge_view_top’) })
.margin({ top: this.padTop, left: this.padLeft, right: this.padLeft })
}
}
.width(‘100%’)
.height(this.highLayout - this.highSelect)
}
.width(‘100%’)
.height(‘100%’)
.backgroundColor($r(‘app.color.bg_activity_light_green’))
.justifyContent(FlexAlign.Start)
.onSizeChange((oldValue: SizeOptions, newValue: SizeOptions) => {
this.highLayout = newValue.height as number
})
}
除了上面这个方法以外,还有没有其他方法可以解决这个问题的
关于HarmonyOS 鸿蒙Next:子view高度未完整显示,非容器剩余高度而是容器100%高度的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
3 回复
要会使用 layoutweight