[flutter] AspectRatio를 이용한 비율 조정 애니메이션 구현하기

Flutter 앱에서 이미지 비율을 조정하고 애니메이션을 추가하려면 AspectRatio 위젯을 사용할 수 있습니다. 이것은 사용자 환경을 향상시키고 앱에 더 많은 상호작용성을 제공합니다.

이 블로그 포스트에서는 Flutter의 AspectRatio 위젯을 사용하여 이미지 비율을 조정하는 방법과 함께 애니메이션을 추가하는 방법에 대해 알아보겠습니다.

AspectRatio 위젯 이해하기

AspectRatio 위젯은 자식 위젯의 가로 세로 비율을 고려하여 크기를 조정합니다. 이를 통해 이미지나 콘텐츠의 비율을 유지하면서 화면에 맞게 조정할 수 있습니다.

AspectRatio(
  aspectRatio: 16/9,
  child: Image.asset('assets/example.jpg'),
)

이 예제에서는 이미지를 16:9로 비율을 조정하여 화면에 표시합니다.

애니메이션 추가하기

애니메이션을 추가하려면 AspectRatio 위젯을 AnimatedContainer나 다른 애니메이션 위젯으로 감싸면 됩니다. 예를 들어, 이미지를 탭하면 비율이 변경되는 애니메이션을 추가할 수 있습니다.

bool _isWide = false;

GestureDetector(
  onTap: () {
    setState(() {
      _isWide = !_isWide;
    });
  },
  child: AnimatedContainer(
    duration: Duration(seconds: 1),
    curve: Curves.fastOutSlowIn,
    child: AspectRatio(
      aspectRatio: _isWide ? 16/9 : 4/3,
      child: Image.asset('assets/example.jpg'),
    ),
  ),
)

위의 예제에서, GestureDetector를 사용하여 이미지를 탭할 때마다 비율이 변경됩니다.

Flutter를 사용하면 AspectRatio와 같은 위젯을 활용하여 이미지 비율을 조정하고 애니메이션을 추가하는 것이 얼마나 쉬운지 알 수 있습니다. 사용자의 경험을 향상시키고 앱에 다양한 상호작용성을 추가하기 위해 이 기술을 활용해보세요.

이상으로 Flutter를 이용한 AspectRatio를 통한 비율 조정 애니메이션 구현에 대해 알아보았습니다. 부족한 점이 있거나 추가할 내용이 있다면 언제든지 말씀해주세요.

참고자료: