Flutterでは何もしなければデフォルトのゴシック系のfontが表示されますが、fontを変えたい場合google_fontsを使うと便利です。
しかし、筆者はgoogle_fontsをインストールし、MaterialApp内にGoogleFontsと記述したら、以下のエラーメッセージが表示され、アプリが起動しませんでした。
google_fonts_base.dart:317:42: Error: Type 'Uint8List' not found.
bool _isFileSecure(GoogleFontsFile file, Uint8List bytes) {
本記事では、このエラーの対処方法をお伝えします。
目次
本記事の想定読者
- Flutterでアプリを開発している人
- アプリのフォントを変えたい人
対処方法
Uint8List
は、Dartのdart:typed_data
パッケージに含まれる型ですが、一部のバージョンのGoogle Fontsパッケージでは、List<int>
が代わりに使用されるように変更されました。そのため、Uint8List
をList<int>
に変更することで問題が解決します。
具体的には、C:\Users\ユーザー\flutter.pub-cache\hosted\pub.dartlang.org\google_fonts-4.0.4\lib\srcgoogle_fonts_base.dartのファイルを修正します。
変更前
bool _isFileSecure(GoogleFontsFile file, Uint8List bytes) { # ここ
final actualFileLength = bytes.length;
final actualFileHash = sha256.convert(bytes).toString();
return file.expectedLength == actualFileLength &&
file.expectedFileHash == actualFileHash;
}
変更後
bool _isFileSecure(GoogleFontsFile file, List<int> bytes) { # ここ
final actualFileLength = bytes.length;
final actualFileHash = sha256.convert(bytes).toString();
return file.expectedLength == actualFileLength &&
file.expectedFileHash == actualFileHash;
}
以上です。参考にしていただければ幸いです。