一个展开按钮,点击时会自己执行旋转180的动画。可指定颜色、大小、边距,接收点击事件。

相关组件

ClipOval AnimatedIcon

ExpandIcon基本使用

【isExpanded】 : 是否展开 【bool】
【padding】 : 内边距 【EdgeInsetsGeometry】,
【size】 : 图标大小 【double】
【color】 : 不展开时颜色 【Color】
【expandedColor】 : 展开时颜色 【Color】
【onPressed】 : 点击事件 【Function(bool)】
164.gif

  1. import 'package:flutter/material.dart';
  2. class CustomExpandIcon extends StatefulWidget {
  3. @override
  4. _CustomExpandIconState createState() => _CustomExpandIconState();
  5. }
  6. class _CustomExpandIconState extends State<CustomExpandIcon> {
  7. var _closed = true;
  8. @override
  9. Widget build(BuildContext context) {
  10. return ExpandIcon(
  11. isExpanded: _closed,
  12. padding: EdgeInsets.all(5),
  13. size: 30,
  14. color: Colors.blue,
  15. expandedColor: Colors.orangeAccent,
  16. onPressed: (value) => setState(() => _closed = !_closed),
  17. );
  18. }
  19. }