Флаттер: КупертиноРефрешКонтроль не сбрасывает - PullRequest
0 голосов
/ 12 мая 2018

Я построил следующий небольшой тестовый код, чтобы продемонстрировать проблему, с которой я сталкиваюсь во Flutter:

enter image description here

Из рисунка GIF видно, что приложение обновляется, а текст фрагментов обновляется с «Hello Refresh» до «Bye Refresh», однако значок загрузки CupertinoRefreshControl не исчезает после изменения текста. Я ожидал, что значок загрузки исчезнет при загрузке новых данных в Sliver:

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

class _RefreshTestState extends State<RefreshTest> {

  bool flag = false;

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    // TODO: implement build
    return new CupertinoPageScaffold(
      //i will need to convert this to a sliver list to make this work properly.
      backgroundColor: const Color(0xFFEFEFF4),
      child: new CustomScrollView(slivers: <Widget>[
        new CupertinoSliverNavigationBar(largeTitle: new Text('TESTING'),),
        new CupertinoRefreshControl(onRefresh: () {
          return new Future<void>.delayed(const Duration(seconds: 1))
            ..then((_) => setState(() {
              if (flag) {
                flag = false;
              } else {
                flag = true;
              }
            }));
        }),
        new SliverSafeArea(
          top: false,
          sliver: new SliverList(
            delegate: new SliverChildBuilderDelegate(
                  (BuildContext context, int index) {
                return flag? new Text("Hello Refresh.") : new Text("Bye refresh");
              },
              childCount: 2,
            ),
          ),
        )
      ]),
    );
  }


}
class RefreshTest extends StatefulWidget {
  @override
  Widget build(BuildContext context) {

  }

  @override
  _RefreshTestState createState() => new _RefreshTestState();

}

Я вижу, что для этой проблемы также была запущена тема github, но решение пока не опубликовано: https://github.com/flutter/flutter/issues/17474

1 Ответ

0 голосов
/ 12 августа 2018

Впоследствии было обнаружено, что если список не был достаточно длинным, значок обновления обновления не исчезнет, ​​когда вы нажмете для обновления. Это было решено обновлением флаттера через несколько месяцев, поэтому с новым флаттером эта проблема больше не будет появляться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...