IconsはIconDataを呼び出してオブジェクトを作っているので、Iconsのソースから、IconDataに渡すコード部分だけを取り出し配列化し、それを元に関数を作る。
変換関数
dart
1final code = <int>[0xe000];
2IconData indexIcon(int index) {
3 return IconData(code[index], fontFamily: 'MaterialIcons');
4}
codeの16進部分の作り方。
Iconsの中は以下の様に、識別名とそれに対してIconData生成の実装が入っているので、IconDataの第1引数の16進部分だけをすべて抽出(エディタを使ったりプログラムを使ったり)して配列に納める。
dart
1 /// <i class="material-icons md-36">10k</i> — material icon named "10k".
2 static const IconData ten_k = IconData(0xe000, fontFamily: 'MaterialIcons');
3
4 /// <i class="material-icons-sharp md-36">10k</i> — material icon named "10k" (sharp).
5 static const IconData ten_k_sharp = IconData(0xe700, fontFamily: 'MaterialIcons');
6
7 /// <i class="material-icons-round md-36">10k</i> — material icon named "10k" (round).
8 static const IconData ten_k_rounded = IconData(0xf4df, fontFamily: 'MaterialIcons');
IconDataの第1引数に0から0xFFFFまで直接与えてしまうというやり方もあるとは思う。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。