[flutter] ListView에서 아이템을 슬라이드하여 닫기/열기 기능 추가하기
이번에는 Flutter 앱에서 ListView의 아이템을 슬라이드하여 닫기 또는 열기 기능을 추가하는 방법에 대해 알아보겠습니다.
1. Dismissible 위젯 사용하기
이 기능을 구현하기 위해 Dismissible
위젯을 사용합니다. Dismissible
위젯은 리스트 아이템을 슬라이드하여 삭제 또는 다양한 작업을 수행할 수 있게 해줍니다.
ListView.builder(
itemBuilder: (context, index) {
return Dismissible(
key: Key('item_$index'),
onDismissed: (direction) {
// 아이템을 슬라이드하여 삭제할 경우의 처리 로직
},
background: Container(
color: Colors.red,
child: Icon(Icons.delete),
),
child: ListTile(
title: Text('아이템 $index'),
),
);
},
itemCount: 10,
)
위의 예시 코드에서 Dismissible
위젯을 사용하여 각 리스트 아이템에 슬라이딩 기능을 추가할 수 있습니다. (여기서는 왼쪽 슬라이드를 통해 삭제 기능을 구현했습니다.)
2. 추가적인 기능 구현하기
Dismissible
위젯은 background
속성으로 슬라이딩할 때 보여줄 배경을 지정할 수 있습니다. 또한 onDismissed
콜백을 사용하여 아이템이 슬라이딩되었을 때의 처리 로직을 추가할 수 있습니다.
이를 응용하여 리스트 아이템을 슬라이드하여 열기/닫기와 같은 기능을 추가할 수 있습니다.
마무리
Flutter의 Dismissible
위젯을 활용하여 ListView의 아이템을 슬라이드하여 다양한 기능을 추가하는 방법에 대해 살펴봤습니다. 이를 참고하여 앱에 적합한 기능을 구현해 보세요.
참고 자료: Flutter - Dismissible class