计算器是我们生活中常见的一个工具,今天我们就使用Android中一些简单的控件来完成一个计算器。首先看一下效果:

布局部分:

1,计算器一共分为5行,第一行是显示框,剩下的四行是数字和符号。

2,这个布局很简单,可以使用linearlayout来完成,最外层视图方向使用android:orientation=”vertical”,每行之间使用android:orientation=”horizontal”,按钮使用Button来填充。

下面是主要的布局部分

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:paddingTop="5dip" >

android:id="@+id/Button07"

android:layout_width="80dip"

android:layout_height="wrap_content"

android:text="7"

android:textSize="25sp" />

android:id="@+id/Button08"

android:layout_width="80dip"

android:layout_height="wrap_content"

android:text="8"

android:textSize="25sp" />

android:id="@+id/Button09"

android:layout_width="80dip"

android:layout_height="wrap_content"

android:text="9"

android:textSize="25sp" />

android:id="@+id/ButtonJia"

android:layout_width="80dip"

android:layout_height="wrap_content"

android:text="+"

android:textSize="25sp" />

代码实现:

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main); // 跳转到main界面

initButton();

// 清空按钮的点击事件监听器

buttonC.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

str1 = "";

str2 = ""; // 清空记录

tv.setText(str1);

flag = 0;

}

});

// 监听

for (int i = 0; i < buttons.length; i++) {

temp = (Button) findViewById(buttons[i]);

temp.setOnClickListener( // 为Button添加监听器

new OnClickListener() {

@Override

public void onClick(View v) {

str1 = tv.getText().toString().trim();

str1 = str1 + String.valueOf(((Button) v).getText());// 获得新输入的值

System.out.println("str1" + ":::" + str1);

tv.setText(str1);

}

});

}

buttonListener(buttonJia, 1);

buttonListener(buttonJian, 2);

buttonListener(buttonCheng, 3);

buttonListener(buttonChu, 4);

buttonDengyu.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

System.out.println(str1);

result1 = Integer.parseInt(str1);

if (flag == 1) {

result = result0 + result1;

System.out.println(result0 + ":" + result1);

} else if (flag == 2) {

result = result0 - result1;

} else if (flag == 3) {

result = result0 * result1;

} else if (flag == 4) {

result = (int) (result0 / result1);

}

String str = (result + "").trim();

System.out.println(str);

tv.setText(str);

}

});

}

// 初始化按钮

public void initButton() { // 初始化控件资源

tv = (TextView) this.findViewById(R.id.tv); // 获取文本框控件对象

str1 = String.valueOf(tv.getText());

str2 = ""; // 初始化运算输入数值

buttonC = (Button) this.findViewById(R.id.ButtonC); // 获得计算按钮的按钮对象

buttonJia = (Button) this.findViewById(R.id.ButtonJia);

buttonJian = (Button) this.findViewById(R.id.ButtonJian);

buttonCheng = (Button) this.findViewById(R.id.ButtonCheng);

buttonChu = (Button) this.findViewById(R.id.ButtonChu);

buttonDengyu = (Button) this.findViewById(R.id.ButtonDengyu);

buttons = new int[] { // 记录数值按钮的id

R.id.Button00, R.id.Button01, R.id.Button02, R.id.Button03,

R.id.Button04, R.id.Button05, R.id.Button06, R.id.Button07,

R.id.Button08, R.id.Button09 };

}

// 按钮监听

public void buttonListener(Button button, final int id) {

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String str = tv.getText().toString().trim();

result0 = Integer.parseInt(str);

tv.setText("");

flag = id;

}

});

}

源码下载:点击下载

