작성
·
166
0
검색 방법이 잘못된건지 모르지만 구글에 검색해도 해결법이 나오지않아 질문 올립니다.
bottomNavagtionBar:
GestureDetector(
onTap: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => CommentRegisterScreen( id: widget.id)));
},
child: TRoundedContainer(
height: 60,
backgroundColor: const Color(0xffF8F8FA),
padding: const EdgeInsets.all(TSizes.defalutSpace),
radius: 0,
child: Text(
'댓글을 남겨보세요.',
style: Theme.of(context).textTheme.bodyMedium!.copyWith(color: Colors.grey),
),
),
),
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(TSizes.defalutSpace),
child: Column(
children: [
const SizedBox(height: TSizes.spaceBtwItems),
SizedBox(
height: MediaQuery.of(context).size.height,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: PaginationListViewV2(
model: state,
id: widget.id,
provider: commentProvider(widget.id),
itemBuilder: <Comment>(_,index,comment){
if(index == 0){
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
/// 제목
Text(state.title, style: Theme.of(context).textTheme.headlineMedium),
const SizedBox(height: TSizes.spaceBtwItems),
/// 닉네임
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const TRoundedImage(
width: 24,
height: 24,
fit: BoxFit.fill,
imageUrl: 'asset/img/no_image.png',
borderRadius: 100,
),
const SizedBox(width: TSizes.sm),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
state.creator,
style: Theme.of(context).textTheme.bodyLarge,
),
],
),
],
),
const SizedBox(height: TSizes.spaceBtwItems),
/// 날짜, 좋아요
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
state.createDate.split("T")[0],
style: Theme.of(context).textTheme.bodyMedium!.copyWith(color: Colors.grey),
),
GestureDetector(
onTap: button.disable==false ? () async {
//버튼 비활성화
await button.change();
await check == -1
? ref.read(communityProvider.notifier).clickFavorite(widget.id)
: ref.read(communityProvider.notifier).downFavorite(widget.id);
await ref.read(favoriteProvider.notifier).updateFavorites(widget.id);
//버튼 활성화
await button.change();
} : null,
child: check == -1
? TRoundedContainer(
showBorder: true,
padding: const EdgeInsets.all(TSizes.sm),
borderColor: Colors.redAccent,
radius: 10,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
'좋아요',
style: Theme.of(context).textTheme.labelMedium!.copyWith(color: Colors.redAccent),
),
const SizedBox(width: TSizes.xs),
Text(
state.favorite.toString(),
style: Theme.of(context).textTheme.labelMedium!.copyWith(color: Colors.redAccent),
),
],
),
)
: TRoundedContainer(
padding: const EdgeInsets.all(TSizes.sm),
backgroundColor: Colors.redAccent,
radius: 10,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
child: SizedBox(
height: 120,
child: ListView.separated(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
itemCount: imgs.length,
separatorBuilder: (_, __) {
return const SizedBox(width: TSizes.spaceBtwItems / 2);
},
itemBuilder: (_, int index) {
return TRoundedImage(
imageUrl: imgs[index].toString().trim(),
width: 120,
height: 120,
fit: BoxFit.fill,
borderRadius: 12.0,
isNetworkImage: true,
);
},
),
),
),
],
)
: const SizedBox(),
const SizedBox(height: TSizes.spaceBtwSections),
/// 글 내용
Text(
state.content.trim(),
style: Theme.of(context).textTheme.bodyMedium!.copyWith(height: 1.5),
),
/// 댓글 0이 아닐 경우
Row(
children: [
Text('댓글', style: Theme.of(context).textTheme.bodySmall),
const SizedBox(width: TSizes.spaceBtwItems / 2),
Text(state.commentCnt.toString(), style: Theme.of(context).textTheme.bodySmall),
],
),
const SizedBox(height: TSizes.spaceBtwItems),
CommentCard(
comment:comment,
recomments:comment.commentList,
board_id: widget.id
)
],
);
}
return CommentCard(
comment:comment,
recomments:comment.commentList,
board_id: widget.id
);
}),
),
Container(
height: 210
)
]
),
),
// Center(child: Text('첫 댓글을 남겨주세요.', style: Theme.of(context).textTheme.bodySmall)),
],
),
),
),
위 코드와 같이 BottomNavigationBar와 SinglechildScrollView를 같이 사용하고 있습니다. 가장 하단의
Container(
height: 210
)
위 코드를 넣어주지 않을 시 화면 스크롤이 모두 안되고 짤리는 현상이 발생합니다. 혹시 이러한 경험이 있어 해결방법이 있다면 알려주시면 감사하겠습니다.
답변 1
0
안녕하세요!
어디서 문제가 생기는지 파악을 먼저 해보셔야 될 것 같습니다.
문제점을 isolate하지않고 코드를 통째로 던져주시면 파악할 방법이 없습니다.
감사합니다!