#flutter #charts
Вопрос:
Если мы реализуем какую-либо диаграмму (будь то линейная диаграмма или столбчатая диаграмма из chart_flutter) и в поведении, мы добавили диаграммы.Функция PanAndZoomBehavior(), панорамирование и масштабирование работают нормально, когда они добавляются на экран без scrollview
Вот иерархия виджетов сценария в виде SingleChildScrollView -> диаграммы.Линейная диаграмма на арене жестов выигрывает только один жест childscrollview, поведение панорамирования и масштабирования не работает google / диаграммы google / диаграммы #677 Эта статья полезна https://medium.com/koahealth/combining-multiple-gesturedetectors-in-flutter-26d899d008b2 Кто-нибудь знает, что может быть лучшим подходом для этого
Комментарии:
1. Мы смогли исправить эту проблему, внеся некоторые изменения в библиотеку charts_flutter
Ответ №1:
Я полагаю, это потому, что вам нужно обернуть виджет диаграммы, который находится внутри какого-либо другого виджета, в котором есть физика (свойство). В самих диаграммах не определена никакая физика. Оно управляется с помощью ссылок на модели состояний.. У меня тоже была эта проблема давным-давно.. Вот моя рекомендация (с очень любительскими знаниями о flutter):
- Во-первых, я бы обернул свои диаграммы в виджет карты.
- Во-вторых, я бы не стал использовать SingleChildScrollView. Если вы не абсолютно уверены, какой виджет вы создаете под этим родительским, и каждый из них имеет внутренние размеры, определенные в дочерних виджетах. Я бы настоятельно рекомендовал использовать CustomScrollView -> И добавить простой SliverChildBuilderDelegate . Это лениво строит ваши диаграммы (теперь завернутые в карточку / контейнер / столбец.. все, что вы выбрали).. Таким образом, вам не нужно беспокоиться о размерах и прокрутке. И любые дочерние элементы, которые вы добавляете, лениво создаются при прокрутке в область просмотра..