HarmonyOS 鸿蒙Next dialog自定义 如何完全去掉自带背景
HarmonyOS 鸿蒙Next dialog自定义 如何完全去掉自带背景
相关代码如下
private actionSheetDialogController: CustomDialogController = new CustomDialogController({
builder: ActionSheetDialog({
titleArr: [{ title: ‘百度地图’ }, { title: ‘高德地图’ }, { title: ‘Petal地图’ }],
itemClick: (index) => {
}
}),
backgroundColor: Color.Transparent,
alignment: DialogAlignment.Bottom,
cornerRadius: DT.rate(8),
});
在HarmonyOS鸿蒙系统中进行Next dialog自定义时,若要去掉自带的背景,可以通过以下几种方式尝试实现:
-
设置透明背景:在Dialog的布局文件中,将根布局的背景色设置为透明(
android:background="@android:color/transparent"
)。同时,在Dialog的Java或Kotlin代码中,通过getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT))
来确保窗口背景也是透明的。 -
自定义Dialog样式:在styles.xml中定义一个无背景的Dialog样式,通过
<item name="android:windowBackground">@android:color/transparent</item>
来设置背景透明,然后在创建Dialog时应用这个样式。 -
调整Dialog的布局:确保Dialog的布局文件中没有包含任何带有默认背景的元素,如LinearLayout、RelativeLayout等,或者将这些元素的背景也设置为透明。
-
使用DialogFragment:如果使用的是DialogFragment,可以在其onCreateView方法返回的布局中设置透明背景,或者在onViewCreated方法中通过代码设置。
尝试上述方法后,Dialog的自带背景应该能够被去掉。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。