一、简单界面
用网格布局GridLayout设计的一个简单的计算器界面,熟悉网格布局的主要属性,如columnCount(网格列的数量)、rowCount(网格行的数量)等等。
二、逻辑构建
上网查找资料,多处参考修改,与首先做出的界面形成关联。
处理好运算符与数字之间的关系;重点利用equal()方法;
清除功能是通过editText.setText("")直接设置为空清除;
本来是通过一个boolean类型的清空标识,当检测到标识的值为true时,就清空来达成运算后再按按键会自动清除的功能,但出现问题,无法实现,尚未解决该问题。(逻辑上并未出错,所以也很疑惑)
三、源代码
activity_main.xml
<?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="6"
android:columnCount="4"
>
<!--文本标签-->
<EditText
android:id="@+id/et_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_columnSpan="4"
android:layout_marginLeft="4px"
android:inputType="none"
android:gravity="left"
android:textSize="26sp"
android:background="#f0f0f0"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_columnSpan="4"
android:text="清除"
android:id="@+id/btn_clear"
android:textSize="26sp" />
<Button android:text="1" android:id="@+id/btn_1" android:textSize="26sp" />
<Button android:text="2" android:id="@+id/btn_2" android:textSize="26sp" />
<Button android:text="3" android:id="@+id/btn_3" android:textSize="26sp" />
<Button android:text="+" android:id="@+id/btn_plus"