Android开发实现的简单计算器功能【附完整demo源码下载】

Android开发实现的简单计算器功能【附完整demo源码下载】,第1张

概述本文实例讲述了Android开发实现的简单计算器功能。分享给大家供大家参考,具体如下:

本文实例讲述了AndroID开发实现的简单计算器功能。分享给大家供大家参考,具体如下:

这个AndroID计算器虽然还有点小BUG,不过简单的计算功能还是没问题的哦;

先上图看效果

比较简单,所以我就没怎么写注释,应该一看就能明白的
有不明白的可以发信问我

先贴MainActivity.java代码

package com.example.calculator;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.Menu;import androID.vIEw.MenuItem;import androID.vIEw.VIEw;import androID.vIEw.VIEw.OnClickListener;import androID.Widget.button;import androID.Widget.EditText;import androID.Widget.ImageVIEw;import androID.Widget.TextVIEw;import androID.Widget.Toast;public class MainActivity extends Activity implements OnClickListener {  button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bp,bs,bm,bd,bc,be;  ImageVIEw delete;  TextVIEw tv;  EditText show;  String showString = "",option = "";  int showfirst = 0;  String exception = "";  @OverrIDe  protected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_main);    b0 = (button) findVIEwByID(R.ID.bt_0);    b1 = (button) findVIEwByID(R.ID.bt_1);    b2 = (button) findVIEwByID(R.ID.bt_2);    b3 = (button) findVIEwByID(R.ID.bt_3);    b4 = (button) findVIEwByID(R.ID.bt_4);    b5 = (button) findVIEwByID(R.ID.bt_5);    b6 = (button) findVIEwByID(R.ID.bt_6);    b7 = (button) findVIEwByID(R.ID.bt_7);    b8 = (button) findVIEwByID(R.ID.bt_8);    b9 = (button) findVIEwByID(R.ID.bt_9);    bp = (button) findVIEwByID(R.ID.bt_plus);    bs = (button) findVIEwByID(R.ID.bt_sub);    bm = (button) findVIEwByID(R.ID.bt_mutilate);    bd = (button) findVIEwByID(R.ID.bt_div);    bc = (button) findVIEwByID(R.ID.bt_c);    be = (button) findVIEwByID(R.ID.bt_equ);    b1.setonClickListener(this);    b2.setonClickListener(this);    b3.setonClickListener(this);    b4.setonClickListener(this);    b5.setonClickListener(this);    b6.setonClickListener(this);    b7.setonClickListener(this);    b8.setonClickListener(this);    b9.setonClickListener(this);    b0.setonClickListener(this);    bp.setonClickListener(this);    bs.setonClickListener(this);    bm.setonClickListener(this);    bd.setonClickListener(this);    bc.setonClickListener(this);    be.setonClickListener(this);    show = (EditText) findVIEwByID(R.ID.et_show);    delete = (ImageVIEw) findVIEwByID(R.ID.iv_delete);    delete.setonClickListener(this);    tv=(TextVIEw) findVIEwByID(R.ID.author);    tv.setonClickListener(this);  }  @OverrIDe  public boolean onCreateOptionsMenu(Menu menu) {    // Inflate the menu; this adds items to the action bar if it is present.    getMenuInflater().inflate(R.menu.main,menu);    return true;  }  @OverrIDe  public boolean onoptionsItemSelected(MenuItem item) {    // Handle action bar item clicks here. The action bar will    // automatically handle clicks on the Home/Up button,so long    // as you specify a parent activity in AndroIDManifest.xml.    int ID = item.getItemID();    if (ID == R.ID.action_settings) {      return true;    }    return super.onoptionsItemSelected(item);  }  @OverrIDe  public voID onClick(VIEw v) {    switch (v.getID()) {    case R.ID.bt_0:      showString += "0";      break;    case R.ID.bt_1:      showString += "1";      break;    case R.ID.bt_2:      showString += "2";      break;    case R.ID.bt_3:      showString += "3";      break;    case R.ID.bt_4:      showString += "4";      break;    case R.ID.bt_5:      showString += "5";      break;    case R.ID.bt_6:      showString += "6";      break;    case R.ID.bt_7:      showString += "7";      break;    case R.ID.bt_8:      showString += "8";      break;    case R.ID.bt_9:      showString += "9";      break;    case R.ID.bt_plus:      if (showString.equals(""))        exception = "先输入数值哦";      else {        showfirst = Integer.parseInt(showString);        showString = "";        option = "+";      }      break;    case R.ID.bt_sub:      if (showString.equals(""))        exception = "先输入数值哦";      else {        showfirst = Integer.parseInt(showString);        showString = "";        option = "-";      }      break;    case R.ID.bt_mutilate:      if (showString.equals(""))        exception = "先输入数值哦";      else {        showfirst = Integer.parseInt(showString);        showString = "";        option = "*";      }      break;    case R.ID.bt_div:      if (showString.equals(""))        exception = "先输入数值哦";      else {        showfirst = Integer.parseInt(showString);        showString = "";        option = "/";      }      break;    case R.ID.bt_equ:      if (option.equals("+"))        showString = showfirst + Integer.parseInt(showString) + "";      else if (option.equals("-")) {        showString = showfirst - Integer.parseInt(showString) + "";      } else if (option.equals("*")) {        showString = showfirst * Integer.parseInt(showString) + "";      } else if (option.equals("/")) {        if (showString.equals("0")) {          exception = "除数不能为0!";        } else          showString = showfirst / Integer.parseInt(showString) + "";      }      break;    case R.ID.bt_c:      showString = "";      break;    case R.ID.iv_delete:      Toast.makeText(MainActivity.this,showString + "已被清空",Toast.LENGTH_SHORT).show();      showString = "";      break;    case R.ID.author:      Toast.makeText(MainActivity.this,"郑明亮\n软件工程\nQQ:1072307340",Toast.LENGTH_SHORT).show();      break;    default:      break;    }    if (exception.equals(""))      show.setText(showString);    else {      show.setText(exception);      exception = "";    }    // 设置文本框颜色;    if (!show.getText().toString().equals("")) {      delete.setBackgroundcolor(R.drawable.delete_gray);    }    else {      delete.setBackgroundResource(R.drawable.delete);    }  }}

再贴布局activity_main.xml:

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"  xmlns:tools="http://schemas.androID.com/tools"  androID:layout_wIDth="match_parent"  androID:layout_height="match_parent"  androID:orIEntation="vertical"  tools:context="com.example.calculator.MainActivity" >  <relativeLayout    androID:layout_wIDth="match_parent"    androID:layout_height="wrap_content" >    <EditText      androID:ID="@+ID/et_show"      androID:layout_wIDth="fill_parent"      androID:layout_height="wrap_content"      androID:hint="请输入数字" />    <ImageVIEw      androID:ID="@+ID/iv_delete"      androID:layout_wIDth="wrap_content"      androID:layout_height="wrap_content"      androID:layout_alignRight="@ID/et_show"      androID:src="@drawable/delete_and_deletegray" >    </ImageVIEw>  </relativeLayout>  <GrIDLayout    androID:layout_wIDth="fill_parent"    androID:layout_height="wrap_content"    androID:layout_below="@+ID/et_show"    androID:focusable="false"    androID:gravity="center"    androID:layout_margintop="25dp"    androID:columnCount="4"    androID:horizontalSpacing="0dp"    androID:orIEntation="horizontal"    androID:stretchMode="none" >    <button      androID:ID="@+ID/bt_1"      androID:layout_height="wrap_content"      androID:text="1" />    <button      androID:ID="@+ID/bt_2"      androID:text="2" />    <button      androID:ID="@+ID/bt_3"      androID:text="3" />    <button      androID:ID="@+ID/bt_div"      androID:text="/" />    <button      androID:ID="@+ID/bt_4"      androID:text="4" />    <button      androID:ID="@+ID/bt_5"      androID:text="5" />    <button      androID:ID="@+ID/bt_6"      androID:text="6" />    <button      androID:ID="@+ID/bt_mutilate"      androID:text="X" />    <button      androID:ID="@+ID/bt_7"      androID:text="7" />    <button      androID:ID="@+ID/bt_8"      androID:text="8" />    <button      androID:ID="@+ID/bt_9"      androID:text="9" />    <button      androID:ID="@+ID/bt_sub"      androID:text="-" />    <button      androID:ID="@+ID/bt_0"      androID:layout_columnSpan="2"      androID:layout_gravity="fill_horizontal"      androID:text="0"      androID:wIDth="2dp" />    <button      androID:ID="@+ID/bt_c"      androID:layout_wIDth="wrap_content"      androID:layout_height="wrap_content"      androID:text="C" />    <button      androID:ID="@+ID/bt_plus"      androID:layout_gravity="fill_vertical"      androID:layout_rowspan="2"      androID:text="+" />    <button      androID:ID="@+ID/bt_equ"      androID:layout_columnSpan="3"      androID:layout_gravity="fill_horizontal"      androID:text="=" />  </GrIDLayout>  <TextVIEw    androID:ID="@+ID/author"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:text="Author:Bri"    />  <TextVIEw    androID:ID="@+ID/test"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:text="test:www.jb51.net"    /></linearLayout>

我还写了一个drawable的xml,自己看吧

delete_and_deletegray.xml:

<?xml version="1.0" enCoding="utf-8"?><selector xmlns:androID="http://schemas.androID.com/apk/res/androID">  <item androID:drawable="@drawable/delete_gray" androID:state_focused="false" androID:state_pressed="false"></item>  <item androID:drawable="@drawable/delete" androID:state_focused="false" androID:state_pressed="false" androID:state_selected="true"/>  <item androID:drawable="@drawable/delete" androID:state_pressed="true" androID:state_selected="false"/>  <item androID:drawable="@drawable/delete" androID:state_focused="true" androID:state_pressed="true"/></selector>

附:完整实例代码点击此处本站下载

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家AndroID程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Android开发实现的简单计算器功能【附完整demo源码下载】全部内容,希望文章能够帮你解决Android开发实现的简单计算器功能【附完整demo源码下载】所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1143555.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存