Флаттер: как отключить перетаскивание, чтобы закрыть showModalBottomSheet - PullRequest
0 голосов
/ 26 марта 2020

Я хочу отключить перетаскивание вниз, чтобы закрыть showModalBottomSheet

Я уже пытался использовать enableDrag:false,

Когда я использую enableDrag:false,, отображается ниже ошибка

enter image description here

Ниже мой код

 modal(BuildContext context) {
    showModalBottomSheet(
        context: context,
        enableDrag:false,
        isDismissible: false,
        backgroundColor: Colors.transparent,
        builder: (context) {
          return Container(
            width: MediaQuery.of(context).size.width,
            child: Stack(
              alignment: Alignment.topCenter,
              children: <Widget>[
                Container(
                  width: MediaQuery.of(context).size.width,
                  padding: EdgeInsets.only(top: 30),
                  child: Stack(
                    alignment: Alignment.topCenter,
                    children: <Widget>[
                      ClipPath(
                        clipper: OvalTopBorderClipper(),
                        child: Container(
                          width: MediaQuery.of(context).size.width,
                          padding: EdgeInsets.only(top: 80),
                          color: Colors.white,
                          height: 440,
                          child: Text("This is a modal bottom sheet !"),
                        ),
                      ),
                    ],
                  ),
                ),
                Positioned(
                  top: 5,
                  child: Container(
                    width: 50.0,
                    height: 53.0,
                    child: Center(
                      child: Text(
                        "K",
                        style: TextStyle(
                            color: AppColors.textColor, fontSize: 20.0),
                      ),
                    ),
                    padding:
                        EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0),
                    decoration: BoxDecoration(
                        border:
                            Border.all(color: AppColors.textColor, width: 2)),
                  ),
                ),
              ],
            ),
          );
        });
  }

Я уже проверял этот пост

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Заранее спасибо. Ваши усилия будут оценены.

1 Ответ

1 голос
/ 26 марта 2020

enableDrag недоступно в showModalBottomSheet. Я не думаю, что это когда-либо было доступно в стабильном канале. По комментариям по ссылке на тот момент она была доступна на канале Мастер. Но второй ответ по этой ссылке работает хорошо

builder: (context) => GestureDetector(
                    onVerticalDragDown: (_) {},
                    child: ...,

здесь - документация к showModalBottomSheet. Вы всегда можете нажать на showModalBottomSheet и настроить его. В соответствии с do c

BottomSheet, который становится родителем виджета, возвращаемого функцией, передаваемой в качестве аргумента построителя в showModalBottomSheet.

и BottomSheet имеет параметр enableDrag.

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