Дочерняя полоса прокрутки влияет на родительскую полосу прокрутки?

У меня есть полоса прокрутки на высоком уровне и дочерняя полоса прокрутки на несколько уровней вниз по дереву. При прокрутке дочернего элемента прокручивается и родительский элемент. Просто полоса прокрутки отображается и перемещается в родительском элементе. По-другому не бывает. Я пробовала обернуть ребенка детектором жестов, но это не сработало. Кстати, это Интернет

Это виджет родительского макета (дочерний - то место, где будут отображаться дочерние элементы):

Scrollbar(
    controller: layoutScrollController,
    child: SingleChildScrollView(
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          if(title != null) Container(
            height: 67,
            width: MediaQuery.of(context).size.width,
            decoration: BoxDecoration(
                color:Theme.of(context).brightness == Brightness.dark ? GatheredThemeColors.light[850] : Colors.white,
                border: Border(
                    bottom: BorderSide(
                        color: Theme.of(context).brightness == Brightness.dark ? GatheredThemeColors.light[800] : GatheredThemeColors.light[200],
                        width: 1
                    )
                )
            ),
            padding: EdgeInsets.all(20),
            child: Text(title,style: Theme.of(context).textTheme.headline1,),
          ),
          Container(
            padding: EdgeInsets.all(20),
            constraints: BoxConstraints(minHeight: 200),
            child: child,
          ),
        ],
      ),
    ),
  );
}

На изображении ниже область "Отчеты" - это дочерний элемент, который вызывает прокрутку родителя. Найдите ReportList. Список отчетов - это виджет ListView.

1 ответ

Решение

Это обходной путь, я не могу найти ссылку, но похоже, что команда разработчиков пытается исправить это.

Вот. Оберните полосу прокрутки следующим образом:

NotificationListener<ScrollNotification>(
    onNotification: (notification) => true,
    child: Scrollbar()
)
Другие вопросы по тегам