android-简便计算器
来源:互联网 发布:国际空间站知乎 编辑:程序博客网 时间:2024/05/15 23:49
自己做的简单计算器。
老规矩。右键取得图片地址,利用下载工具下载这个显示不出来的图片。后缀改为rar即可得到源代码项目。
就一个activity
package zhang.calculator;import android.app.Activity;import android.app.AlertDialog;import android.os.Bundle;import android.os.Vibrator;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MyCalculator extends Activity { private Vibrator vibrator; private Double num_a;private Double num_b;private TextView text = null;private String temp = null;// 计算符号private boolean isDot = true;// 小数点控制private boolean clickable = true;// 标志是否按过计算按钮private double memoryd; // 使用内存中存储的数字private int memoryi;private TextView lable=null;private boolean isVib=true;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.calculator_main); final Button num1 = (Button) findViewById(R.id.num1);final Button num2 = (Button) findViewById(R.id.num2);final Button num3 = (Button) findViewById(R.id.num3);final Button num4 = (Button) findViewById(R.id.num4);final Button num5 = (Button) findViewById(R.id.num5);final Button num6 = (Button) findViewById(R.id.num6);final Button num7 = (Button) findViewById(R.id.num7);final Button num8 = (Button) findViewById(R.id.num8);final Button num9 = (Button) findViewById(R.id.num9); Button num0 = (Button) findViewById(R.id.zero);Button point=(Button) findViewById(R.id.point);Button mul=(Button)findViewById(R.id.mul);Button sub=(Button)findViewById(R.id.sub);Button add=(Button)findViewById(R.id.add);Button div=(Button)findViewById(R.id.div);Button sqrt=(Button)findViewById(R.id.sqrt);Button equal=(Button) findViewById(R.id.equal);Button c=(Button) findViewById(R.id.clear);Button cm=(Button)findViewById(R.id.clearm);Button m=(Button)findViewById(R.id.memory);Button tf=(Button)findViewById(R.id.tf);Button mshow=(Button)findViewById(R.id.showmemory);Button back=(Button)findViewById(R.id.back);text = (TextView) findViewById(R.id.showText);lable = (TextView) findViewById(R.id.lable);vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); //0num0.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {zd();if(text.getText().toString().equalsIgnoreCase("0")){}else{if (clickable == false) {text.setText("");text.setText(text.getText().toString()+"0");clickable = true;} else {text.setText(text.getText().toString()+"0");}}}});//1num1.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num1.getText().toString());}});// 2num2.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num2.getText().toString());}});// 3num3.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num3.getText().toString());}});// 4num4.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num4.getText().toString());}});// 5num5.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num5.getText().toString());}});// 6num6.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num6.getText().toString());}});// 7num7.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num7.getText().toString());}});// 8num8.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num8.getText().toString());}});// 9num9.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {show(num9.getText().toString());}});//.point.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{if (text.getText().toString()!=""&&isDot == true) {text.setText(text.getText()+".");isDot = false;}else{text.setText(text.getText().toString());}}}});//加add.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{if (text.getText() != null){num_a =Double.parseDouble(text.getText().toString());temp = "add";clickable = false;isDot=true;lable.setText("+");}}}});//减sub.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{if (text.getText() != null){num_a =Double.parseDouble(text.getText().toString());temp = "sub";clickable = false;lable.setText("—");}else{text.setText("—");}isDot=true;}}});//乘mul.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{if (text.getText() != null){num_a =Double.parseDouble(text.getText().toString());temp = "mul";lable.setText("×");clickable = false;isDot=true;}}}});// 除div.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{if (text.getText() != null){num_a =Double.parseDouble(text.getText().toString());temp = "div";lable.setText("÷");clickable = false;isDot=true;}}}});//开方sqrt.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{String s = text.getText().toString(); if (s.charAt(0) == '-') { Toast.makeText(MyCalculator.this, "负数不能开根号!!",Toast.LENGTH_SHORT).show(); clickable = false; } else { text.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(text.getText().toString()))));lable.setText("√"); clickable = false; }}}});//等于equal.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {zd();if (temp != null && text.getText() != null){num_b = (Double.parseDouble(text.getText().toString()));if (temp == "add"){text.setText(Float.toString((float) (num_a + num_b)));temp = null;}else if (temp == "sub"){text.setText(Float.toString((float) (num_a - num_b)));temp = null;}else if (temp == "mul"){text.setText(Float.toString((float) (num_a * num_b)));temp = null;}else if (temp == "div"){text.setText(Float.toString((float) (num_a / num_b)));temp = null;}clickable = false;if(text.getText().toString()==""){isDot =true;}else{isDot =false;}}}});//cc.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();text.setText("");lable.setText("");num_a = 0.0;temp = null;clickable = false;isDot = true;}});//cmcm.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();memoryd = memoryi = 0;}});//mm.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();if (text.getText().toString() != " "){boolean isDot = false;for (int i = 0; i < text.getText().length(); i++){ if ('.' == text.getText().charAt(i)) { isDot = true; break; }}if(text.getText().toString().equalsIgnoreCase("")){memoryd = memoryi = 0;}else{if (isDot == true) {memoryd = Double.parseDouble(text.getText().toString());memoryi = 0; }else {memoryi = Integer.parseInt(text.getText().toString());memoryd = 0;}}clickable = false;}}});//msmshow.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();if (memoryd != 0) { text.setText(Double.toString(memoryd));} if (memoryi != 0) { text.setText(Integer.toString(memoryi)); } clickable = false;}});//取反tf.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();if(text.getText().toString().equalsIgnoreCase("")){}else{boolean isNumber = true; String s = text.getText().toString(); for (int i = 0; i < s.length(); i++) if (!(s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')) { isNumber = false; break; } if (isNumber == true) { //如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉 if (s.charAt(0) == '-') { text.setText(""); for (int i = 1; i < s.length(); i++) { char a = s.charAt(i); text.setText(text.getText().toString() + a); } } //如果当前字符串第一个字符不是符号,则添加一个符号在首字母处 else text.setText('-' + s); }}}});//backback.setOnClickListener(new View.OnClickListener() {public void onClick(View arg0) {zd();if(clickable == true)if (text.getText().toString() != "") { String s = text.getText().toString(); text.setText(""); for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i); text.setText(text.getText().toString() + a); }}}});}public void zd(){//振动的方法if(isVib==true){long[] pattern = {0, 20, 0, 10}; // OFF/ON/OFF/ON... vibrator.vibrate(pattern, -1);}else{vibrator.cancel();}}public void show(String i){//1-9的数zd();if (clickable == false) {text.setText("");text.setText(text.getText() + i);clickable = true;} else {text.setText(text.getText() + i);}}public boolean onCreateOptionsMenu(Menu menu) { //添加菜单// TODO Auto-generated method stub menu.add(0, 1, 1,R.string.exit); menu.add(0, 2, 2, R.string.about); menu.add(1,3,3,"开/关震动");return super.onCreateOptionsMenu(menu);}public boolean onOptionsItemSelected(MenuItem item) { //设置菜单事件switch(item.getItemId()){case 1:finish();break;case 2:AlertDialog.Builder dialog = new AlertDialog.Builder(this);dialog.setTitle("关于").setMessage("This is a black cool convenient calculator!\nBy:没落凄凉").show();break;case 3:if(isVib){isVib=false;}else{isVib=true;}}return super.onOptionsItemSelected(item);}}布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent"> <TextViewandroid:id="@+id/lable" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:singleLine="true" android:scrollHorizontally="true" android:background="@color/black" android:textColor="@color/write" android:layout_margin="5dip" android:layout_marginBottom="5dip" /><TextViewandroid:id="@+id/showText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:textSize="33dip" android:singleLine="true" android:scrollHorizontally="true" android:background="@color/black" android:textColor="@color/write" android:bufferType="editable" android:layout_marginLeft="5dip" android:maxLength="17" android:layout_marginRight="5dip"/><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:gravity="center" android:layout_marginTop="5dip" android:paddingTop="5dip"> <Button android:text="C" android:id="@+id/clear" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:gravity="center" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="CM" android:id="@+id/clearm" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="M" android:id="@+id/memory" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="MS" android:id="@+id/showmemory" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write" ></Button></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:gravity="center"> <Button android:text="+" android:id="@+id/add" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="-" android:id="@+id/sub" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="×" android:id="@+id/mul" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="÷" android:id="@+id/div" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:gravity="center"> <Button android:text="1" android:id="@+id/num1" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="2" android:id="@+id/num2" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="3" android:id="@+id/num3" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="√" android:id="@+id/sqrt" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:gravity="center"> <Button android:text="4" android:id="@+id/num4" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="5" android:id="@+id/num5" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="6" android:id="@+id/num6" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="←" android:id="@+id/back" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button></LinearLayout><LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center"><LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:orientation="vertical" > <Button android:text="7" android:id="@+id/num7" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="0" android:id="@+id/zero" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> </LinearLayout><LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:orientation="vertical" > <Button android:text="8" android:id="@+id/num8" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="+/-" android:id="@+id/tf" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:orientation="vertical" > <Button android:text="9" android:id="@+id/num9" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"></Button> <Button android:text="." android:id="@+id/point" android:layout_width="75dip" android:layout_height="60dip" android:textSize="45dip" android:textStyle="bold" android:gravity="center" android:background="@color/black" android:textColor="@color/write"></Button> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:orientation="vertical" > <Button android:text="=" android:id="@+id/equal" android:layout_width="75dip" android:layout_height="120dip" android:textSize="50dip" android:textStyle="bold" android:background="@color/black" android:textColor="@color/write"/> </LinearLayout></LinearLayout></LinearLayout>
- android-简便计算器
- 自己用Qt写的简便计算器,共享源码
- Android简便通用的SimpleBaseAdapter
- Android简便通用的SimpleBaseAdapter
- Android简便通用的SimpleBaseAdapter
- Android开发相关简便框架
- Android简便通用的SimpleBaseAdapter
- Android简便通用的SimpleBaseAdapter
- Android简便通用的SimpleBaseAdapter
- Android简便通用的simpleBaseAdapter
- 【Android】简便地设置监听器
- Android RecyclerView的简便写法
- android计算器
- android 计算器
- Android计算器
- android计算器
- android计算器
- android 计算器
- java模拟线程死锁
- 我的专属QQ (三) 附源码
- Android软件开发之盘点界面五大布局(十六)
- 一个日期跟系统日期对比,算出人的岁数是多少岁几个月几日
- openCV——人脸检测资料汇总(附录)用PhotoShop尝试旋转图片
- android-简便计算器
- PLSQL编写触发器
- C#-控件-自定义事件
- oracle内快速查询指定的表内的字段数
- android-textView自动连接 linkify
- objective-c编程语言 第一章 对象,类和消息 第二小节 消息(object messaging)
- POJ1269(WA)实在不知道问题在哪里了。。。麻烦帮看。。
- android-textView-字体的设置
- 键盘钩子修改键值