Android- 第一个Android 计算器程序
来源:互联网 发布:大数据分析系统翻译 编辑:程序博客网 时间:2024/04/30 09:18
</pre><pre name="code" class="java"><pre name="code" class="java">这是Activity.Java文件
</pre><pre name="code" class="java"><pre name="code" class="java">package com.example.mycalculator;import android.support.v7.app.ActionBarActivity;import android.annotation.SuppressLint;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;@SuppressLint({ "NewApi", "ShowToast" })@SuppressWarnings("deprecation")public class MainActivity extends ActionBarActivity { private Button num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,add,sub,mul,div,demo,eql,clean; public double number1,number2,sum; public String string,yunsuan; public EditText editText; boolean EquBtnDownFlag=false; int BtnFlag = 0; public double numberTemp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); num0=(Button)this.findViewById(R.id.num0); num1=(Button)this.findViewById(R.id.num1); num2=(Button)this.findViewById(R.id.num2); num3=(Button)this.findViewById(R.id.num3); num4=(Button)this.findViewById(R.id.num4); num5=(Button)this.findViewById(R.id.num5); num6=(Button)this.findViewById(R.id.num6); num7=(Button)this.findViewById(R.id.num7); num8=(Button)this.findViewById(R.id.num8); num9=(Button)this.findViewById(R.id.num9); add =(Button)this.findViewById(R.id.add); sub =(Button)this.findViewById(R.id.sub); div =(Button)this.findViewById(R.id.div); mul =(Button)this.findViewById(R.id.mul); demo=(Button)this.findViewById(R.id.demo); eql =(Button)this.findViewById(R.id.eql); clean=(Button)this.findViewById(R.id.clean); editText = (EditText)this.findViewById(R.id.edittext); num0.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"0";editText.setText(string);}}); num1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"1";editText.setText(string);}}); num2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"2";editText.setText(string);}}); num3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"3";editText.setText(string);}}); num4.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"4";editText.setText(string);}}); num5.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"5";editText.setText(string);}}); num6.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"6";editText.setText(string);}}); num7.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"7";editText.setText(string);}}); num8.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"8";editText.setText(string);}}); num9.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub if (EquBtnDownFlag) { editText.setText(null); EquBtnDownFlag=false; }string =editText.getText().toString()+"9";editText.setText(string);}}); add.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {if(BtnFlag==0){number1=Double.parseDouble(editText.getText().toString());}else {string=editText.getText().toString();numberTemp=Double.parseDouble(string);switch (yunsuan){case "+":number1=number1+numberTemp;break;case "-":number1=number1-numberTemp;break;case "X":number1=number1*numberTemp;break;case "/":number1=number1/numberTemp;break;}string = ""+number1;}BtnFlag = 1;yunsuan = "+";editText.setText("");}}); sub.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {if(BtnFlag==0){number1=Double.parseDouble(editText.getText().toString());}else {string=editText.getText().toString();numberTemp=Double.parseDouble(string);switch (yunsuan){case "+":number1=number1+numberTemp;break;case "-":number1=number1-numberTemp;break;case "X":number1=number1*numberTemp;break;case "/":number1=number1/numberTemp;break;}string = ""+number1;}BtnFlag = 1;yunsuan="-";editText.setText("");}}); mul.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {if(BtnFlag==0){number1=Double.parseDouble(editText.getText().toString());}else {string=editText.getText().toString();numberTemp=Double.parseDouble(string);switch (yunsuan){case "+":number1=number1+numberTemp;break;case "-":number1=number1-numberTemp;break;case "X":number1=number1*numberTemp;break;case "/":number1=number1/numberTemp;break;}string = ""+number1;}BtnFlag = 1;yunsuan="X";editText.setText("");}}); div.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {if(BtnFlag==0){number1=Double.parseDouble(editText.getText().toString());}else {string=editText.getText().toString();numberTemp=Double.parseDouble(string);switch (yunsuan){case "+":number1=number1+numberTemp;break;case "-":number1=number1-numberTemp;break;case "X":number1=number1*numberTemp;break;case "/":number1=number1/numberTemp;break;}string = ""+number1;}BtnFlag = 1;yunsuan="/";editText.setText("");}}); demo.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {string=editText.getText().toString()+".";editText.setText(string);}}); clean.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { string=""; yunsuan=""; number1=0; number2=0; editText.setText(string); } }); eql.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {string=editText.getText().toString();number2=Double.parseDouble(string);switch (yunsuan){case "+":sum=number1+number2;string=number1+"+"+number2+"=";editText.setText(string+sum);break;case "-":sum=number1-number2;string=number1+"-"+number2+"=";editText.setText(string+sum);break;case "X":sum=number1*number2;string=number1+"X"+number2+"=";editText.setText(string+sum);break;case "/":sum=number1/number2;string=number1+"/"+number2+"=";editText.setText(string+sum);break;}EquBtnDownFlag=true;BtnFlag=0;}}); }@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);menu.add(0, 1, 1, R.string.exit);//添加一个退出menu.add(0, 2, 2, R.string.about);//再添加一个return super.onCreateOptionsMenu(menu);}@Overridepublic 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;}if(item.getItemId()==1){finish();}if(item.getItemId()==2){Toast.makeText(MainActivity.this, R.string.about, 1).show();}return super.onOptionsItemSelected(item);}}
</pre><pre name="code" class="java">
layout的布局文件摆放
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/edittext" android:hint="@string/input"/><RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- 1-9 Button --><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num1"android:background="@drawable/button"android:text="@string/num1"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num2"android:layout_toRightOf="@id/num1"android:background="@drawable/button"android:text="@string/num2"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num3"android:layout_toRightOf="@id/num2"android:background="@drawable/button"android:text="@string/num3"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num4"android:layout_below="@id/num1"android:background="@drawable/button"android:text="@string/num4"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num5"android:layout_below="@id/num2"android:layout_toRightOf="@id/num4"android:background="@drawable/button"android:text="@string/num5"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num6"android:layout_below="@id/num3"android:layout_toRightOf="@id/num5"android:background="@drawable/button"android:text="@string/num6"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num7"android:layout_below="@id/num4"android:background="@drawable/button"android:text="@string/num7"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num8"android:layout_below="@id/num5"android:layout_toRightOf="@id/num7"android:background="@drawable/button"android:text="@string/num8"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num9"android:layout_below="@id/num6"android:layout_toRightOf="@id/num8"android:background="@drawable/button"android:text="@string/num9"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/num0"android:layout_below="@id/num7"android:background="@drawable/button"android:text="@string/num0"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/demo"android:layout_below="@id/num8"android:layout_toRightOf="@id/num0"android:background="@drawable/button"android:text="@string/demo"/><Buttonandroid:layout_height="wrap_content" android:layout_width="70dp"android:layout_marginTop="5dp"android:layout_marginRight="5dp"android:layout_marginLeft="5dp"android:id="@+id/eql"android:layout_below="@id/num9"android:layout_toRightOf="@id/demo"android:background="@drawable/button"android:text="@string/eql"/><!--运算符Button--><Buttonandroid:layout_height="wrap_content" android:layout_width="55dp"android:layout_marginTop="5dp"android:id="@+id/add"android:layout_alignParentRight="true"android:layout_marginRight="5dp"android:background="@drawable/button"android:text="@string/add"/><Buttonandroid:layout_height="wrap_content" android:layout_width="55dp"android:layout_marginTop="5dp"android:id="@+id/sub"android:layout_alignParentRight="true"android:layout_marginRight="5dp"android:layout_below="@id/add"android:background="@drawable/button"android:text="@string/sub"/><Buttonandroid:layout_height="wrap_content" android:layout_width="55dp"android:layout_marginTop="5dp"android:id="@+id/mul"android:layout_alignParentRight="true"android:layout_marginRight="5dp"android:layout_below="@id/sub"android:background="@drawable/button"android:text="@string/mul"/><Buttonandroid:layout_height="wrap_content" android:layout_width="55dp"android:layout_marginTop="5dp"android:id="@+id/div"android:layout_alignParentRight="true"android:layout_marginRight="5dp"android:layout_below="@id/mul"android:background="@drawable/button"android:text="@string/div"/><Buttonandroid:layout_height="wrap_content" android:layout_width="fill_parent"android:layout_marginTop="5dp"android:id="@+id/clean"android:layout_alignParentRight="true"android:layout_marginRight="5dp"android:layout_below="@id/eql"android:background="@drawable/button"android:text="@string/clean"/></RelativeLayout></LinearLayout>
按钮的一个形式封装
文件路径是res/drawable/button.xml
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 连框颜色值 --><item> <shape> <solid android:color="#000000" /> </shape> </item> <!-- 主体背景颜色值 --> <item android:bottom="3dp" android:right="3dp"> <shape> <solid android:color="#aaaaaa" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> </layer-list>
运行效果
0 0
- Android- 第一个Android 计算器程序
- 我的第一个Android程序-计算器
- 第一个android程序简易计算器
- 我的第一个Android程序-计算器
- 第一个Android程序——计算器
- 第一个Android app,计算器~
- 第一个android程序——贷款计算器
- android:第一个android项目 简单计算器
- 自己第一个Android作品,Android计算器
- 第一个android程序
- 第一个Android程序
- 第一个android程序
- 第一个android程序
- 第一个Android程序
- 第一个Android程序
- android 第一个程序
- 第一个Android程序
- Android第一个程序
- jsp 标准标签库之<c:if>
- 堆
- 【C#数据结构】直接插入排序
- [Medical Image Process] 3.3 Grayscale Morphology Application
- Spring常用注解
- Android- 第一个Android 计算器程序
- 无法解析的外部符号
- python 正则表达式
- 银行家算法
- 设置navigationBar的title的字体大小与颜色
- 黑马程序员之Map
- 吸血鬼数字(一个4位数字,可以拆分2个2位数数字的乘积,顺序不限。)
- poj 2955 Brackets 【区间dp 入门】
- 集合的交并差(链表)(未完)