android设计简单计算器代码下载,简单计算器实例相关推荐

  1. java词频统计简单带代码_简单的词频统计代码实现(PDF格式)

    周末抽空帮同学论文写了一段统计词频的代码,做个简单总结.出于职业病,代码使用Springboot+Maven搭建,面向抽象编程,并通过web请求控制执行. 依赖配置 org.springframewo ...

  2. Android实现有声计算器代码,有声语音计算器效果与代码

    border=0 cellSpacing=10 cellPadding=0 width=685 background=http://bbs.muwen.com/fileuploaddir/4B3983 ...

  3. android qq登陆界面代码下载,【Android Demo】QQ登陆界面(一)

    之前以及实现了QQV.0.8.4115的登陆界面,现在来总结一下,并且回顾一下用到过的东西. 先上图: [原图] QQLogin_0.jpg [图一] QQLogin_1.PNG [图二] QQLog ...

  4. 涨跌因子计算器下载哪里下载_小白计算器软件下载-小白计算器app下载 v1.0 安卓版...

    小白计算器app功能强大,虽然只有的内存,但是计算器应该有的功能它全都有,不仅如此,软件还有换肤等酷炫的功能,软件操作简单,运行流畅,是一款不错的计算器软件,感兴趣的朋友可千万不要错过了哦. 功能特色 ...

  5. python制做简单图片代码_Python简单的制作图片验证码

    -人人可以学Python-- 这里示范的验证码都是简单的,你也可以把字符扭曲 人人可以学Python.png Python第三方库无比强大,PIL 是python的一个d第三方图片处理模块,我们也可以 ...

  6. java全面的计算器代码_Java实现计算器的代码

    用java 实现的计算器,原理看代码注释,具体内容如下 public class mycalculator { public static void main(string[] args) { str ...

  7. java简单记事本代码_简单记事本的java程序代码

    展开全部 天啊, 冖_Na0 为什么会有62616964757a686964616fe4b893e5b19e31333262343038我编的记事本代码呢???呵呵--你肯定是"请教&quo ...

  8. python简单爬虫代码-python简单爬虫(二)

    ") file.write(" for data inself.datas: file.write(" file.write(' '+str(data['url'])+' ...

  9. HTML5期末大作业:关于旅游网站设计——天津旅游(11页) 简单个人网页设计作业 静态HTML个人博客主页 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页设计作业

    HTML5期末大作业:旅游网站设计--天津旅游(11页) HTML+CSS+JavaScript 期末作业HTML代码 学生网页课程设计期末作业下载 web网页设计制作成品 大学生毕设网页设计源码HT ...

  10. HTML5期末大作业:个人主页网站设计(6页)代码质量高 学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载

    HTML5期末大作业:个人主页网站设计(6页)代码质量高 HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 web学生网页设计作业源码 常见网页设计作业题 ...

最新文章

  1. LocationDemo has leaked ServiceConnection 异常并且无法定位的时候
  2. [HDU 1254] 推箱子
  3. TZOJ 1321 Girls and Boys(匈牙利最大独立集)
  4. win10远端服务器未响应,win10怎么连远程服务器未响应
  5. spark用scala读取hive表数据(不同版本区别)
  6. 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码
  7. 【HTML】一个好看的登录界面
  8. 使用vmstat和iostat命令进行Linux性能监控
  9. Java 并发编程之可重入锁 ReentrantLock
  10. [OC]TableView使用
  11. ios 获取是否静音模式_高效人士进阶-IOS
  12. Linux操作系统命令解释
  13. 【BZOJ3924】[Zjoi2015]幻想乡战略游戏 动态树分治
  14. 拓端tecdat|Excel实例:数组公式和函数
  15. 不同机器,打印速度相差巨大
  16. matlab曲线导入cad,MATLAB导入CAD数据
  17. MySQL2014版查询操作的入门级教学
  18. 立方度量(Cubic Metric)
  19. 什么是物理机(独立服务器)?物理机和虚拟主机有什么区别?
  20. 51单片机(1)单片机概述

热门文章

  1. 关于.dll文件的注册,如何注册.dll文件
  2. 【总结】6种机器学习中的优化算法:SGD,牛顿法,SGD-M,AdaGrad,AdaDelta,Adam
  3. 移动光猫(吉比特TEWA-272G)进入高级管理界面的简单方法
  4. c语言智能插座多线程原理,主芯片HLW8012 - 基于WiFi智能插座的智能家居电路及原理解析—电路精选(49)...
  5. Mac xelatex
  6. 安装RoboWare Studio
  7. arm交叉编译工具链的选择
  8. c语言八大排序算法详细版
  9. 数据结构与算法:二路归并排序(合并排序)
  10. html在线预览wordexcel文档,直接在线预览Word、Excel、TXT文件之ASP.NET