[flutter] Card 위젯을 이용한 즐겨찾기 화면 구성하기

flutter를 이용하여 즐겨찾기 화면을 만드는 방법에 대해 알아보겠습니다. 즐겨찾기 화면은 다양한 아이템이나 목록을 보여주고 사용자가 특정 아이템을 즐겨찾기할 수 있는 기능을 제공합니다.

1. Card 위젯 이용하기

flutter에서는 Card 위젯을 사용하여 아이템을 감싸고 그림자나 모서리를 부드럽게 만들 수 있습니다.

Card(
  child: ListTile(
    leading: Icon(Icons.favorite),
    title: Text('아이템 제목'),
    subtitle: Text('아이템 설명'),
    trailing: IconButton(
      icon: Icon(Icons.delete),
      onPressed: () {
        // 삭제 버튼을 눌렀을 때의 동작
      },
    ),
  ),
)

위의 코드에서 Card 위젯을 이용하여 아이템의 제목, 설명, 아이콘 및 삭제 버튼을 포함한 리스트 타일을 만들어 볼 수 있습니다.

2. ListView와 Builder 활용하기

즐겨찾기 목록의 아이템이 동적으로 추가되거나 삭제될 수 있으므로 ListView와 Builder를 활용하여 목록을 효과적으로 관리할 수 있습니다.

ListView.builder(
  itemCount: favoriteItems.length,
  itemBuilder: (BuildContext context, int index) {
    return Card(
      child: ListTile(
        leading: Icon(Icons.favorite),
        title: Text(favoriteItems[index].title),
        subtitle: Text(favoriteItems[index].description),
        trailing: IconButton(
          icon: Icon(Icons.delete),
          onPressed: () {
            // 해당 아이템 삭제
            setState(() {
              favoriteItems.removeAt(index);
            });
          },
        ),
      ),
    );
  },
)

위의 코드에서 ListView.builder를 사용하여 즐겨찾기 아이템 목록을 보여주고, 삭제 버튼을 누를 경우 해당 아이템을 목록에서 제거하는 동작을 구현할 수 있습니다.

3. 즐겨찾기 데이터 모델 생성하기

즐겨찾기 아이템을 표현할 데이터 모델을 생성하여 사용하는 것이 좋습니다.

class FavoriteItem {
  final String title;
  final String description;

  FavoriteItem(this.title, this.description);
}

List<FavoriteItem> favoriteItems = [
  FavoriteItem('아이템1', '아이템1 설명'),
  FavoriteItem('아이템2', '아이템2 설명'),
  FavoriteItem('아이템3', '아이템3 설명'),
];

위의 코드에서는 FavoriteItem 클래스를 생성하여 즐겨찾기 아이템을 표현하고, favoriteItems 리스트를 통해 즐겨찾기 아이템의 목록을 관리할 수 있습니다.

이제 여러분은 flutter를 이용하여 즐겨찾기 화면을 만드는 기초적인 방법에 대해 알게 되었습니다. Card 위젯, ListView, Builder 및 데이터 모델을 활용하여 다양한 즐겨찾기 기능을 구현해 볼 수 있습니다.

더 많은 정보를 얻고 싶으시다면, flutter 공식 문서를 참고해보시기 바랍니다.

flutter 공식 문서

이상으로 flutter를 이용하여 즐겨찾기 화면을 만드는 방법에 대해 알아보았습니다. 감사합니다.