List滚动条时长时短,求解决方案?
List滚动条时长时短 。
@Entry 
@Component 
struct ListExample { 
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
  private arrItem: string[] = ["我是评论1", "我是评论2", "我是评论3", "我是评论4", 
    "我是评论5", "我是评论6"] 
  private arrItem2: string[] = ["我是评论1"] 
 
  @Builder 
  itemList(aa: number) { 
    List({ space: 20, initialIndex: 0 }) { 
      if (aa % 2 == 0) { 
        ForEach(this.arrItem, (item: string) => { 
          ListItem() { 
            Text('' + item) 
              .width('100%') 
              .height(50) 
              .fontSize(16) 
              .textAlign(TextAlign.Center) 
              .borderRadius(10) 
              .backgroundColor(0xFFFFFF) 
          } 
        }, (item: string) => item) 
      } else { 
        ForEach(this.arrItem2, (item: string) => { 
          ListItem() { 
            Text('' + item) 
              .width('100%') 
              .height(50) 
              .fontSize(16) 
              .textAlign(TextAlign.Center) 
              .borderRadius(10) 
              .backgroundColor(0xFFFFFF) 
          } 
        }, (item: string) => item) 
      } 
    } 
    .margin({ left: 20 }) 
    .listDirection(Axis.Vertical) 
    .scrollBar(BarState.Off) 
    .width('100%') 
  } 
 
  build() { 
    Column() { 
      List({ space: 20, initialIndex: 0 }) { 
        ForEach(this.arr, (item: number) => { 
          ListItem() { 
            Column({ space: 3 }) { 
              Text('' + item) 
                .width('100%') 
                .height(100) 
                .fontSize(16) 
                .textAlign(TextAlign.Center) 
                .borderRadius(10) 
                .backgroundColor(0xFFFFFF) 
              this.itemList(item) 
            } 
          } 
        }, (item: string) => item) 
      } 
      .listDirection(Axis.Vertical) 
      .scrollBar(BarState.On) 
      .friction(0.6) 
      .edgeEffect(EdgeEffect.Spring) 
      .width('90%') 
    } 
    .width('100%') 
    .height('100%') 
    .backgroundColor(0xDCDCDC) 
    .padding({ top: 5 }) 
  } 
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 抓包应用,求解决方案 
3298浏览  • 1回复 待解决
如何获取List组件滚动条滚动的距离 
3999浏览  • 1回复 待解决
开发疑难问题如下,求解决方案? 
1470浏览  • 1回复 待解决
List滚动到底部提示,是否有好的解决方案? 
2776浏览  • 1回复 待解决
HarmonyOS 滚动事件相关的解决方案 
1256浏览  • 1回复 待解决
HarmonyOS 怎么设置list滚动条距离顶部位置 
1273浏览  • 1回复 待解决
HarmonyOS webView隐藏滚动条 
1008浏览  • 1回复 待解决
如何订阅List组件中滚动条到底端的事件 
2553浏览  • 1回复 待解决
如何在List组件中监听滚动条到底端的事件 
3204浏览  • 1回复 待解决
ListContainer 有滚动条 显示吗? 
6685浏览  • 1回复 待解决
请问ScrollView怎么显示滚动条? 
6612浏览  • 1回复 待解决
FlatList、SectionList 滚动条是否可以去掉 
921浏览  • 1回复 待解决
HarmonyOS RichText组件如何取消滚动条 
857浏览  • 1回复 待解决
HarmonyOS Web组件的滚动条如何隐藏 
1221浏览  • 1回复 待解决
如何自定义滚动条的样式? 
1598浏览  • 1回复 待解决
如何通过代码触发滚动条滚动到某个位置 
3772浏览  • 1回复 待解决
HarmonyOS  如何隐藏Web组件的滚动条? 
1578浏览  • 1回复 待解决
HarmonyOS Scroll组件的滚动条怎么隐藏 
1238浏览  • 1回复 待解决
高级图表实现解决方案 
2079浏览  • 1回复 待解决
确认网络状况解决方案 
2238浏览  • 1回复 待解决
HarmonyOS 通知推送解决方案 
1905浏览  • 1回复 待解决
HarmonyOS list组件包含tab组件上下滑动冲突解决方案 
1208浏览  • 1回复 待解决
HarmonyOS代码封装解决方案 
2136浏览  • 1回复 待解决
FA开发,界面数据太多,怎么添加滚动条 ? 
4669浏览  • 2回复 待解决
WebView 页面在windows模拟器无法出现滚动条滚动 
1606浏览  • 1回复 待解决





















这个当前List对自身内容的总高度是根据当前在屏幕内出现的ListItem经过估算得到的,如果ListItem之间的高度不是相对等高的,那么随着ListItem的滑入滑出屏幕,List估算的内容总高度就会产生波动,而滚动条又是根据这个总高度来计算自身的高度的,所以就会体现成在List滑动过程中滚动条的高度一直在产生变化。这个是当前List的实现规格导致的。
规避方案:最外层List改成Scroll。Scroll的内容总高度计算在滑动过程中是稳定的,因此可以保证滚动条不会出现类似List的这种时长时短。