android计算器弹窗,android实现简易计算器

本文实例为大家分享了android实现简易计算器展示的具体代码,供大家参考,具体内容如下

效果图:

918ab2497a45391d5505a4fd849c30d8.png

一、如图,首先布局计算器主页显示

activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/num1"

android:layout_width="80dp"

android:layout_height="wrap_content"

android:inputType="number" />

android:id="@+id/type"

android:layout_width="40dp"

android:layout_height="50dp"

android:layout_toRightOf="@id/num1"

android:gravity="center" />

android:id="@+id/num2"

android:layout_width="80dp"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/num1"

android:layout_marginLeft="50dp"

android:inputType="number" />

android:id="@+id/equal"

android:layout_width="80dp"

android:layout_height="50dp"

android:layout_toRightOf="@id/num2"

android:gravity="center" />

android:id="@+id/add"

android:layout_width="70dp"

android:layout_height="wrap_content"

android:layout_below="@id/num1"

android:text="@string/add" />

android:id="@+id/sub"

android:layout_width="70dp"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/add"

android:layout_alignTop="@id/add"

android:text="@string/sub" />

android:id="@+id/mul"

android:layout_width="70dp"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/sub"

android:layout_alignTop="@id/sub"

android:text="@string/mul" />

android:id="@+id/div"

android:layout_width="70dp"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/mul"

android:layout_alignTop="@id/mul"

android:text="@string/div" />

二、计算器实现的方法

public class CalculatorBiz {

public float add(float num1,float num2){

return num1+num2;

}

public float sub(float num1,float num2){

return num1-num2;

}

public float mul(float num1,float num2){

return num1*num2;

}

public float div(float num1,float num2){

return num1/num2;

}

}

三、MainActivity主要方法

public class MainActivity extends Activity {

//定义组件

private EditText inputnum1;

private EditText inputnum2;

private TextView type;

private TextView equal;

private Button add;

private Button sub;

private Button mul;

private Button div;

CalculatorBiz calculator=new CalculatorBiz();

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//查找组件

inputnum1=(EditText) findViewById(R.id.num1);

inputnum2=(EditText) findViewById(R.id.num2);

type=(TextView) findViewById(R.id.type);

equal=(TextView) findViewById(R.id.equal);

add=(Button) findViewById(R.id.add);

sub=(Button) findViewById(R.id.sub);

mul=(Button) findViewById(R.id.mul);

div=(Button) findViewById(R.id.div);

type.setTextColor(Color.WHITE);

equal.setTextColor(Color.WHITE);

add.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String num1=inputnum1.getText().toString();

String num2=inputnum2.getText().toString();

float a=Float.parseFloat(num1);

float b=Float.parseFloat(num2);

type.setText("+");

equal.setText("="+calculator.add(a, b));

}});

sub.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String num1=inputnum1.getText().toString();

String num2=inputnum2.getText().toString();

float a=Float.parseFloat(num1);

float b=Float.parseFloat(num2);

type.setText("-");

equal.setText("="+calculator.sub(a, b));

}});

mul.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String num1=inputnum1.getText().toString();

String num2=inputnum2.getText().toString();

float a=Float.parseFloat(num1);

float b=Float.parseFloat(num2);

type.setText("*");

equal.setText("="+calculator.mul(a, b));

}});

div.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String num1=inputnum1.getText().toString();

String num2=inputnum2.getText().toString();

float a=Float.parseFloat(num1);

float b=Float.parseFloat(num2);

type.setText("/");

equal.setText("="+calculator.div(a, b));

}});

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

super.onCreateOptionsMenu(menu);

menu.add(0, 1, 0, "关于");

menu.add(0, 2, 1, "退出");

menu.findItem(2);

return true;

}

