HarmonyOS鸿蒙Next中如何解决CustomDialogController设置透明背景失效的问题
HarmonyOS鸿蒙Next中如何解决CustomDialogController设置透明背景失效的问题
【问题现象】
在自定义弹窗中设置透明背景色属性没有生效:
期望达成的效果:
问题代码如下:
private customDialogController: CustomDialogController = new CustomDialogController({
autoCancel: false,
backgroundColor: Color.Transparent, // 设置弹窗背景为透明色
builder: BackPressDialog(),
alignment: DialogAlignment.Center,
})
【背景知识】
CustomDialog:自定义弹窗,通过CustomDialogController类显示自定义弹窗。
【解决方案】
如果同时设置了backgroundColor和builder内容构造器的背景色,则backgroundColor会被内容构造器的背景色覆盖,使backgroundColor透明色不生效。
针对这个问题使用customStyle属性,设置弹窗容器样式是否自定义,设置为true,弹窗背景色为透明色:
private customDialogController: CustomDialogController = new CustomDialogController({
autoCancel: false,
backgroundColor: Color.Transparent,
builder: BackPressDialog(),
alignment: DialogAlignment.Center,
customStyle: true // 设置为true,使弹窗背景色为透明色
})
更多关于HarmonyOS鸿蒙Next中如何解决CustomDialogController设置透明背景失效的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于HarmonyOS鸿蒙Next中如何解决CustomDialogController设置透明背景失效的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在CustomDialogController中设置透明背景色失效时,需将customStyle
属性设置为true
。修改代码如下:
private customDialogController: CustomDialogController = new CustomDialogController({
autoCancel: false,
backgroundColor: Color.Transparent,
builder: BackPressDialog(),
alignment: DialogAlignment.Center,
customStyle: true // 设置为true,使弹窗背景色为透明色
})