
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
중고나라 클론 코딩 중 피드에서 하트 누를때 하트 색 바뀌는게 코드를 똑같이 썼는데도 안됩니다.
하트의 위치가 살짝 더 밑으로 가 있는 것을 보아 코드에서 children: [] 이부분 인덴트가 이상하게 되있는거가 문제아닌가 싶습니다...
그래서 인덴트를 수정하고 싶은데 저장만 하면 또 이상하게 인덴트가 되버리네요...


import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class Feed extends StatefulWidget {
const Feed({
super.key,
});
@override
State<Feed> createState() => _FeedState();
}
class _FeedState extends State<Feed> {
bool isFavorite = false;
@override
Widget build(BuildContext context) {
return Row(
crossAxisAlignment: CrossAxisAlignment
.start, // row(주축:가로)에 속하는 이미지와 텍스트를 전부 부축(세로) 기준 start 포인트로 밀착시킴
children: [
// CilpRRect 를 통해 이미지에 곡선 border 생성
ClipRRect(
borderRadius: BorderRadius.circular(8),
// 이미지
child: Image.network(
'https://cdn2.thecatapi.com/images/6bt.jpg',
width: 100,
height: 100,
fit: BoxFit.cover,
),
),
SizedBox(width: 12), // 물품 사진과 텍스트 사이에 빈공간 만들어주기 위함
Expanded(
// 자식위젯(칼럼)의 너비를 남은 공간 전체로 지정해줌
child: Column(
crossAxisAlignment: CrossAxisAlignment
.start, // 칼럼(주축:세로)에 속하는 텍스트들을 부축(가로) 기준 start 지점으로 밀착
children: [
Text(
'M1 아이패드 프로 11형(3세대) 와이파이 128G 팝니다.',
style: TextStyle(
fontSize: 16,
color: Colors.black,
),
softWrap: false,
maxLines: 2,
overflow: TextOverflow.ellipsis, // 오버플로우시 줄바꿈하라는 뜻
),
SizedBox(height: 2),
Text(
'봉천동 · 6분 전',
style: TextStyle(
fontSize: 12,
color: Colors.black45,
),
),
SizedBox(height: 4),
Text(
'100만원',
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.bold,
),
),
Row(children: [
Spacer(), //차지할 수 있는 공간 모두를 차지해버림 -> 위젯 밀어내기 용
GestureDetector(
//모든 위젯을 버튼처럼 만들어 줌
onTap: () {
isFavorite = !isFavorite;
},
child: Row(children: [
Icon(
isFavorite
? CupertinoIcons.heart_fill
: CupertinoIcons.heart,
color: isFavorite ? Colors.pink : Colors.black,
size: 16,
),
Text(
'1',
style: TextStyle(color: Colors.black54),
)
]))
])
]))
]);
}
}
