//Android手机软件开发简单计算功能一例
//应用界面
//res/layout/cal.xml
//-------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/cal_et_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:inputType="numberDecimal" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/cal_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/cal_et_one"
android:text="乘以" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</RadioGroup>
<RadioButton
android:id="@+id/cal_rb_sheng"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/cal_textview"
android:layout_alignBottom="@+id/cal_textview"
android:layout_toRightOf="@+id/cal_tv_result_display"
android:checked="true"
android:clickable="true"
android:text="乘以" />
<RadioButton
android:id="@+id/cal_rb_div"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/cal_rb_sheng"
android:layout_alignBottom="@+id/cal_rb_sheng"
android:layout_marginLeft="43dp"
android:layout_toRightOf="@+id/cal_rb_sheng"
android:text="除以" />
<EditText
android:id="@+id/cal_et_two"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/cal_textview"
android:inputType="number" />
<Button
android:id="@+id/cal_btn_cal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/cal_et_two"
android:text="开始计算" />
<TextView
android:id="@+id/cal_tv_result_display"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/cal_btn_cal"
android:text="结果为:" />
<TextView
android:id="@+id/cal_tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/cal_tv_result_display" />
</RelativeLayout>
//源代码
//cal.java
//-------------------------------------------------------------------------------
package LC.HelloWorld;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.RadioButton;
//定义一个简单计算类
public class cal extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.cal);
//添加计算按钮事件
Button btn_cal=(Button)this.findViewById(R.id.cal_btn_cal);
btn_cal.setOnClickListener(new MycalOnClickListener());
//mule
RadioButton rbMul=(RadioButton)this.findViewById(R.id.cal_rb_sheng);
rbMul.setOnClickListener(new MyMulOnClickListener());
//dive
RadioButton rbDiv=(RadioButton)this.findViewById(R.id.cal_rb_div);
rbDiv.setOnClickListener(new MyDivOnClickListener());
}
//定义计算按钮事件
class MycalOnClickListener implements android.view.View.OnClickListener
{
@Override
public void onClick(View v)
{
//获取参数一
EditText et_one=(EditText)cal.this.findViewById(R.id.cal_et_one);
String one=et_one.getText().toString();
//获取参数二
EditText et_two=(EditText)cal.this.findViewById(R.id.cal_et_two);
String two=et_two.getText().toString();
//获取运算符
boolean IsMul=true,IsDiv=false;
RadioButton rb_mul=(RadioButton)cal.this.findViewById(R.id.cal_rb_sheng);
RadioButton rb_div=(RadioButton)cal.this.findViewById(R.id.cal_rb_div);
IsMul=rb_mul.isChecked();
IsDiv=rb_div.isChecked();
//开始运算
int result=0;
if(IsMul==true) result=Integer.parseInt(one)*Integer.parseInt(two);
if(IsDiv==true) result=Integer.parseInt(one)/Integer.parseInt(two);
//显示结束
TextView tv=(TextView)cal.this.findViewById(R.id.cal_tv_result);
tv.setText(result+"");
}
}
class MyMulOnClickListener implements android.view.View.OnClickListener
{
@Override
public void onClick(View v)
{
//获取运算符
boolean IsMul=false;
RadioButton rb_mul=(RadioButton)cal.this.findViewById(R.id.cal_rb_sheng);
RadioButton rb_div=(RadioButton)cal.this.findViewById(R.id.cal_rb_div);
IsMul=rb_mul.isChecked();
if(IsMul==true)
{
rb_div.setChecked(false);
}
}
}
class MyDivOnClickListener implements android.view.View.OnClickListener
{
@Override
public void onClick(View v)
{
boolean IsDiv=false;
RadioButton rb_mul=(RadioButton)cal.this.findViewById(R.id.cal_rb_sheng);
RadioButton rb_div=(RadioButton)cal.this.findViewById(R.id.cal_rb_div);
IsDiv=rb_div.isChecked();
if(IsDiv==true)
{
rb_mul.setChecked(false);
}
}
}
//
}
//2011-11-17
//vp:hsg
转载于:https://www.cnblogs.com/sqlite3/archive/2011/11/17/2566781.html