今天给自己开发的鸿蒙Next App 实现沉浸式效果,其实就是屏幕上边的状态栏和下边的横条区域和App界面一样的颜色。
之前在知识星球分享过 expandSafeArea 的方案(https://t.zsxq.com/8jkJ9),但后来在真机上发现有问题,在对App进行缩小分屏的时候,有个缩小动画,发现其实底部还是默认色-白色,而我的App主要是展示颜色切换的,会有明显的割裂感。所以我需要将窗口的背景色一起换掉。同时保留安全区域,expandSafeArea 的方案默认是没有安全区域了,它是将组件进行了延伸。
翻阅文档后,我选择了组件安全区方案,既保留安全区域不可以点击,又让颜色一致,达成沉浸式效果。
在组件build之前,先给一个颜色,这也是App打开时的随机颜色
然后在点击事件里(点击的时候切换颜色),也进行一次设置,这样每次组件颜色变化的时候,窗口(window)的背景色也跟着变化,看起来就有沉浸式效果了
今天的分享到此结束,大家学废了吗😉
参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-develop-apply-immersive-effects-V5
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-298-V5