[flutter] 플러터 Table 위젯에서 특정 셀에 백그라운드 이미지 설정하기

플러터(Table)[https://api.flutter.dev/flutter/widgets/Table-class.html]은 행과 열로 이루어진 2차원 배열 모양의 위젯입니다. 각 셀마다 다양한 형식의 위젯을 나타낼 수 있으며, 원하는 셀에 백그라운드 이미지를 설정하는 방법에 대해 알아보겠습니다.

1. BoxDecoration 사용

특정 셀에 백그라운드 이미지를 설정하려면 해당 셀의 내용을 Container 위젯으로 감싸고, Containerdecoration 속성에 BoxDecoration을 사용하여 이미지를 설정합니다.

Table(
  children: [
    TableRow(
      children: [
        Container(
          decoration: BoxDecoration(
            image: DecorationImage(
              image: AssetImage('assets/background_image.png'),
              fit: BoxFit.cover,
            ),
          ),
          child: // 셀에 들어갈 내용 위젯,
        ),
      ],
    ),
  ],
)

이 경우, background_image.png는 앱의 이미지 리소스에 위치한 이미지 파일입니다.

2. Ink 속성 사용

또 다른 방법은 Ink 위젯을 사용하여 감싸는 것입니다. Ink 위젯은 터치 효과가 있는 위젯을 감싸는 데 사용됩니다.

Table(
  children: [
    TableRow(
      children: [
        Ink(
          decoration: BoxDecoration(
            image: DecorationImage(
              image: AssetImage('assets/background_image.png'),
              fit: BoxFit.cover,
            ),
          ),
          child: // 셀에 들어갈 내용 위젯,
        ),
      ],
    ),
  ],
)

참고