带有下拉列表的Android简单计算器

我在初学Android时,想做一个计算器,但是加减乘除四个符号是用下来列表进行选择的,经过了自己的不懈努力,终于实现了这个功能。

             

 

      

 

 下面我就把我的代码贴出来供大家参考一下:

    1  首先是main.xml文件,我采用的是绝对布局,代码如下

   <?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <EditText
    android:id="@+id/edittext1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:layout_x="5px"
    android:layout_y="52px"
    android:textColor="@color/color1"
 />
  <TextView
    android:id="@+id/textview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    style="?android:attr/spinnerDropDownItemStyle"
  />
 <EditText
    android:id="@+id/edittext2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:layout_x="200px"
    android:layout_y="52px"
    android:textColor="@color/color2"
 />

 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="计算"
     android:textSize="25sp"
    android:layout_x="270px"
    android:layout_y="52px"
    android:textColor="@color/color4"
  />
  <TextView
    android:id="@+id/textview2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="25sp"
    android:layout_x="12px"
    android:layout_y="161px"
    />
 <Spinner
    android:id="@+id/spinner1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="25sp"
    android:layout_x="80px"
    android:layout_y="52px"
 />
</AbsoluteLayout>

2 我自己又新建了一个color.xml文件,学习一下使用颜色,代码如下<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="color1">#00FF33</color>
   <color name="color2">#00AAFF</color>
   <color name="color3">#456789</color>
   <color name="color4">#DDDD00</color>
</resources>

3 我的activity1.java原代码如下:public class activity01 extends Activity implements  OnClickListener
{
 private static final String[] jisuanfuhao = { "+", "-", "*", "/" };
   private TextView textview1,textview2;
   private EditText edittext1,edittext2;
   private Button button1;
   private Spinner spinner1;
   private ArrayAdapter adapter;
   Animation myAnimation;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
     
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edittext1=(EditText)findViewById(R.id.edittext1);
        textview1=(TextView)findViewById(R.id.textview1);
        edittext2=(EditText)findViewById(R.id.edittext2);
        button1=(Button)findViewById(R.id.button1);
        button1.setOnClickListener(this);
        textview2=(TextView)findViewById(R.id.textview2);
        spinner1=(Spinner)findViewById(R.id.spinner1);
        adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item,jisuanfuhao);
        spinner1.setAdapter(adapter);
       Log.e("", "这句话执行了吗?");
        spinner1.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
        {
   @Override
   public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)
   {
    textview1.setText(jisuanfuhao[arg2]);
          /* 将mySpinner显示 */
          arg0.setVisibility(View.VISIBLE);  
   }
   @Override
   public void onNothingSelected(AdapterView<?> arg0)
   {
    // TODO Auto-generated method stub   
   }
  });
    }
 @Override
 public void onClick(View v)
 {
  int firstnumber=Integer.parseInt(edittext1.getText().toString());
  int secondnumber=Integer.parseInt(edittext2.getText().toString());
  String result=null;
  if(textview1.getText().equals("+"))
  {
   result = String.valueOf(firstnumber+secondnumber);
  }
  if(textview1.getText().equals("-"))
  {
   result = String.valueOf(firstnumber-secondnumber);
  }
  if(textview1.getText().equals("*"))
  {
   result = String.valueOf(firstnumber*secondnumber);
  }
  if(textview1.getText().equals("/"))
  {
   result = String.valueOf(firstnumber/secondnumber);
  }
    textview2.setText(edittext1.getText()+""+textview1.getText()+""+edittext2.getText()+"="+result);
 }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值