简易计算器
来源:互联网 发布:淘宝上怎么弄充话费 编辑:程序博客网 时间:2024/04/29 11:59
阶段1:进行计算器的界面布局View.
具体代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:background="@drawable/bg" android:layout_width="match_parent" android:layout_height="match_parent" > <EditText android:id="@+id/num1" android:layout_width="80dp" android:layout_height="wrap_content" android:inputType="number" /> <TextView android:id="@+id/type" android:layout_width="50dp" android:layout_height="50dp" android:layout_toRightOf="@id/num1" android:gravity="center" /> <EditText 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" /> <TextView android:id="@+id/equal" android:layout_width="80dp" android:layout_height="50dp" android:layout_toRightOf="@id/num2" android:gravity="center_vertical" /> <Button android:id="@+id/add" android:layout_width="70dp" android:layout_height="wrap_content" android:layout_below="@id/num1" android:text="@string/add" /> <Button 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" /> <Button 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" /> <Button 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" /></RelativeLayout>
阶段2:编写计算器的业务逻辑类Model:CalculatorBiz.具体代码如下:
package com.lks.model;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;}}
阶段3:编写Activity,查找组件并进行事件处理.具体代码如下:
package com.lks.activity;import com.lks.model.CalculatorBiz;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.graphics.Color;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.TextView;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); //定义TextView中的文本颜色 type.setTextColor(Color.WHITE); equal.setTextColor(Color.WHITE); //事件处理 add.setOnClickListener(new OnClickListener() {@Overridepublic 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("\t=\t"+calculator.add(a, b));}}); sub.setOnClickListener(new OnClickListener() {@Overridepublic 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("\t=\t"+calculator.sub(a, b));}}); mul.setOnClickListener(new OnClickListener() {@Overridepublic 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("\t=\t"+calculator.mul(a, b));}}); div.setOnClickListener(new OnClickListener() {@Overridepublic 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("\t=\t"+calculator.div(a, b));}}); }
阶段4:给计算器添加Menu,当点击菜单按钮式会弹出菜单选项.
具体代码如下:
//添加Menu菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); menu.add(0, 1, 0, "关于"); menu.add(0, 2, 1, "退出"); menu.findItem(2); return true; }
阶段5:当点击关于菜单时,显示对计算器的简单说明。
具体代码如下:
public boolean onOptionsItemSelected(MenuItem item){ if(item.getItemId() == 1){ AlertDialog.Builder builder = new Builder(MainActivity.this); builder.setTitle("关于"); builder.setMessage("作者:lks\n版本:version1"); builder.setNegativeButton("确定", new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); }else if(item.getItemId() == 2){ android.os.Process.killProcess(android.os.Process.myPid()); } return super.onOptionsItemSelected(item); }
- 简易计算器
- 简易计算器。。。
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 简易计算器
- 菜鸟要学Web开发,先前台还是先后台
- Microsoft Visual Studio International Feature Pack 2.0 實作繁簡轉換
- RGB 顏色圖
- 毕业生反馈(一)
- 在 .NET 中顯示時間至萬分之一秒
- 简易计算器
- OpenCV实现对图像的光照归一化处理
- 影响个人职业前途的不良习惯
- 类加载的时机
- 用value比较map
- ACM训练方案-POJ题目分类
- 指標與C#
- 黑马程序员之asp.net学习笔记:一般处理程序(*.ashx)小结
- 【转载】POJ 图论题目