android设计简单计算器代码下载,简单计算器实例

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

d0a570ed4bea9f3207bf5c27a2f9e340.png

布局部分:

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;

}

});

}

源码下载:点击下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值