HarmonyOS List组件通过expandSafeArea做沉浸式后,滚动到最后一条可以不避让安全区吗?

HarmonyOS List组件通过expandSafeArea做沉浸式后,滚动到最后一条可以不避让安全区吗?

HarmonyOS
2024-11-26 09:57:31
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

​当前规格是滚动到最顶部或最底部时会避让状态栏/导航栏

list实现上下沉浸式,参考如下demo:​

// xxx.ets 
@Entry 
@Component 
struct ListExample { 
  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
 
  build() { 
    Column() { 
      List({ space: 20, initialIndex: 0 }) { 
        ForEach(this.arr, (item: number) => { 
          ListItem() { 
            Text('' + item) 
              .width('100%') 
              .height(100) 
              .fontSize(16) 
              .textAlign(TextAlign.Center) 
              .borderRadius(10) 
              .backgroundColor(Color.Red) 
          } 
        }, (item: string) => item) 
      } 
      .listDirection(Axis.Vertical) // 排列方向 
      .scrollBar(BarState.Off) 
      .friction(0.6) 
      .edgeEffect(EdgeEffect.Spring) // 边缘效果设置为Spring 
      .width('90%') 
      // List组件的视窗范围扩展至安全区。 
      .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM]) 
    } 
    .width('100%') 
    .height('100%') 
    //会导致list无法扩展到顶部安全区 
    // .padding({ top: 15 }) 
  } 
}
分享
微博
QQ
微信
回复
2024-11-26 15:03:35
相关问题
HarmonyOS Tabs组件沉浸失败
350浏览 • 1回复 待解决
list组件无法滚动到底部
1229浏览 • 1回复 待解决