HarmonyOS 鸿蒙Next CustomDialog 设置背景颜色为透明 不生效
HarmonyOS 鸿蒙Next CustomDialog 设置背景颜色为透明 不生效
CustomDialog 设置背景颜色为透明 不生效,背景没有透明,还是能看到白色,
部分示例代码如下:
dialogController: CustomDialogController = new CustomDialogController({
builder: DiscoverTagDialogView({}),
backgroundColor: Color.Transparent
})
2 回复
import { ComponentContent } from '@kit.ArkUI';
import { BusinessError } from '@kit.BasicServicesKit';
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
aboutToAppear(): void {
let uiContext = this.getUIContext();
let promptAction = uiContext.getPromptAction();
let contentNode = new ComponentContent((uiContext as UIContext), wrapBuilder(DiscoverTagDialogView));
try {
promptAction.openCustomDialog(contentNode, {
maskColor: Color.Transparent, // 设置蒙层颜色为透明
//isModal:false //或者直接设置没有蒙层
});
} catch (error) {
let message = (error as BusinessError).message;
let code = (error as BusinessError).code;
console.error(`OpenCustomDialog args error code is ${code}, message is ${message}`);
}
;
}
build() {
RelativeContainer() {
Text(this.message)
.id('HelloWorld')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
}
.height('100%')
.width('100%')
// .backgroundColor(Color.Green)
}
}
@Builder
function DiscoverTagDialogView() {
Stack() {
Image($r('app.media.home_discover_tag_bg'))
.width(330)
.height(651)
Column() {
Text('选择感兴趣的标签')
.fontSize(18)
.fontWeight(FontWeight.Medium)
.fontColor('rgba(0,0,0,0.8)')
.margin({ top: 160 })
.height(25)
Text('为您智能推荐相关服务')
.fontSize(14)
.fontWeight(FontWeight.Regular)
.fontColor('#999999')
.margin({ top: 8 })
.height(20)
}
.width(330)
.height(651)
}
}
在HarmonyOS鸿蒙系统中,若你遇到在Next CustomDialog中设置背景颜色为透明但不生效的问题,这可能是由于Dialog的默认属性或层级管理导致的。以下是一些可能的原因及解决方法,但鉴于直接建议受限,我将概述一些常见调整思路:
-
确认透明设置方式:确保你是通过Dialog的布局文件或直接在其属性中设置了透明度(如
android:background="@android:color/transparent"
或使用代码设置透明度)。 -
检查Dialog的Window属性:有时需要调整Dialog的Window属性,如
dimAmount
和windowIsTranslucent
,来确保背景透明度的正确应用。 -
层级与布局问题:确认Dialog内部的布局没有覆盖或阻碍背景透明度的显示。可能需要检查布局文件中的其他视图是否设置了非透明背景。
-
系统主题与样式:确认当前应用的主题或样式没有覆盖Dialog的背景设置。有时,系统主题中的默认设置会覆盖局部设置。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在那里,你可以获得更专业的技术支持和解决方案。