CustomDialogController自定义一个view,然后背景颜色设置为透明色,但Color.Transparent无效,默认是白色,希望可以在HarmonyOS鸿蒙Next中设置背景颜色为透明

CustomDialogController自定义一个view,然后背景颜色设置为透明色,但Color.Transparent无效,默认是白色,希望可以在HarmonyOS鸿蒙Next中设置背景颜色为透明 希望可以设置背景颜色为透明,自定义view怎么设置透明色

3 回复

可以设置customStyletrue,自定义样式,背景就是透明的
文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V14/ts-methods-custom-dialog-box-V14#customdialogcontrolleroptions 对象说明

更多关于CustomDialogController自定义一个view,然后背景颜色设置为透明色,但Color.Transparent无效,默认是白色,希望可以在HarmonyOS鸿蒙Next中设置背景颜色为透明的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以透明的啊,设置这个属性试一下

customStyle: true

在HarmonyOS鸿蒙Next中,CustomDialogController的视图背景颜色默认是白色,直接使用Color.Transparent可能无法生效。为了实现透明背景,可以通过以下方式设置:

  1. 使用XML布局文件:在XML布局文件中,为根布局设置背景颜色为透明。例如:

    <LinearLayout
        xmlns:ohos="http://schemas.huawei.com/res/ohos"
        ohos:width="match_parent"
        ohos:height="match_parent"
        ohos:background_element="#00000000">
        <!-- 其他子视图 -->
    </LinearLayout>
    
  2. 在代码中动态设置:在CustomDialogController的代码中,通过ComponentsetBackgroundColor方法设置背景颜色为透明。例如:

    Component rootComponent = LayoutScatter.getInstance(context).parse(layoutResId, null, false);
    rootComponent.setBackgroundColor(Color.TRANSPARENT);
    
  3. 使用WindowManager设置透明背景:在CustomDialogControlleronStart方法中,通过WindowManager设置窗口背景为透明。例如:

    [@Override](/user/Override)
    protected void onStart() {
        super.onStart();
        Window window = getWindow();
        if (window != null) {
            window.setBackgroundColor(Color.TRANSPARENT);
        }
    }
    

通过这些方法,可以在HarmonyOS鸿蒙Next中实现CustomDialogController的透明背景。

回到顶部