[flutter] 플러터 금주의 위젯 #4 animated container

in #sct5 years ago (edited)

ANIMATED CONTAINER (움직이는 컨테이너)

애니메이션 변경 사항을 직접 코딩하거나 Flutter가 애니메이션을 변경하도록 할 수 있습니다! AnimatedContainer 위젯을 사용하면 색상과 같은 특정 속성으로 한 번만 빌드 한 다음 다른 값으로 다시 빌드하면됩니다. Flutter는 자동으로 둘 사이의 변화를 애니메이션합니다! 또한 사용자 정의 모양에 대한 애니메이션 길이와 변화곡선을 지정할 수 있습니다.

flutter docs

https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html

youtube

EXAMPLE(예제)

변경 전변경 중변경 후
import 'package:flutter/material.dart';

/// 에니메이션 컨테이너
class ExAnimatedContainer extends StatefulWidget {

  String get name => 'ExAnimatedContainer';

  const ExAnimatedContainer({Key key}) : super(key: key);

  @override
  _ExAnimatedContainer createState() => _ExAnimatedContainer();
}

class _ExAnimatedContainer extends State<StatefulWidget>{

  bool selected = true;

  @override
  Widget build(BuildContext context) {
    
    // 제스쳐 감지
    return GestureDetector(
      // 탭 하면 상태 정보를 변경한다
      onTap: (){
        setState(() {
          selected = !selected;
        });
      },
      child: AnimatedContainer(
        width: selected ? 200.0 : 100.0,
        height: selected ? 100.0 : 200.0,
        color: selected ? Colors.red : Colors.blue,
        alignment: selected ? Alignment.center : AlignmentDirectional.topCenter,
        duration: Duration(seconds: 2),
        curve: Curves.fastOutSlowIn,
        child: FlutterLogo(size: 75),
      ),
    );
  }
}

맺음말

  • ANIMATED CONTAINER 를 통해 위젯에 다양한 에니메이션을 적용하여 멋진 효과를 보여 줄 수 있습니다. 스와이프를 하여 다른 화면을 보여 줄때 사르르 사라지게 한다던가 등 여러분의 다양한 상상력을 보여주세요 ~
  • 다음 시간에 또 만나요 ~

관련 글

  • 플러터 금주의 위젯 : 1 / 2 / 3 / 4
  • 플러터 라이브러리 투어 : 1 / 2 / 3 / 4 / 5 / 6
  • 다트언어 투어 : 1 / 2 / 3 / 4
  • 플러터 설치 - MAC / Windows

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64678.67
ETH 3086.68
USDT 1.00
SBD 3.87