HarmonyOS 鸿蒙Next scroll下内容显示不全,超过屏幕内容消失了
HarmonyOS 鸿蒙Next:scroll下内容显示不全,超过屏幕内容消失了
Column() {
this.titlebar(3)
Divider().strokeWidth(1).width(‘100%’)
Scroll() {
Column() {
Banner()
ForEach(this.items, (item: number) => {
if (true) { //这里需要根据showFlag判断是否显示 1-是 2-否 [1, 5, 3, 2, 4, 6, 8, 7]
//1-快速咨询 2-大专题 3-特权 4-活动 5-健康力 6-超大专题(四大策略)7-小专题 8-中专题
if (item === 1) {
this.mainSubject()
Divider().strokeWidth(10).width(‘100%’).color("#ffffff")
} else if (item === 2) {
this.largeSubject()
Divider().strokeWidth(10).width(‘100%’).color("#ffffff")
} else if (item === 3) {
this.largeSubject()
} else if (item === 4) {
// Banner()
} else if (item === 5) {
this.healthAnalyse()
Divider().strokeWidth(10).width(‘100%’).color("#ffffff")
} else if (item === 6) {
this.superLargeSubject()
Divider().strokeWidth(10).width(‘100%’).color("#ffffff")
} else if (item === 7) {
this.smallSubject()
Divider().strokeWidth(10).width(‘100%’).color("#ffffff")
} else if (item === 8) {
this.middleSubject()
Divider().strokeWidth(10).width(‘100%’).color("#ffffff")
}
}
}, (item: number) => item.toString())
this.appSubject()
this.newsInfo()
} .width(‘100%’)
.height(‘100%’)
}
.width(‘100%’)
.height(‘100%’)
.scrollable(ScrollDirection.Vertical) // 滚动方向纵向
.scrollBar(BarState.Off) // 滚动条常驻显示
// .scrollBarWidth(10) // 滚动条宽度
.edgeEffect(EdgeEffect.Spring)
.backgroundColor("#ffffff")
}.width(‘100%’)
.height(‘100%’)
上面代码我是用scroll包裹了其他布局,但是运行以后只显示一屏UI,超过屏幕的UI不显示,但是可以滑动
我这边也是这样的,使用List,内部ForEach生成一堆ListItem,出现了同样的情况,最后几个能滑出来,然后一松手就回弹到屏幕之外。
已知:
1. 不规定高度,让list自行随着内容的增多而撑满剩余空间,或者使用layoutWeight让List布局占据剩余空间,会发生这种松手后回弹的情况。
2. 规定一个固定高度,比如.height(400)就可以正常滚动显示所有item,松手也不会把item藏起来
我不知道怎么设置滑动控件包裹内容的高度,高度设置固定就可以滑动,但是没有办法知道高度是多少,要不就是多了划出头空白,要不是就不够。如果都设置高度100%就是我遇到的问题,松手回弹是设置控件的滑动下过sping,如果设置none就不能滑动了。归根揭底还是高度设置的问题。有点难受
目前有不设置固定高度的方案吗?
你把Colum的heiht删了试试
不行,设置80%显示的更少了
不太明白你要实现什么效果,但是scroll就会把超出的内容截取变成滚动的
就是要滚动的效果,但是里面内容超过了一个屏幕,按理说应该滚动,但是超过的部分直接不显示了,现在能显示了,因为某个布局没有指定高度,所以不显示,但显示显示出来,滑动却又有问题,能够滑动,但是只能滑动半个屏幕的位置,松手又反弹回去了,不会说我网上滑动就会滑动到底部位置在停止
在HarmonyOS鸿蒙Next中,遇到Scroll组件下内容显示不全、超过屏幕内容消失的问题,通常是由于Scroll组件或其内部元素的高度设置不当导致的。
首先,检查Scroll组件的高度设置。如果Scroll组件的高度没有明确设置或设置的值不足以容纳其内部所有元素,那么超出的部分将无法显示。可以尝试显式设置Scroll组件的高度,确保其值足够大,能够容纳所有内部元素。
其次,如果Scroll组件的高度已经足够,但仍然出现显示不全的情况,那么可能是内部元素的布局属性设置不当。检查Scroll组件内部的Column或其他容器组件的高度和布局属性,确保它们能够正确地适应Scroll组件的布局。
此外,还需要注意父组件的布局属性对Scroll组件的影响。如果父组件的高度或布局方式限制了Scroll组件的显示区域,那么也可能导致内容显示不全。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。