Row일 때의 Overflow => Expanded으로 감싼다.
Column일 때의 Overflow => Column 대신 ListView 사용, SingleChildScrollView로 감싼다.
Expanded(
child: GridView.builder(
itemCount: viewModel.movies.length,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
childAspectRatio: 2 / 3.5,
),
itemBuilder: (BuildContext context, int index) {
return Column(
children: [
GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
MovieDetailScreen(viewModel.movies[index])),
);
},
child: ClipRRect(
borderRadius: BorderRadius.circular(20),
child: Image.network(
'https://image.tmdb.org/t/p/w500${viewModel.movies[index].posterPath}',
fit: BoxFit.cover,
),
),
),
Text(
viewModel.movies[index].title,
style: const TextStyle(fontSize: 20),
),
],
);
},
),
),
첫번째 시도) Column -> ListView : overflow는 나지 않았지만 스크롤이 내려가지 않았다.
두번째 시도) Column -> SingleChildScrollView : children을 child로 바꿔야 해서 사용 불가.
세번째 시도) ClipRRect를 Expanded로 감쌌다. 변화가 없다.
😁😁😁 Column을 SingleChildScrollView로 감쌌다. 그러니까 해결!!!