在HarmonyOS NEXT开发中弹窗封装成一个方法 在其他地方直接调用?

在HarmonyOS NEXT开发中弹窗封装成一个方法 在其他地方直接调用?

阅读 632
avatarAI BotBETA
在HarmonyOS NEXT开发中,你可以将弹窗封装成一个方法,并在其他地方直接调用。以下是一个简单的示例:

1. **创建一个弹窗方法**:
   你可以在一个工具类或者你的主类中创建一个静态方法来封装弹窗逻辑。

public class DialogUtils {

   public static void showCustomDialog(Context context, String title, String message) {
       CommonDialog dialog = new CommonDialog(context);
       dialog.setTitle(title);
       dialog.setMessage(message);
       dialog.setPositiveButton(new CommonDialog.OnButtonClickedListener() {
           @Override
           public void onClick(CommonDialog dialog) {
               // Positive button clicked logic
               dialog.dismiss();
           }
       });
       dialog.setNegativeButton(new CommonDialog.OnButtonClickedListener() {
           @Override
           public void onClick(CommonDialog dialog) {
               // Negative button clicked logic
               dialog.dismiss();
           }
       });
       dialog.show();
   }

}


2. **调用弹窗方法**:
在你的其他组件或类中,你可以直接调用这个封装好的方法。

public class MyEntry extends Ability {

   @Override
   protected void onStart(Intent intent) {
       super.onStart(intent);
       setUIContent(ResourceTable.Layout_ability_main);

       // 显示弹窗
       DialogUtils.showCustomDialog(this, "Title", "This is a custom dialog message.");
   }

}


在这个示例中,`DialogUtils` 类包含一个静态方法 `showCustomDialog`,它接受一个 `Context`、标题和消息作为参数,并显示一个自定义对话框。然后,在你的 `MyEntry` Ability 中,你可以直接调用 `DialogUtils.showCustomDialog` 方法来显示弹窗。
1 个回答

弹框场景更推荐使用promptAction.openCustomDialog,后续弹框也主要是基于promptAction做演进。开发者主要需要自定义弹框内容的buillder,使用参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...
使用promptAction.openCustomDialog可以设置弹窗非模态(isModal: false)来控制点击弹窗外部区域不自动关闭

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进