FlutterのLicensePageにライセンス情報を追加する

2020/04/18

Flutterの LicensePage は、使われているライブラリを自動でピックアップしてライセンス情報を表示してくれる便利なwidgetです。

Dartの範囲に収まっている分にはこのwidgetを普通に使うだけで事足りるのですが、実際の開発だとそれ以外の部分でもライセンス表示が必要になることがあります。ネイティブ側で使っているライブラリだったり、アイコンやフォントなどのリソースだったり。

それらのライセンスを LicensePage に表示したいときは、 LicenseRegistryaddLicense を使います。

使い方は簡単。どこかのタイミングで以下のようなコードを呼び出してあげればOKです。

LicenseRegistry.addLicense(() {
    return Stream<LicenseEntry>.fromIterable(<LicenseEntry>[
        const LicenseEntryWithLineBreaks(<String>['ライブラリ名'], '''
        ライセンス本文の文字列1行目
        ライセンス本文の文字列2行目
        ライセンス本文の文字列3行目
        '''),
        const LicenseEntryWithLineBreaks(<String>['ライブラリ名'], '''
        ライセンス本文の文字列1行目
        ライセンス本文の文字列2行目
        ライセンス本文の文字列3行目
        '''),
    ]);
});

これで LicensePage の一番下に追加されます。一番下なので確認がちょっと大変ですが我慢しましょう。

ライセンス本文は自前で用意する必要があってちょっと面倒ですが、その分、ただの文字列なのでマイナーなライセンスや独自ライセンスにも対応できます。




関連(するかもしれない)記事


おススメ