目录
非原创 计算器2: 网络资源模板--Android Studio 计算器
一、项目测试图片
二、项目简介
本次项目主要实现了简单的计算器功能,包括加减乘除基本运算,还有小数点和清零功能,目前可以进行两个数的计算操作。可以算得上是很好的Android界面和按钮点击事件学习实例。刚用模拟器显示hello world的同学或者完全没有接触过Android的同学都可以直接上手。
三、项目测试环境
四、项目详情设计
首页
你的代码看起来很不错!这是一个简单的计算器应用程序,它具有基本的算术运算功能。让我来帮你总结一下这个项目:
1. **布局文件:** 你的布局文件包含了按钮和文本框,提供了用户界面的基本元素。
2. **Activity 类:**
- 你的 `MainActivity` 类继承自 `AppCompatActivity`,并实现了 `View.OnClickListener` 接口,用于处理按钮点击事件。
- `onCreate()` 方法用于初始化界面和绑定按钮。
- `initView()` 方法用于初始化视图,包括找到布局中的各个视图元素并设置点击监听器。
- `onClick(View view)` 方法处理按钮的点击事件,根据不同的按钮执行相应的操作。
3. **计算逻辑:**
- `getResult()` 方法用于计算表达式的结果。
- 在点击等号按钮时调用 `getResult()` 方法进行计算。
- 运算逻辑包括解析表达式中的数字和运算符,并进行相应的计算。对于除法,你还处理了除数为零的情况。
4. **输入处理:**
- 你通过点击按钮来输入数字和运算符。
- 输入的数字和运算符会显示在文本框中,用户可以清空输入或者逐个删除字符。
5. **异常处理:**
- 你处理了除数为零的情况,并通过 Toast 提示用户不能除以零。
6. **改进建议:**
- 可以考虑增加更多功能,比如清空按钮可以增加确认对话框,以防误操作清除所有输入。
- 可以改进界面设计,使其更加美观或用户友好。
总的来说,你完成了一个功能完整的简单计算器应用程序,并且处理了一些异常情况,代码结构清晰,易于理解。继续加油,如果有任何问题或需要进一步帮助,请随时告诉我!
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/AliceBlue"
tools:context=".MainActivity"
android:orientation="vertical">
<ImageView
android:layout_gravity="center"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_margin="10dp"
android:background="@drawable/icon"/>
<EditText
android:id="@+id/result"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_marginBottom="50dp"
android:textSize="30sp"/>
<GridLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:columnCount="4"
android:rowCount="5">
<Button
android:id="@+id/btn1"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="1"
android:textSize="18sp" />
<Button
android:id="@+id/btn2"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="2"
android:textSize="18sp" />
<Button
android:id="@+id/btn3"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="3"
android:textSize="18sp" />
<Button
android:id="@+id/divide"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="÷"
android:textSize="18sp" />
<Button
android:id="@+id/btn4"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="4"
android:textSize="18sp" />
<Button
android:id="@+id/btn5"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="5"
android:textSize="18sp" />
<Button
android:id="@+id/btn6"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="6"
android:textSize="18sp" />
<Button
android:id="@+id/multi"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="×"
android:textSize="18sp" />
<Button
android:id="@+id/btn7"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="7"
android:textSize="18sp" />
<Button
android:id="@+id/btn8"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="8"
android:textSize="18sp" />
<Button
android:id="@+id/btn9"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="9"
android:textSize="18sp" />
<Button
android:id="@+id/sub"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="-"
android:textSize="18sp" />
<Button
android:id="@+id/point"
android:layout_columnSpan="1"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="."
android:textSize="18sp" />
<Button
android:id="@+id/btn0"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="0"
android:textSize="18sp" />
<Button
android:id="@+id/clean"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="C"
android:textSize="18sp" />
<Button
android:id="@+id/plus"
android:layout_rowSpan="1"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="+"
android:textSize="18sp" />
<Button
android:id="@+id/delete"
android:layout_rowSpan="2"
android:layout_columnSpan="1"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="Del"
android:textSize="18sp" />
<Button
android:id="@+id/equal"
android:layout_width="wrap_content"
android:layout_columnSpan="3"
android:layout_gravity="fill"
android:layout_margin="3dp"
android:background="@drawable/button_selector"
android:text="="
android:textSize="18sp" />
</GridLayout>
</LinearLayout>
Get 项目模板源码
👇👇👇快捷获取方式👇👇👇