一、界面
界面的实现在参照课本例子的基础上,做了部分改动。总体使用GridLayout布局,设置7行4列。两个TextView组件分别显示输入的算式和计算结果,以及一个清除键,这三个组件分别占据一整行即4列的空间。下方数字0~9、符号+ - * / = . 等Button组件,每行四个按钮平均分布。
二、功能
第一次做简易计算器,暂时只能完成两个数之间的加减乘除运算,不能进行负数的运算,多个数的混合运算需要考虑运算的优先级问题,有待之后完善。
界面实现后就是对计算器的逻辑实现。首先在MainActivity中对各个控件进行控件实例化,并设置监听事件,使用实现接口的方式来实现监听事件。
使用switch判断按钮,将字符添加到算式字符串中,按“=”调用一个getResult()方法计算结果并显示。
三、源代码
strings.xml
<resources>
<string name="app_name">计算器</string>
<string name="defaultTxt"></string>
<string name="resultTxt"></string>
<string name="allClear">AC</string>
<string name="zero">0</string>
<string name="one">1</string>
<string name="two">2</string>
<string name="three">3</string>
<string name="four">4</string>
<string name="five">5</string>
<string name="six">6</string>
<string name="seven">7</string>
<string name="eight">8</string>
<string name="nine">9</string>
<string name="point">.</string>
<string name="plus">+</string>
<string name="minus">-</string>
<string name="multiply">*</string>
<string name="divide">/</string>
<string name="equal">=</string>
</resources>
界面
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rowCount="7"
android:columnCount="4">
<TextView
android:id="@+id/txt1"
android:layou