Android实现加法计算器
时间:2022-07-27
本文章向大家介绍Android实现加法计算器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了Android实现加法计算器的具体代码,供大家参考,具体内容如下
布局
<?xml version="1.0" encoding="utf-8"?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
<!-- 加法器名称--
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="加法器"
android:textSize="40sp"
android:textColor="#E6BD1A"
android:gravity="center"
android:layout_marginTop="20sp"
android:textStyle="bold"/
<!-- 第1个数字输入框 --
<EditText
android:id="@+id/input1"
style="@style/input_style" /
<!-- 加法符号 --
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="+"
android:textStyle="bold"
android:textSize="40sp"
android:textColor="#1A94E6"
android:gravity="center"
android:layout_marginTop="50sp"/
<!-- 第2个数字输入框--
<EditText
android:id="@+id/input2"
style="@style/input_style" /
<!-- 等于和归零符号 --
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:layout_marginTop="20sp"
android:layout_marginBottom="20sp"
<!-- 等于符号 --
<Button
android:id="@+id/btn1"
style="@style/button_style"
android:text="="
android:layout_marginRight="20sp"/
<!-- 归零符号 --
<Button
android:id="@+id/btn2"
style="@style/button_style"
android:text="C"/
</LinearLayout
<!-- 结果输入框 --
<EditText
android:id="@+id/input3"
style="@style/input_style"
android:enabled="false"/
</LinearLayout
样式
<resources
<!-- Base application theme. --
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"
<!-- Customize your theme here. --
<item name="colorPrimary" @color/colorPrimary</item
<item name="colorPrimaryDark" @color/colorPrimaryDark</item
<item name="colorAccent" @color/colorAccent</item
</style
<!-- 3个输入框的样式 --
<style name="input_style"
<item name="android:layout_gravity" center</item
<item name="android:gravity" center</item
<item name="android:layout_width" 350sp</item
<item name="android:layout_height" wrap_content</item
<item name="android:color" #000000</item
<item name="android:layout_marginTop" 15sp</item
<item name="android:inputType" number</item
</style
<!-- 等于和归零按钮样式 --
<style name="button_style"
<item name="android:layout_width" wrap_content</item
<item name="android:layout_height" wrap_content</item
<item name="android:textSize" 30sp</item
<item name="android:gravity" center</item
</style
</resources
java代码
package cn.itcast.totalizator;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
//输入框input1 input2
// 结果框input3
private EditText input1 = null;
private EditText input2 = null;
private EditText input3 = null;
//等于按钮btn1
//归零按钮btn2
private Button btn1 = null;
private Button btn2 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input1 = (EditText) findViewById(R.id.input1);
input2 = (EditText) findViewById(R.id.input2);
input3 = (EditText) findViewById(R.id.input3);
btn1 = (Button) findViewById(R.id.btn1);
btn2 = (Button) findViewById(R.id.btn2);
//点击等于按钮触发监听事件
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input1Str = input1.getText().toString();
String input2Str = input2.getText().toString();
if (! input1Str.equals("") && ! input2Str.equals("")) {
double number1 = Double.parseDouble(input1Str);
double number2 = Double.parseDouble(input2Str);
double result = number1 + number2;
input3.setText(result + "");
}
else{
Toast.makeText(getApplicationContext(),"请输入合法的数字",Toast.LENGTH_SHORT).show();
}
}
});
//点击归零按钮触发监听事件
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//把三个输入框都设置为空
input1.setText("");
input2.setText("");
input3.setText("");
}
});
}
//点击退出按钮,弹出是否确认退出对话框
@Override
public void onBackPressed() {
//声明对象
AlertDialog dialog;
//绑定当前界面窗口,设置标题
dialog = new AlertDialog.Builder(this)
.setTitle("Dialog对话框")
.setMessage("是否确定退出")
.setIcon(R.mipmap.ic_launcher)
.setPositiveButton("确定",listener)
.setNegativeButton("取消", listener)
.create();
dialog.show();
}
//监听对话框里面的button点击事件
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
switch (which)
{
case AlertDialog.BUTTON_POSITIVE:// "确认"按钮退出程序
finish();
break;
case AlertDialog.BUTTON_NEGATIVE:// "取消"第二个按钮取消对话框
break;
default:
break;
}
}
};
}
更多计算器功能实现,请点击专题: 计算器功能汇总 进行学习
关于Android计算器功能的实现,查看专题:Android计算器 进行学习。
以上就是本文的全部内容,希望对大家的学习有所帮助。
- 机会真的多吗?
- 浅析Hadoop大数据分析与应用
- WCF技术剖析之三十三:你是否了解WCF事务框架体系内部的工作机制?[上篇]
- Java豆瓣电影爬虫——小爬虫成长记(附源码)
- Java豆瓣电影爬虫——抓取电影详情和电影短评数据
- 日本科技振兴理事:AI科学家应有红线意识
- Java豆瓣电影爬虫——使用Word2Vec分析电影短评数据
- 实践重于理论——创建一个监控程序探测WCF的并发处理机制
- 分布式科学计算与Docker
- 学习SpringMVC——说说视图解析器
- Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
- Java豆瓣电影爬虫——减少与数据库交互实现批量插入
- 谈谈C# 4.0新特性“缺省参数”的实现
- 如何实现对上下文(Context)数据的统一管理 [提供源代码下载]
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 贪心法--哈夫曼编码
- 基于maven+ssm的增删改查之使用mybatis逆向工程生成相关文件
- Arrays 的二分查找
- (四十四)golang--协程(goroutine)和管道(channel)相结合实例
- 基于maven+ssm的增删改查之测试相关ssm环境是否成功
- 基于maven+ssm的增删改查之带分页的显示员工相关信息(基于bootstrap)
- (四十五)golang--反射
- 基于maven+ssm的增删改查之前后端之间使用json进行交互(显示员工信息)
- 动态规划--矿工挖矿
- 基于maven+ssm的增删改查之添加员工实现
- MyBatis 构造动态 SQL 语句
- 基于maven+ssm的增删改查之前端校验数据合法性
- 基于maven+ssm的增删改查之spring+springmvc+mybatis环境搭建
- STS 创建 Maven 项目填坑
- latex之在windows环境下能够在latex中使用中文