问题:安卓中的dialog = new AlertDialog.Builder(activity, R.style.TransparentDialog)对应HarmonyOS的CommonDialog,R.style.TransparentDialog属性能在鸿蒙OS中可以设置吗?当前,使用window设置没有效果。
回答: 目前还不支持类似于安卓中R.style.TransparentDialog的属性。可以通过在resources/layout文件下自定义xml绑定到CommonDialog中,自定义的commonDialog样式跟随自定义的xml变化。代码如下: 1、在resoutces/layout下新建dialog.xml: <?xml version="1.0" encoding="utf-8"?> <DependentLayout ohos:id="$+id:ability_main" xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:width="match_parent" ohos:height="match_parent"> </DependentLayout> 2、java代码中初始化CommonDialog对象,并将dialog.xml绑定到commonDialog中,代码如下: // 获取自定义的xml Component componentXml = LayoutScatter.getInstance(context).parse(ResourceTable.Layout_dialog, null, false); CommonDialog commonDialog = new CommonDialog(context); // 绑定自定义的xml到commonDialog中 commonDialog.setContentCustomComponent(componentXml); |