Flutter Widget 之AboutDialog

515 阅读2分钟

有时候,应用程序需要一个地方来防止法律条款、版本号、许可证和所有其他的小字号的附加条款。

事实上,除非具有这些手续,否则有些商店甚至不会让你发布你的应用程序。

当然,你应该不会等到最后一刻才开始创建应用程序中如此重要的部分,我们知道你绝对不会这样做!

但如果你遇到这种情况,有一个小部件可以帮你解决,他叫做AboutDialog

ezgif.com-gif-maker (1).gif

AboutDialog()

你自己可以构建并显示它,但大多数人都会直接调用函数showAboutDialog,这个函数就可以为你完成这种任务

showAboutDialog()

找一个好的地方调用函数就可以了,Settings页面最深处磁贴的onPressed或onTap回调是最合适的,然后,只要调用showAboutDialog就可以了。

你西部给它一个构建的上下文——这可能就是当前的上下文,秋雨的参数是可选的,但是没有这些参数,showDialog就不会显示太多

showAboutDialog(
    context: context,
);

ezgif.com-gif-maker (2).gif

你可以提供版本号、应用程序的图标和小字号的法律条款,你也可以把任意数量的附加小部件放入子列表中,比如这样

showAboutDialog(
    context: context,
    applicationVersion: '2.0.1',
    applicationIcon: MyAppIcon(),
    applicationLegalese: 'Blah blah.',
    children: [
        AdditionalWidget(...),
    ]
);

image.png

现在,你的应用看起来更真实了,不是吗!

还请注意,Flutter会提供一个View Licenses按钮,该按钮可以将用户带入一个许可证列表中,该列表由你的应用程序自动生成。

image.png

这些是Flutter工具收集到的来自你的应用程序当前正使用的所有软件包中的许可证文件的内容

image.png

如果你想在这个列表中添加一个许可证,就添加吧。只要使用Flutter foundation中的LicenseRegistry类就可以了

LicenseRegistry.addLicense(() async* {
    yield LicenseEntryWithLineBreaks(
        ['my_package'],
        'Blah blah.'
    );
});

就这样,你尽职调查已经完成,现在你可以像专业人士一样发布你的应用程序了

image.png

如果想了解有关AboutDialog的内容,或者关于Flutter的其他功能,请访问flutter.dev

原文翻译自视频:视频地址