Как обрабатывать панель вкладок с помощью ListView в Flutter?

#listview #dart #flutter #tabbar

#listview #dart #flutter #панель вкладок

Вопрос:

Я потратил пару часов только на то, чтобы найти, как изменить оттенок вкладки при прокрутке ListView до (x) элемента / заголовка,

Отсюда я начинаю изучать flutter

и пользовательский интерфейс выглядит так:

введите описание изображения здесь

Интересно, как справиться с ListView этим, и tabBar на всякий случай я прокручиваю до тех пор, пока Флаттер не станет потрясающим 51 tabBar , tabBar индикатор должен измениться вправо, то же самое должно работать tabBar , когда я нажимаю индекс 51 ListView , прокрутка должна быть потрясающей 51,

кто-нибудь может подсказать мне, как этого добиться?

Ответ №1:

Вам нужно использовать

TabController

 _tabController.animateTo((index))
 

В сочетании с

ScrollController

 final _position = ... // half or top depending on tab selection itemsize and count 
_scrollController.animateTo(_position,
        curve: Curves.linear, duration: Duration(milliseconds: 500));
 

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

Вот реализация ScrollController, которая вам поможет.

Комментарии:

1. можете ли вы дать мне подсказку, почему TabController и ScrollController сломать скрытый заголовок при прокрутке ?

2. Я не знаю об этой проблеме. Может быть, лучше создать новую ветку вопросов и предоставить полную информацию.