くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

FlutterでListViewのPull To Refreshをつかう

リストを引っ張って更新するPull To Refreshは、
ListView+RefreshIndicatorでできるっぽい。

@override
  Widget build(BuildContext context, WidgetRef ref) {

    return RefreshIndicator(
      onRefresh: () => _refresh(),
      child: ListView(
        children: <Widget>[
        // ...
      ),
    );
  }

ローディングは独自のものを利用していて、
くるくるまわるインディケータが表示されてほしくない場合は、
displacementを0に設定するなどで調整できる。

@override
  Widget build(BuildContext context, WidgetRef ref) {

    return RefreshIndicator(
      onRefresh: () => _refresh(),
      displacement: 0,
      child: ListView(
        children: <Widget>[
        // ...
      ),
    );
  }

初回起動時もインディケータを表示したい場合は、
_refreshIndicatorKey.currentState?.show();
で手動で呼び出すことができるっぽい。

flutter - How to show RefreshIndicator intially while waiting data from backend API? - Stack Overflow

以上!!

参考にしたサイトさま