본문 바로가기
Flutter

[Flutter] scroll listView with index

by hymndaniel 2023. 5. 9.

Motivation

ListView 위젯의 특정 위치로 이동시킬때 높이 대신 index로 하고싶은 경우

 

scroll_to_index 패키지를 사용하여 구현하였다.

https://pub.dev/packages/scroll_to_index/install

 

scroll_to_index | Flutter Package

Scroll to a specific child of any scrollable widget in Flutter

pub.dev

 

패키지를 임포트 하고

import 'package:scroll_to_index/scroll_to_index.dart';

컨트롤러를 만들어준다.

final AutoScrollController _autoScrollController = AutoScrollController();

ListView 위젯의 controller에 AutoScrollController를 지정해주고, child 위젯에 AutoScrollTag를 씌우면 된다

child: ListView.separated(
                        controller: _autoScrollController,
                        shrinkWrap: true,
                        itemCount:
                            data.length,
                        itemBuilder: (context, int index) {
                          return AutoScrollTag(
                              key: ValueKey(index), // AutoScrollTag's param
                              index: index, // AutoScrollTag's param
                              controller: _autoScrollController, // AutoScrollTag's param
                              child: Padding(
                                padding:
                                    const EdgeInsets.symmetric(vertical: 7.0),
                                child: ListTile(
                                ...
728x90