简易计算器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自定义边框(border.xml)
引用边框文件
设置边距 设置边框大小 设置边框颜色
网增了一种网格布局(GridLayout),该布局 吸纳了线性布局、表格布局、相对布局的一些优点。它把整个容器划分 成rows行columns列个网格,每个网格可以放置一个控件,除此之外 可以设置一个控件横跨多少列、纵跨多少行,以及控件的摆放方向,是 一行行排列,还是一列列摆放。
直,默认是水平的即按行排列,如果不指定包含多少列,则网格布局只 包含一行,类似于水平的线性布局,如果指定包含多少列,则会根据列 来自动换行;如果是按列排列,则需要指定网格布局中包含多少行,否 则只有一列,类似于垂直的线性布局,如果指定包含多少行,则会根据 行来自动换列; android:layout_row:设置该控件所在网格行的序号; android:layout_rowSpan:设置该控件纵跨多少行; android:layout_column:设置该控件所在网格列的序号; android:layout_columnSpan:设置该控件横跨多少列;
本例中,仅简单实现加、减、乘、除、取余、退格和清空等功能, 单击“←”按钮实现退格功能,将刚刚输入的数字消除,单击“C”按 钮实现清空功能,一切恢复原状。此外,在执行计算过程中,还需处理 多次单击操作符、多次单击小数点、多次单击0等特殊情况。
用户单击按钮
简 易 计 算 器 业 务 流 程

是否第一 次单击
由于大部分按钮都是规则的,并且整体按照行列的形式摆放,因此可 考虑采用表格布局,而表格布局中不允许控件跨行,因此需要嵌套其它 布局管理器。根据最后两行的特点,选择相对布局比较方便,因此可采 用在表格布局中嵌入一个相对布局来实现计算器界面设计。
关键代码
自定义按钮样式
按钮属性设置
引用样式 按钮文字
关键代码
将数字拼接到 原有数字之后 是
是否第一次 单击操作符

按钮为true
是 等号无效
是否
为等号

标记上次是否 为数字按钮为 false,是否第一 次单击操作符 为false,记录 操作符
是否 为等号

计算结果并显 示,运算结束。 是否第一次单击
标记为true

计算上次操作 结果并显示, 同时标记上次 是否为数字按 钮为false,是否 第一次单击操 作符为false,
本章案例效果分析
一个文本编辑框单独占一行 规则的四行五列
相对布局 整体采用表格布局,内部嵌套相对布局
界面分析
界面中包含一个文本编辑框(EditText)、28个按钮(Button), 文本编辑框单独占一行,宽度为填充父容器、高度为内容包裹,边距为 10dp,颜色为#770000ff,不可编辑,包含边框。28个按钮中26个按 钮的高度为50dp,宽度为60dp,“=”按钮高度为100dp,宽度为 60dp,“0”按钮的高度为50dp,宽度为120dp。所有按钮的文本大小 为20sp,对齐方式为居中。(特殊符号:←、√、±)
③ 分别为数字按钮和运算符按钮设计单击事件处理方法。
课后思考题
思考
1. 本例通过表格布局和相对布局综合使用来实现计算器界 面,能不能通过其他布局的组合方式来实现呢?请自行 尝试实现。
2. 为了使每一行的内容水平居中,在<TableRow>标签中 设置了 android:gravity="center_horizontal",能 不能通过在<TableLayout>标签中设置 android:gravity="center_horizontal",达到同样效 果?如果不能,请说明理由。
记录操作符
简易计算器开发步骤
① 为相关数字按钮和操作符按钮添加id属性; ② 在Activity中,调用findViewById()方法根据id找到这些控件,同时为
这些控件注册单击事件监听器,本例中按钮较多可以将数字按钮放在 一个数组中,将操作符按钮放在一个数组中,通过循环遍历为其注册 事件监听器;
注意:由于网格布局是Android4.0中新增的布局,因此需
要在AndroidManifest.xml文件中将最低版本设置为14, android:minSdkVersion="14"。
网格布局(GridLayout)
android:rowCount:设置网格布局一共有多少行; android:columnCount:设置网格布局一共有多少列; android:orientation:设置网格布局中控件的排列方向,水平还是垂
简易计算器业务分析
计算器界面中的按钮可以大致分为两类:数字按钮和运算符按钮。 如果是数字按钮则要将其转换成数字,并且可以多次单击数字按钮,将 多个数字组成一个数,例如分别单击数字1、4、6按钮最后形成的数应 该是146而不是用后面的取代前面的,结果为6。如果是运算符按钮则 表明前一个数已经完成,接下来的数字形成一个新的数,当单击“=” 按钮时则在文本编辑框中显示表达式以及结果。

是否为 是 数字按钮 否

上一次是否 为数字按钮

这一次是否 为数字按钮

用该数字替换 默认的0,是 否第一次单击
操作无效, 是否第一次 单击标记仍 是
这一次是否 为数字按钮

标记为
为true
false,上一

生成一个新的 数,标记上一 次是否为数字
替换上次的 操作符
次是否为数字 按钮标记为 true。
相关文档
最新文档