Options
显示所有项
  • 仅显示公有项
  • 显示保护/公有项
  • 显示所有项
Menu

dialogs模块用于显示弹框,一般用于提示用户关键信息、输入信息,完成简易的交互。

本模块提供了多种配置模式,能够以应用内弹窗或悬浮窗形式显示确认框、输入框、单选框、多选框等,也可以自定义弹出框显示的View。

可使用const dialogs = require('dialogs');导入dialogs模块。然后通过比如dialogs.showInputDialog("输入框标题", "输入框默认文本");的方式调用模块中的方法。

也可以直接导入要使用的函数,比如const { showInputDialog } = require('dialogs'); showInputDialog("输入框标题", "输入框默认文本");

索引

类型别名

Dialog

Dialog: android.app.Dialog & DialogExt

对话框类型,基于Android原生Dialog类拓展了一些方法和属性,参见DialogExt

Dialog类型

DialogType: "overlay" | "app"

弹出对话框的类型。

  • overlay: 可显示在其他应用上方,需要悬浮窗权限。
  • app: 应用内对话框,仅可在应用内的当前界面(Activity)显示,不需要额外权限。

函数

buildDialog

  • 创建一个对话框。可自定义对话框的标题、内容、进度条、输入框、按钮等。

    参数

    返回 Promise<Dialog>

    Dialog对象的Promise

showAlertDialog

  • 显示一个提示对话框。提示对话框包括标题、内容和一个确认按钮。

    示例
    "nodejs";
    const { showAlertDialog } = require('dialogs');
    async function alert() {
      await showAlertDialog("This is an alert dialog.");
      await showAlertDialog("Summary", { content: "Some description" });
    }
    alert();
    

    参数

    返回 Promise<void>

    可通过await等待弹出框消失。

showConfirmDialog

  • showConfirmDialog(title: string, properties?: DialogProperties): Promise<boolean>
  • 显示一个确认对话框,包括一个确认按钮和一个取消按钮。

    示例
    "nodejs";
    const dialogs = require('dialogs');
    async function confirm() {
      const sure = await dialogs.showConfirmDialog("Are you sure?");
      console.log(sure); // true or false
      console.log(await dialogs.showConfirmDialog("Are you sure?", { positive: "Yes", negative: "No" }));
    }
    confirm();
    

    参数

    返回 Promise<boolean>

    可通过await获取弹出框选择结果。

showDialog

  • 创建并显示一个对话框。类似于buildDialog构建对话框,但是构建后直接显示而无需调用show

    参数

    返回 Promise<Dialog>

    对话框对象的Promise

showInputDialog

  • showInputDialog(title: string, prefill?: string, properties?: DialogProperties): Promise<string | null>
  • 显示一个输入对话框。

    示例
    "nodejs";
    const dialogs = require('dialogs');
    async function inputDialog() {
      const name = await dialogs.showInputDialog("Input your name", "Tony");
      if (name != "") {
          console.log(`hello, ${mName}`);
      }
    }
    inputDialog();
    

    参数

    • title: string

      输入对话框的标题。

    • 可选 prefill: string

      输入对话框的默认文本。

    • 可选 properties: DialogProperties

      对话框的配置属性。参考 DialogProperties

    返回 Promise<string | null>

    可通过await获取弹出输入框的输入结果。若用户取消了输入,则返回null的Promise。

showMultiChoiceDialog

  • showMultiChoiceDialog(title: string, items: string[], initialSelectedIndices?: number[], properties?: DialogProperties): Promise<number[] | null>
  • 显示一个多选对话框。多选对话框包括标题和一个多选列表,用户选择列表项并确定后会返回点击的结果。

    参数

    • title: string

      多选对话框的标题。

    • items: string[]

      多选框的选项。

    • 可选 initialSelectedIndices: number[]

      默认选中的选项,比如[0, 2]表示选中第一项和第三项。

    • 可选 properties: DialogProperties

      对话框的配置属性。参考 DialogProperties

    返回 Promise<number[] | null>

    选中选项的索引的数组Promise,若用户取消了选择,则返回空数组。索引从0开始。

showSelectDialog

  • showSelectDialog(title: string, items: string[], properties?: DialogProperties): Promise<number>
  • 显示一个选择对话框。选择对话框包括标题和一个选择列表,用户点击列表项后会返回点击的结果。

    示例
    "nodejs";
    const { showSelectDialog } = require('dialogs');
    async function select() {
      const i = await showSelectDialog("Select an item", ["item1", "item2", "item3"]);
      console.log(`selected item: ${i}`);
    }
    select();
    

    参数

    • title: string

      选择对话框的标题。

    • items: string[]

      选择框的选项。

    • 可选 properties: DialogProperties

      对话框的配置属性。参考 DialogProperties

    返回 Promise<number>

    选择选项的索引的Promise,若用户取消了选择,则返回-1。索引从0开始。

showSingleChoiceDialog

  • showSingleChoiceDialog(title: string, items: string[], initialSelectedIndex?: number, properties?: DialogProperties): Promise<number>
  • 显示一个单选对话框。单选对话框包括标题和一个单选列表,用户点击列表项并确定后会返回点击的结果。

    示例
    "nodejs";
    const { showSingleChoiceDialog } = require('dialogs');
    async function singleChoice() {
      const i = await showSingleChoiceDialog("Choose an item", ["item1", "item2", "item3"]);
      console.log(`selected item: ${i}`);
    }
    singleChoice();
    

    参数

    • title: string

      单选对话框的标题。

    • items: string[]

      单选框的选项。

    • 可选 initialSelectedIndex: number

      默认选中的items数组索引序。

    • 可选 properties: DialogProperties

      对话框的配置属性。参考 DialogProperties

    返回 Promise<number>

    选择选项的索引的Promise,若用户取消了选择,则返回-1。索引从0开始。