【Flutter】ローディング表示をiOS/Androidで出し分ける

【Flutter】ローディング表示をiOS/Androidで出し分ける

方法1

Platform.isIOS/Platform.isAndroidを使用して、自身でPlatformを判別して出し分けることができます。

import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';

import 'dart:io';

Widget loading() {
  return Center(
    child: Platform.isIOS
        ? const CupertinoActivityIndicator()
        : const CircularProgressIndicator(),
  );
}


方法2

adaptiveを使用することで、自動的にPlatformを判別して出し分けることができます。

import 'package:flutter/material.dart';

Widget loading() {
  return const Center(
    child: CircularProgressIndicator.adaptive(),
  );
}


まとめ

CircularProgressIndicatoradaptiveだけでなく、SliderやSwitch、SwitchListTileなどでもadaptiveを使用することができます。
adaptiveが用意されているものを出し分けたい場合は、adaptiveを使用するのが良さそう。