Как программно закрыть постоянный нижний лист во флаттере?

Я думаю, это зависит от инструмента, который вы используете для выполнения шагов.

Если вы используете Cucumber, вы можете смешать порядок Given/When/Then/And/But, как вам нравится.

Если вы смешиваете ключевые слова каким-то интересным способом, вы можете уничтожить одно из важных свойств Gherkin, способность функционировать как живая документация. Можно создать сценарий, который не читается таким образом.

Что мне кажется, что вы хотели бы сделать, это создать новый сценарий, который работает на более высоком уровне абстракции, а не расширяет небольшую сценария в более крупный сценарий. Или возможно изменить текущий сценарий на более высокий уровень абстракции.

Наличие двух сценариев на разных уровнях абстракции не обязательно является плохим. Он документирует и выполняет ваш продукт с двух разных точек зрения.

1
задан CopsOnRoad 20 January 2019 в 08:28
поделиться

1 ответ

Вы можете закрыть нижний лист, используя

Navigator.of(context).pop();

В качестве альтернативы, вы можете использовать PersistentBottomSheetController, чтобы закрыть нижний лист. Вот как ты это сделаешь.

PersistentBottomSheetController _controller; // instance variable

Следующее может быть помещено в onPressed() тип события.

_controller = homeScaffoldKey
    .currentState
    .showBottomSheet((BuildContext context) {
     return YourWidgetImplementation();
  },
);

И вы можете закрыть его, используя

_controller.close();

Также есть способ показать только часть постоянного нижнего листа, и пользователь может перетащить лист вверх, чтобы просмотреть полное содержание?

Извините, вы должны сделать это самостоятельно, на данный момент в Flutter нет встроенной подобной вещи. Вы можете использовать GestureDetector, чтобы манипулировать вещами по-своему.

0
ответ дан CopsOnRoad 20 January 2019 в 08:28
поделиться