HarmonyOS 使用 expandSafeArea 控制组件扩展到安全区域,没有生效
页面顶部有1个Swiper 轮播组件,希望能够顶到顶部,使用 expandSafeArea 设置时无法生效。在其他页面设置 Image 顶到顶部 是有效果的。
build() {
Column() {
//顶部轮播
Swiper(this.swiperController) {
LazyForEach(this.headerAdvList, (item: AdvModel) => {
Image(item.imageurl)
.width(Const.FULL_WIDTH)
.height(designUnit(311))
.objectFit(ImageFit.Fill)
.onClick(() => {
KsRouterManager.getInstance().goAdv(this, item);
})
}, (item: AdvModel) => JSON.stringify(item))
}
.width(Const.FULL_WIDTH)
.height(designUnit(311))
.index(1)
.autoPlay(true)
.interval(4000)
.loop(true)
.indicator(this.headerAdvList.list.length > 1 ?
new DotIndicator()
.itemWidth(designUnit(6))
.itemHeight(designUnit(6))
.selectedItemWidth(designUnit(6))
.selectedItemHeight(designUnit(6))
.color('rgba(255, 255, 255, 0.3)')
.selectedColor($r('app.color.ks_color_FFFFFF')) : false)
.disableSwipe(this.headerAdvList.list.length > 1 ? false : true)
.expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP])
}
.width(Const.FULL_WIDTH)
.height(Const.FULL_HEIGHT)
.backgroundColor($r('app.color.ks_color_EEF4F6'))
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS BaseDialogOptions是否可以支持设置dialog布局扩展到非安全区域
50浏览 • 1回复 待解决
HarmonyOS 视频组件无法扩展其安全区域
320浏览 • 1回复 待解决
HarmonyOS 安全区域问题
32浏览 • 1回复 待解决
实现安全区域,关于图片的安全区域设置
1019浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next中使用expandSafeArea属性实现组件扩展至安全区?
176浏览 • 1回复 待解决
HarmonyOS scroll安全区域问题
32浏览 • 1回复 待解决
HarmonyOS 没有开启沉浸式效果,但是web组件超过安全区域
52浏览 • 1回复 待解决
HarmonyOS listItem不支持设置安全区域 ,有规避方案 让listItem超出安全区域嘛
42浏览 • 1回复 待解决
HarmonyOS window底部非安全区域无法正常获取,可正常获取到顶部非安全区域
254浏览 • 1回复 待解决
HarmonyOS 顶部安全区域和底部安全区域的高度是多少,对应的单位是什么?
603浏览 • 1回复 待解决
设置安全区域后,两个子组件之间存在大概顶部安全区域大小的间隙,无法铺满
1672浏览 • 1回复 待解决
关于屏幕安全区域的问题咨询
329浏览 • 1回复 待解决
HarmonyOS Scroll组件,无法实现沉浸式,延伸到安全区域
373浏览 • 1回复 待解决
请问如何获取屏幕底部安全区域的高度?目前系统只提供了获取顶部安全区域高度的API
2408浏览 • 1回复 待解决
HarmonyOS 如何获取屏幕顶部和底部安全区域的高度
1064浏览 • 1回复 待解决
安全区域颜色改变,app中某个页面是全黑的,但底部安全区域还是白色,这个要如何改变呢?
253浏览 • 1回复 待解决
HarmonyOS XComponent怎么采用组件安全区方案?
308浏览 • 1回复 待解决
HarmonyOS Column中嵌入Scroll时,底部元素导致安全区域失效问题
432浏览 • 1回复 待解决
HarmonyOS TabContent组件使用组件安全区方案不能延伸到状态栏
601浏览 • 1回复 待解决
HarmonyOS Web组件的安全区域的值不对,无法实现底部导航栏的避让
41浏览 • 1回复 待解决
HarmonyOS 如何获取屏幕状态栏跟底部安全区域的高度?
522浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用组件安全区方案实现沉浸式效果?
92浏览 • 1回复 待解决
如何进行手机的系统安全区域(safe area)适配?
265浏览 • 1回复 待解决
用数组变量控制组件属性不生效
1774浏览 • 1回复 待解决
HarmonyOS List组件通过expandSafeArea做沉浸式后,滚动到最后一条可以不避让安全区吗?
161浏览 • 1回复 待解决
根据您提供的demo,我们复现了您所说的Swiper设置expandSafeArea后内部image无法到顶的情况。
目前expandSafeArea是只作用于当前组件的,并不会传递给子组件。在您的代码中,只有Swiper属性设置了expandSafeArea,而内部的Image并未设置,所以在布局时,内部的Image仍然只会考虑安全区域。
如果您想让内部Image到顶,可以给Image也设置expandSafeArea。
以下是我们提供的试验小demo,您可以通过设置外部和内部组件的expandSafeArea来探索其布局规则。
另外,Swiper组件会在绘制时做裁剪,若只为内部组件设置expandSafeArea,会导致显示不全: