HarmonyOS expandSafeArea不生效

如图,expandSafeArea不生效。

HarmonyOS expandSafeArea不生效-鸿蒙开发者社区

HarmonyOS
2024-10-16 11:30:31
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

可参考demo:

@Entry  
@Component  
struct Index {  
  private controller: TabsController = new TabsController()  
  build() {  
   Stack({ alignContent: Alignment.Bottom}){  
     Column() {  
       Tabs({barPosition: BarPosition.End,controller: this.controller}) {  
         TabContent() {  
           Text('首页的内容').fontSize(30)  
         }  
         .tabBar('首页')  
  
         TabContent() {  
           Text('推荐的内容').fontSize(30)  
         }  
         .tabBar('推荐')  
       }  
       Image($r('app.media.background'))  
         .width(70)  
         .height(70)  
     }  
     .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.BOTTOM,SafeAreaEdge.TOP])  
     .width('100%')  
     .height('100%')  
     .backgroundColor(Color.Green)  
   }  
  }  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

安全区的适配仅仅对Column、Row、Image这些组件有效,ArkUI的安全区仅仅是拓展显示,并不支持将组件显示在状态栏相交的区域内。

clip默认是开启的,当tabs父节点设置clip时,子节点不能扩展安全区域,需要.clip(false)子节点才能扩展安全区域可参考demo:

@Entry  
@Component  
struct Index2 {  
  @State fontColor: string = '#182431'  
  @State selectedFontColor: string = '#007DFF'  
  @State currentIndex: number = 0  
  private controller: TabsController = new TabsController()  
  @Builder tabBuilder(index: number) {  
    Column() {  
      Text(`Tab${index + 1}`)  
        .fontColor(this.currentIndex === index ? this.selectedFontColor : this.fontColor)  
        .fontSize(10)  
        .fontWeight(500)  
        .lineHeight(14)  
        .margin({ top: 2 })  
      Image($r('app.media.1'))  
        .width(28)  
        .height(28)  
        .objectFit(ImageFit.Contain)  
    }  
    .width('100%')  
    .height('100%')  
  }  
  build() {  
    Stack({ alignContent: Alignment.Bottom}){  
      Column() {  
        Tabs({barPosition: BarPosition.End,controller: this.controller}) {  
          TabContent() {  
            Text('首页的内容').fontSize(30)  
          }  
          .tabBar(this.tabBuilder(0))  
          .backgroundColor(Color.Green)  
          .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.BOTTOM,SafeAreaEdge.TOP])  
          TabContent() {  
            Text('推荐的内容').fontSize(30)  
          }  
          .tabBar(this.tabBuilder(1))  
          .backgroundColor(Color.Pink)  
        }  
        .clip(false)  
        Image($r('app.media.1'))  
          .width(28)  
          .height(28)  
      }  
      .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.BOTTOM,SafeAreaEdge.TOP])  
      .width('100%')  
      .height('100%')  
    }  
  }  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
分享
微博
QQ
微信
回复
2024-10-16 15:51:35


相关问题
HarmonyOS部分场景下expandSafeArea生效
1564浏览 • 1回复 待解决
HarmonyOS margin生效
1141浏览 • 1回复 待解决
HarmonyOS @Observed生效问题
1252浏览 • 1回复 待解决
HarmonyOS margin生效问题
734浏览 • 1回复 待解决
HarmonyOS targetSpace生效问题
565浏览 • 1回复 待解决
abiFilters配置生效
994浏览 • 1回复 待解决
HarmonyOS Web组件borderRadius生效
735浏览 • 1回复 待解决
HarmonyOS Stack 里 align生效
698浏览 • 1回复 待解决
HarmonyOS Span内边距生效
428浏览 • 1回复 待解决
HarmonyOS photoViewPicker智能推荐生效
946浏览 • 1回复 待解决
HarmonyOS 关于onKeyEvent生效问题
1039浏览 • 1回复 待解决
HarmonyOS stack设置圆角生效
664浏览 • 1回复 待解决
HarmonyOS 单例模式生效
554浏览 • 1回复 待解决
HarmonyOS hitTestBehavior.block生效
921浏览 • 1回复 待解决
HarmonyOS Panel 设置 borderRadius 生效
1462浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
2869浏览 • 1回复 待解决
容器组件onVisibleAreaChange生效
2416浏览 • 1回复 待解决
HarmonyOS 枚举值条件判断生效
549浏览 • 1回复 待解决
HarmonyOS ArkWeb组件加载url生效
711浏览 • 1回复 待解决