我在初学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);
}
}