flutter_calculator

使用 flutter 以相同的代码在 iOS 和 Android 中构建计算器应用。

flutter_calculator

结构

flutter_calculatorv

输入小部件

输入小部件都继承自 StatefulWidget,因为它们需要响应 onTap 手势。

  • NumberButton。渲染数字按钮(如 1、2、3…)并处理 onTap 手势。

  • OperatorButton。渲染运算符按钮(如 +、-、*…)并处理 onTap 手势。

  • ResultButton。渲染命令按钮(如清除、等于…)并处理 onTap 手势。

输出小部件

输出小部件都继承自 StatelessWidget,因为它们只负责渲染。

  • ResultDisplay。渲染当前结果,并在用户点击数字按钮时改变显示。

  • HistoryBlock。渲染计算历史记录,并在用户每次点击有效按钮时更新显示。

CalculatorPage

CalculatorPage 继承自 StatefulWidget,并维护一个结果列表。

CalculatorPage 接收所有输入小部件的 onTap 事件,进行逻辑计算,并决定向输出小部件显示什么。

GitHub

https://github.com/chenyuantao/flutter_calculator