App Inventor编程开发集锦2-计算器-第1课-用户界面设计
App Inventor编程开发集锦是App Inventor编程教程的延伸,通过PBL项目制的实战案例,讲解App
...
图2-1 计算器的外观
图2-2 计算器的用户界面设计
计算器这个看似简单的应用,当你一旦着手去制作时,就会发现写出来的程序漏洞百出,那些在人类看来理所当然的逻辑,对于计算机来说,却是浑然不知,一定要将每个细节都照顾到,程序才能如你所愿地运行,否则就会出现一些莫名其妙的状况,
这里要讲解的是一个只有20个按键的简易计算器,实现了加减乘除的简单运算,以及清除、回退、求相反数等,如图2-1所示,更为复杂的运算,如求乘方、方根及三角函数的运算,可以利用开发工具中的数学函数,从现有的功能中衍生出来。
第0课 功能描述
一、符号及术语
- 前数:在计算过程中,居于运算符之前的那个数字;有三种情况可以生成前数:
- 程序运行伊始,用户先输入数字,然后输入算符,此时该数字转变为前数;
- 用户先后输入数字、算符、数字、等号后,计算结果被设定为前数;
- 用户先后输入数字、算符、数字、算符后,其中的第二个算符具有等号的功能,将输入的两个数字和第一个算符进行运算,所得结果被设定为前数;
- 后数:在计算过程中,居于运算符之后的那个数字;在键入等号或第二个算符后,将运算结果设定为前数,并将后数设置为0;
- 算符:在本程序中特指 +、-、×、÷这四个运算符;
- 等号算符:用户先后输入数字、算符、数字、算符、数字、算符……,其中除了第一个输入的算符外,其他算符兼具等号的功能,我们称后面的算符为等号算符;
- C:英文CLEAR的缩写,用于清除计算过程中的全部信息;
- CE:英文CLEAR ENTRY的缩写,用于清除在算符之后输入的所有数字——后数;
- ←(回退):用于从尾部清除后数中的一个字符;
- ±(相反数):用于求相反数,如果后数不为0,则运算对后数生效,如果后数为0且前数不为0,则对前数生效;也可以理解为对屏幕上显示的数生效;
二、功能描述
- 常规操作:用户按顺序输入前数(屏幕将显示后数)、算符(屏幕不显示)、后数(屏幕显示后数)以及等号后,显示运算结果;
- 连续运算:用户先后输入数字、算符、数字、等号算符、数字、等号算符……,每次输入等号算符,显示运算结果,并将运算结果设置为前数,将后数设置为0;
- 重新开始:当完成一次运算(前数被设置为运算结果),此时如果用户不输入算符,而是直接输入数字,则清除此前的运算结果(相当于按键C的作用);
- 连续两次输入算符:如果用户输入算符之后没有输入数字,而是再次输入算符,则后面输入的算符有效(前面的算符被后面的覆盖了);
- 输入纯小数:用户有两种方法输入0.5:输入0.5或输入.5;
- 其他功能键的功能描述见上一个标题“符号与术语”。
第1课 用户界面设计
用户界面中用到了1个标签、20个按钮以及五个水平布局组件,其中20个按钮分别放置在五个水平布局组件中。水平布局组件及按钮的宽度和高度属性皆设置为“充满”。如图2-2所示。各组件的命名及属性设置见表2-1。
表2-1 组件的命名及属性设置