Skip to content

Flutter webでレスポンシブ対応

Flutter web でレスポンシブ対応したときのメモ. responsive_builder を使うとめっちゃ簡単.

responsive_builder | Flutter Package

以下のようにデバイスに応じて Widget を返すようにするだけ.

ResponsiveBuilder(
builder: (context, sizingInformation) {
if (sizingInformation.deviceScreenType == DeviceScreenType.desktop) {
return DesktopWidget();
}
if (sizingInformation.deviceScreenType == DeviceScreenType.tablet) {
return TabletWidget();
}
if (sizingInformation.deviceScreenType == DeviceScreenType.mobile) {
return MobileWidget();
}
return Container(color:Colors.purple);
},
);

今回は横のマージンだけ変えたかったのでマージンだけ渡せるようにした.

class MainPage extends StatelessWidget {
final double sideMergin;
const MainPage({Key key, this.sideMergin = 160.0}) : super(key: key);
...
}