🍰

【Flutter】DurationやEdgeInsetsを簡単に記述できるパッケージを作った

2022/11/15に公開

こんにちは。広瀬マサルです。

簡単なパッケージを作ってみました。

intdoubleからエクステンションを介してDurationEdgeInsetsSizedBoxを作成するパッケージです。

使い方をまとめたので興味ある方はぜひ使ってみてください!

katana_shorten

https://pub.dev/packages/katana_shorten

はじめに

DurationEdgeInsetsなどは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をお待ちしてます!

また仕事の依頼等ございましたら、私のTwitterWebサイトで直接ご連絡をお願いいたします!

https://mathru.net/ja/contact

GitHub Sponsors

スポンサーを随時募集してます。ご支援お待ちしております!

https://github.com/sponsors/mathrunet

Discussion