HarmonyOS 鸿蒙Next如何新开一个半透明的页面

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何新开一个半透明的页面

是否能通过router打开一个半透明页面?如果不能,有没有什么方案可以实现在当前window新打开一个半透明页面?   我从文档了解到,半透明页面有两种方式,但都无法满足上述场景:

1. Navigation的Dialog模式。 这种方式只能在二级以上的实现半透效果,无法实现router新开的页面的半透效果。

2. 使用自定义Dialog。这种方式脱离了当前window,之后新开的页面都会被遮挡。


更多关于HarmonyOS 鸿蒙Next如何新开一个半透明的页面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
可以考虑使用窗口,把新的DetailPage页面设置为主页面的子窗口,单独设置子窗口组件的背景颜色为"#00000000",参考文档:@ohos.window (窗口)-图形图像-ArkTS API-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者 (huawei.com)

更多关于HarmonyOS 鸿蒙Next如何新开一个半透明的页面的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,新开一个半透明的页面可以通过以下几种方式实现:

  1. 设置背景色为半透明

    • 在ArkUI框架中,可以直接修改页面的backgroundColor属性,使用带有透明度的颜色值(如#80FFFFFF,其中80表示透明度)。
  2. 使用子窗口

    • 创建一个子窗口,并设置其背景为透明。
    • 通过windowStage.createSubWindow方法创建子窗口,并在子窗口加载完成后,使用setWindowBackgroundColor('#00000000')设置其背景透明。
  3. 利用Stack布局

    • 在主页中使用Stack(层叠布局)嵌套新的View,并设置新View的背景为半透明。
    • 这种方式可以实现页面内容的叠加,同时保持背景的半透明效果。
  4. 自定义Dialog

    • 创建一个自定义的Dialog,并设置其背景为透明。
    • 在Dialog中加载需要显示的内容,实现半透明页面的效果。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部