public boolean onOptionsItemSelected(MenuItem item){

if(item.getItemId() == 1){

Toast.makeText(this, "详细内容\n"+"作者:dyp\n"+"版本:version1", Toast.LENGTH_LONG).show();

}else if(item.getItemId() == 2){

Toast.makeText(this, "退出\n"+"你确定退出程序?", Toast.LENGTH_LONG).show();

}

return super.onOptionsItemSelected(item);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543379.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多选取值_机制砂如何控制MB值和石粉含量

随着环保政策的加强和河沙采挖禁令的收紧,机制砂逐渐成为建筑用砂的主流。但很多砂石厂生产设备落后、生产条件简陋、生产工艺不完善导致生产的机制砂品质低,质量不能满足高等级混凝土的要求。不仅卖不上价格,还浪费了矿石资源,挣…

python爬虫哪个选择器好用_Python网络爬虫四大选择器用法原理总结

前几天小编连续写了四篇关于Python选择器的文章,分别用正则表达式、BeautifulSoup、Xpath、CSS选择器分别抓取京东网的商品信息。今天小编来给大家总结一下这四个选择器,让大家更加深刻的理解和熟悉Python选择器。 一、正则表达式 正则表达式为我们提供了…

C++primer习题--第3章

【习题 2.11】 编写程序&#xff0c;要求用户输入两个数——底数&#xff08; base&#xff09;和指数&#xff08; exponent&#xff09;&#xff0c;输出底数的指数次方的结果。 #include <iostream> #include <math.h> #include <string> using namespace…

eclipse配置python开发环境_eclipse怎样搭建Python开发环境

eclipse通过pydev插件也是可以搭建出Python开发环境的。今天小编我就来给大家分享一下eclipse怎样搭建Python开发环境的经验哦。 工具/原料 电脑 eclipse Python pydev插件链接&#xff1a;https://pan.baidu.com/s/1VIK5H_ZbC6DsOlNwy2OwLw 密码&#xff1a;kg8a 方法/步骤 1 …

android光照传感器,详解 android 光线传感器 light sensor的使用

调用anroid的光线传感器使用。实现效果图&#xff1a;MainActivity.Javapackage hk.ust.cse.comp107x.ligthsensor;import android.content.Context;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import …

hive中实现行转列_漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

全文由下面几个部分组成&#xff1a;先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释&#xff0c;以及拉链表和常用的切片表的区别。举一个具体的应用场景&#xff0c;来设计并实现一份拉链表&#xff0c;最后并通过一些例子说明如何使用…

算法导论:堆排序

堆 堆是一个数组&#xff0c;它可以被看成一个近似的完全二叉树&#xff0c;树上的每一个结点对应数组中的一个元素。除去最底层外&#xff0c;该树是完全充满的&#xff0c;而且从左到右填充。 用数组A表示堆&#xff0c;从数组第1个元素开始&#xff0c;数组中第i&#xff08…

python网址太长_【原创】分享一个自己用python写的长网址转短网址工具,给需要的你...

[Python] 纯文本查看 复制代码import requests import json from tkinter import * class Get_url_short(): def __init__(self): self.source 2540340328 self.url https://api.t.sina.com.cn/short_url/shorten.json? def get_short(self): try: url_long self.tk_url_lo…

扩展坞可以把手机投到显示器吗_解锁4K 60Hz毕亚兹USB Type-C扩展坞体验

现在很多白领办公、学生上网课都会使用到笔记本电脑&#xff0c;尤其是近两年的轻薄本&#xff0c;为了追求轻量化&#xff0c;砍掉了原本很多的接口&#xff0c;转而使用Type-C来代替&#xff0c;从而导致接驳外设的时候非常不方便。特别是那种只给了一个USB标准接口的电脑&am…

Android view.settran,Android RecyclerView从入门到玩坏

目录前言基础使用分隔线点击监听搭配CardView更丰富的条目增删条目快速添加视图让RecyclerView支持复杂视图最后前言RecyclerView在Android界面开发当中是很重要的, 那掌握它也是很必要的. 但是有些时候会觉得它很厚重, 这里就从RecyclerView的基础一直说到扩展, 让你把Recycle…

python提取英文单词 每行显示一个_使用python对文件中的单词进行提取

由于需要使用一个纯单词组成的文件&#xff0c;在网上下载到了一个存放单词的文件&#xff0c;但是里面有中文的解释&#xff0c;那就需要做一下提取了。 文本的形式如下&#xff1a;所见即所得&#xff0c;这个文本是有规律的&#xff0c;每个单词为一行&#xff0c;紧接着下一…

微服务feignclient_搞微服务用阿里开源的 Nacos 真香啊

本文适合有 Java 基础知识的人群本文作者&#xff1a;HelloGitHub-秦人HelloGitHub 推出的《讲解开源项目》系列&#xff0c;今天给大家带来一款开源 Java 版可以实现动态服务发现&#xff0c;配置和服务管理平台——Nacos&#xff0c;它是阿里巴巴团队推出的&#xff0c;符合国…

linux shell脚本备份mysql数据库

#!/bin/sh# 备份数据库# Mysql 用户名密码 MYSQL_USERroot MYSQL_PASSroot BACKUP_DIR/data/backup/mysql DATA_DIR/data/backup/dbdata# 查询mysql中所有数据库名字 SQL_STRING"SELECT SCHEMA_NAME AS db FROM information_schema.SCHEMATA WHERE SCHEMA_NAME NOT IN (my…

华为mate40搭载鸿蒙,华为mate40搭载鸿蒙还是EMUI11,答案来了

原标题&#xff1a;华为mate40搭载鸿蒙还是EMUI11&#xff0c;答案来了今年秋季苹果要发布首款5G版iPhone手机iPhone12&#xff0c;搭载A14处理器首发iOS14系统。而华为也要发布新款旗舰手机华为mate40系列手机&#xff0c;搭载华为麒麟1020处理器&#xff0c;首发EMUI11系统。…

称重管理系统如何修改重量_无人值守称重系统硬件配置和作用

1. 视频监控抓拍系统软件配合设摄像头在保存数据的同时抓拍&#xff0c;防止车辆或者人为的舞弊行为2. 红外定位在地磅否的两侧各安装一对红外对射&#xff0c;通过信号线连接到开关&#xff0c;当红外的光束被阻挡时&#xff0c;红外定位系统将自动发出警告&#xff0c;禁止称…

在建工程直接费用化_威县垃圾发电在建项目被罚后续:现已整改

新京报讯(记者 李大伟)3月11日&#xff0c;针对此前因环保问题被处罚一事&#xff0c;威县垃圾发电在建项目(下称威县项目)的项目方宁夏电力建设工程公司相关负责人罗中辉表示&#xff1a;目前&#xff0c;该项目已整改完成。“所有道路上的浮土已彻底清扫&#xff0c;所有的裸…

文件批量处理器Android,GFileBat 2012(文件批量处理器)V1.1 正式版

GFileBat 2012(文件批量处理器)V1.1 正式版批量处理文件的强大综合工具&#xff0c;包括十几种方式批量重命名文件&#xff0c;批量修改文件内容、属性、时间、快捷方式信息、音乐标签&#xff0c;批量创建文件和文件夹、智能归档&#xff0c;批量分割和合并文件&#xff0c;批…

centos 断电重启后,文件系统损坏修复

为什么80%的码农都做不了架构师&#xff1f;>>> centos 断电重启后&#xff0c;由于文件系统损坏&#xff0c;无法正常开机&#xff0c;常常出现“an error occurred during the file system check” 提示&#xff0c;就是说系统文件损坏啦&#xff0c;这时候要用f…

如何对聚类结果进行分析_如何更合理地给聚类结果贴标签——由一个挖掘学生用户的项目说开去...

”聚类一时爽&#xff0c;判断两行泪“——这是解决任何一个无监督问题时都会面临的苦恼&#xff1a;最近接到了一个无监督问题的项目——给一群无标签的结构化数据贴标签&#xff0c;随后我便立即展开了工作&#xff0c;首先开始查阅资料&#xff0c;然后把EDA(数据探索) 、特…

查看文件二进制编码_小白也能学会系列:用python文件读写代码实例!(简单案例)...

前言&#xff1a;不久之前&#xff0c;从一个.dat文件中读取波形数据&#xff0c;通过一个自编码网络进行异常检测。所以特意在此写出来&#xff0c;咱从最基础的文件读写开始吧。先说数据&#xff0c;是一个int16型的数组。说是数组&#xff0c;但是读取也并不简单。众所周知&…