AspectRatio
`AspectRatio`위젯은 부모 위젯의 너비를 기준으로 가로 세로 비율을 정하여 본인의 크기를 지정하는 위젯이다.
보통 이미지의 크기를 지정할 때 많이 사용하는 위젯이라고 하는데 이번에 연습하면서 이 위젯의 장점을 발견했기에 TIL을 작성해 본다.
상황
세로 방향
- 이미지의 너비를 500으로 지정한 상황
- 다행히, 부모 위젯이나 뷰포트보다 이미지의 너비가 커서 아무 문제가 없어 보인다.
- 그러나 이미지들의 원본 비율 때문에 높이가 다른 것을 볼 수 있다.
가로 방향
- 이미지의 너비를 500으로 지정했기 때문에 핸드폰을 가로로 봐도 이미지의 크기가 변동이 없다.
- 이러한 모습을 디자인했다면 상관없겠지만, 어떤 방향이든 이미지가 꽉 차야하는 경우가 있을 경우가 있다.
- 이럴 때 `AspectRaio`를 사용하면 좋다.
방법
Expanded(
child: AspectRatio(
aspectRatio: 1 / 1,
child: Image.aseets('path')
)
)
- 상황에 따라 `Expanded`위젯은 삭제해도 된다.
- 비율은 원하는 만큼 지정하면 어떤 방향이든 이미지는 꽉 채워서 보여진다.
마무리(느낀 점)
이런 방법으로 반응형을 만들 수 있을 것 같다.
그렇지만 반응형을 만들 때 사용하는 위젯이 따로 있을게 분명하다.
폴드형 핸드폰이 계속 나오고 있는 만큼 반응형에 대해서 잘 숙지해야 할 것 같다.
'TIL(Today I Learned)' 카테고리의 다른 글
[TIL-020] Flutter로 기차 좌석 예매 어플 만들기-2 (0) | 2025.04.01 |
---|---|
[TIL-019] Flutter로 기차 좌석 예매 어플 만들기-1 (0) | 2025.04.01 |
[TIL-017] Flutter 위젯 파헤치기 - Container (0) | 2025.03.27 |
[TIL-016] Flutter App은 스크롤 생성이 자동이 아니다 (0) | 2025.03.27 |
[TIL-015] Mac OS 단축키 (0) | 2025.03.23 |