🍰
【Flutter】DurationやEdgeInsetsを簡単に記述できるパッケージを作った
こんにちは。広瀬マサルです。
簡単なパッケージを作ってみました。
int
やdouble
からエクステンションを介してDuration
やEdgeInsets
、SizedBox
を作成するパッケージです。
使い方をまとめたので興味ある方はぜひ使ってみてください!
katana_shorten
はじめに
Duration
やEdgeInsets
などはFlutterを実装する上でよく使うクラスだと思います。
意外と記述するための文字数が多く自動補完があるとはいえ文字を入力するための手間がかかってしまいます。
そのため、それらを短縮できるようなエクステンションをまとめたパッケージを作りました。
下記のように簡単に書けます。
Padding(
padding: 16.p, // EdgeInsets.all(16)
child: Text("text")
);
Future.delayed(100.ms); // Duration(milliseconds: 100)
インストール
下記のパッケージをインポートします。
flutter pub add katana_shorten
使い方
Duration
下記で代用できるようになります。
100.ms // Duration(milliseconds: 100)
100.s // Duration(seconds: 100)
100.m // Duration(minutes: 100)
100.h // Duration(hours: 100)
100.d // Duration(days: 100)
EdgeInsets(Padding / Margin)
下記で代用できるようになります。
100.p // EdgeInsets.all(100)
100.px // EdgeInsets.symmetric(horizontal: 100)
100.py // EdgeInsets.symmetric(vertical: 100)
100.pt // EdgeInsets.only(top: 100)
100.pb // EdgeInsets.only(bottom: 100)
100.pl // EdgeInsets.only(left: 100)
100.pr // EdgeInsets.only(right: 100)
Space(SizedBox)
下記で代用できるようになります。
100.sx // SizedBox(width: 100)
100.sy // SizedBox(height: 100)
Empty() // SizedBox.shrink()
おわりに
自分で使う用途で作ったものですが実装の思想的に合ってそうならぜひぜひ使ってみてください!
また、こちらにソースを公開しているのでissueやPullRequestをお待ちしてます!
また仕事の依頼等ございましたら、私のTwitterやWebサイトで直接ご連絡をお願いいたします!
GitHub Sponsors
スポンサーを随時募集してます。ご支援お待ちしております!
Discussion