{"published":"2018-09-18 23:08:07","blog_title":"i++","categories":["Flutter"],"image_url":null,"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fincrement.hatenablog.com%2Fentry%2F2018%2F09%2F18%2F230807\" title=\"Flutter : PullToRefresh \u306e\u5b9f\u88c5 - i++\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_name":"tkyjhr","height":"190","width":"100%","url":"https://increment.hatenablog.com/entry/2018/09/18/230807","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/tkyjhr/","version":"1.0","provider_name":"Hatena Blog","type":"rich","blog_url":"https://increment.hatenablog.com/","title":"Flutter : PullToRefresh \u306e\u5b9f\u88c5","description":"flutter/overscroll_demo.dart at master \u00b7 flutter/flutter \u00b7 GitHub \u3092\u53c2\u8003\u306b\u3059\u308b\u3002 \u8981\u70b9\u306f RefreshIndicator \u3092\u4f7f\u3046\u3002 child \u306b ListView.Builder \u3092\u8a2d\u5b9a\u3059\u308b\u3002 onRefresh \u306b\u3001\u66f4\u65b0\u304c\u7d42\u308f\u3063\u305f\u3089 complete \u3059\u308b Future \u3092\u8fd4\u3059\u95a2\u6570\u3092\u8a2d\u5b9a\u3059\u308b\u3002\u3053\u308c\u304c Pull \u3057\u305f\u3068\u304d\u306b\u547c\u3070\u308c\u308b\u3002 key \u306b GlobalKey() \u3092\u8a2d\u5b9a\u3059\u308b\u3002 Pull \u4ee5\u5916\u306e\u7b87\u6240\uff08\u30dc\u30bf\u30f3\u62bc\u3057\u306a\u3069\uff09\u3067 state \u306e .currentState.show() \u3092\u547c\u3073\u51fa\u3059\u3068 onRefresh \u306b\u8a2d\u5b9a\u3057\u305f\u2026"}