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

结构

输入小部件
输入小部件都继承自 StatefulWidget,因为它们需要响应 onTap 手势。
-
NumberButton。渲染数字按钮(如 1、2、3…)并处理 onTap 手势。
-
OperatorButton。渲染运算符按钮(如 +、-、*…)并处理 onTap 手势。
-
ResultButton。渲染命令按钮(如清除、等于…)并处理 onTap 手势。
输出小部件
输出小部件都继承自 StatelessWidget,因为它们只负责渲染。
-
ResultDisplay。渲染当前结果,并在用户点击数字按钮时改变显示。
-
HistoryBlock。渲染计算历史记录,并在用户每次点击有效按钮时更新显示。
CalculatorPage
CalculatorPage 继承自 StatefulWidget,并维护一个结果列表。
CalculatorPage 接收所有输入小部件的 onTap 事件,进行逻辑计算,并决定向输出小部件显示什么。