今天我們要介紹的是 Flutter 中的動畫。動畫對於整個專案來說,會讓畫面看起來更活潑。
動畫又分為隱式動畫和顯式動畫:
隱式動畫是指那些由框架自動處理的動畫效果。這些動畫的特點是簡單易用,開發者只需要更改某個 widget 的屬性值,Flutter 會自動處理屬性變化的過渡效果,而不需要手動管理動畫的時間軸或狀態。
常見的隱式動畫有:
AnimatedContainer(
duration: Duration(seconds: 1),
width: isSelected ? 200.0 : 100.0,
height: isSelected ? 100.0 : 200.0,
color: isSelected ? Colors.blue : Colors.red,
child: FlutterLogo(),
)
AnimatedOpacity(
opacity: isVisible ? 1.0 : 0.0,
duration: Duration(seconds: 1),
child: FlutterLogo(),
)
AnimatedPadding(
padding: isPadded ? EdgeInsets.all(50.0) : EdgeInsets.all(10.0),
duration: Duration(seconds: 1),
child: FlutterLogo(),
)
AnimatedAlign(
alignment: isAligned ? Alignment.topRight : Alignment.bottomLeft,
duration: Duration(seconds: 1),
child: FlutterLogo(),
)
Stack(
children: <Widget>[
AnimatedPositioned(
duration: Duration(seconds: 1),
left: isPositioned ? 50.0 : 150.0,
top: isPositioned ? 50.0 : 150.0,
child: FlutterLogo(),
),
],
)
我們明天見~