Flutter: как отключить прокрутку в gridview?

Созданный на 15 июн. 2018  ·  20Комментарии  ·  Источник: flutter/flutter

body: new ListView(children: <Widget>[_homeWidget()]),
Widget _homeWidget() {
    return new Container(
      height: MediaQuery.of(context).size.height,
      child: new Column(
        children: <Widget>[
          new Container(
              height: 180.0,
              child: new Container(
                child: advertisementList.length != 0
                    ? _imageSlider()
                    : new Container(),
              )),
         new Container(
              height: 200.0,
              child: new GridView.extent(
                primary: false,
                maxCrossAxisExtent: 150.0,
                children: _buildGrideTiles(12),
              ))
        ],
      ),
    );
  }

Самый полезный комментарий

Если вы просто хотите полностью отключить прокрутку, вы можете использовать physics: new NeverScrollableScrollPhysics() .

Все 20 Комментарий

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

нет, у меня есть список в процентах, мне нужно отключить прокрутку сетки.
я использовал nestedscrollvierw с recyclerview в android, у которого есть свойство nestedsroll = false;
я хочу сделать вложенную прокрутку с отключением прокрутки дочернего просмотра.

Установка основного свойства дочернего виджета удаляет вложенную прокрутку. Тестовый код

ListView(
        shrinkWrap: true,
        children: <Widget>[
          Text("List Item"),
          Text("List Item"),
          GridView.count(
            shrinkWrap: true,
            primary: true,
            padding: const EdgeInsets.all(20.0),
            crossAxisSpacing: 10.0,
            crossAxisCount: 2,
            children: <Widget>[
              const Text('He\'d have you all unravel at the'),
              const Text('Heed not the rabble'),
              const Text('Sound of screams but the'),
              const Text('Who scream'),
              const Text('Revolution is coming...'),
              const Text('Revolution, they...'),
            ],
          ),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
        ],
      );

Вывод с основным значением true: https://www.youtube.com/watch?v=8iCf6mwOL2U
Вывод с основным значением false: https://www.youtube.com/watch?v=IXFvRVaD8TI&

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

@vithanicandresh можно ли закрыть этот вопрос или еще есть открытые вопросы?

Я столкнулся с той же проблемой.

Другое решение — обернуть GridView виджетом IgnorePointer.

К сожалению, без дополнительной информации мы не знаем, как решить эту проблему. Поэтому мы неохотно собираемся закрыть эту ошибку на данный момент. Пожалуйста, не стесняйтесь комментировать ошибку, если у вас есть дополнительная информация для нас; мы немедленно откроем его!
Спасибо за ваш вклад.
копия @Hixie

Если вы просто хотите полностью отключить прокрутку, вы можете использовать physics: new NeverScrollableScrollPhysics() .

@Hixie Тогда как обрабатывать событие разбиения на страницы, когда родительский список достигает нижней части сетки?

Я не понимаю вопроса. Я рекомендую опубликовать четкое описание эффекта, которого вы хотите достичь, в Stack Overflow или flutter-dev.

физика: новый NeverScrollableScrollPhysics()

ух ты. спасибо 💯

Я столкнулся с той же проблемой.

Другое решение — обернуть GridView виджетом IgnorePointer.

Спасибо

Если вы просто хотите полностью отключить прокрутку, вы можете использовать physics: new NeverScrollableScrollPhysics() .

Я был на грани полного разочарования, пока не прочитал этот пост. какой хороший день :)

Было бы неплохо иметь виджет в стиле Table.count(children: [...]) , который не прокручивался и не пытался увеличиваться в высоту.

Установка основного свойства дочернего виджета удаляет вложенную прокрутку. Тестовый код

ListView(
        shrinkWrap: true,
        children: <Widget>[
          Text("List Item"),
          Text("List Item"),
          GridView.count(
            shrinkWrap: true,
            primary: true,
            padding: const EdgeInsets.all(20.0),
            crossAxisSpacing: 10.0,
            crossAxisCount: 2,
            children: <Widget>[
              const Text('He\'d have you all unravel at the'),
              const Text('Heed not the rabble'),
              const Text('Sound of screams but the'),
              const Text('Who scream'),
              const Text('Revolution is coming...'),
              const Text('Revolution, they...'),
            ],
          ),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
          Text("List Item"),
        ],
      );

Вывод с основным значением true: https://www.youtube.com/watch?v=8iCf6mwOL2U
Вывод с основным значением false: https://www.youtube.com/watch?v=IXFvRVaD8TI&

почему это не работает с ScrollSingleView.

GridView.count( physics: NeverScrollableScrollPhysics(), )

Если вы просто хотите полностью отключить прокрутку, вы можете использовать physics: new NeverScrollableScrollPhysics() .

Мужчины !! Серьезно это сработало
Я использую Gridview.count в Listview

Если вы просто хотите полностью отключить прокрутку, вы можете использовать physics: new NeverScrollableScrollPhysics() .

Спасибо. Я бы никогда не догадался, что у них будет scrollPhysics, который никогда не прокручивается

GridView.count(physics: NeverScrollableScrollPhysics(),)

Если вы просто хотите полностью отключить прокрутку, вы можете использовать physics: new NeverScrollableScrollPhysics() .

Если в сетке около 100 элементов, сам вид сетки перерисовываться не будет. У меня возникла эта проблема, и я все еще пытаюсь найти способ решить эту проблему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги