Я буду реализовывать то же поведение в течение следующих нескольких недель, и я буду ссылаться на реализацию фона в Flutter Gallery, я мог изменить ее ранее, чтобы отображать и скрывать (с областью просмотра).
Чтобы быть точным, вы можете повторить желаемый эффект, изменив эту строку кода в фоновой_демон.dart из галереи Flutter:
void _handleDragUpdate(DragUpdateDetails details) {
if (_controller.isAnimating)// || _controller.status == AnimationStatus.completed)
return;
_controller.value -= details.primaryDelta / (_backdropHeight ?? details.primaryDelta);
}
Я только что прокомментировал проверку состояния контроллера, чтобы панель могла бытьswipe-способны.
Я знаю, что это не полная реализация, которую вы ищете, но я надеюсь, что это поможет вам в любом случае.