Дочерняя полоса прокрутки влияет на родительскую полосу прокрутки?
У меня есть полоса прокрутки на высоком уровне и дочерняя полоса прокрутки на несколько уровней вниз по дереву. При прокрутке дочернего элемента прокручивается и родительский элемент. Просто полоса прокрутки отображается и перемещается в родительском элементе. По-другому не бывает. Я пробовала обернуть ребенка детектором жестов, но это не сработало. Кстати, это Интернет
Это виджет родительского макета (дочерний - то место, где будут отображаться дочерние элементы):
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()
)