android簡易計算器總結

一:如圖,首先佈局計算器主頁顯示:

      activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/num1"
        android:layout_width="80dp"
        android:layout_height="wrap_content" 
        android:inputType="number" />
    
    <TextView 
        android:id="@+id/type"
        android:layout_width="40dp"
        android:layout_height="50dp"
        android:layout_toRightOf="@id/num1"
        android:gravity="center" />

    <EditText
        android:id="@+id/num2"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/num1"
        android:layout_marginLeft="50dp"
        android:inputType="number" />
   
    <TextView
        android:id="@+id/equal"
        android:layout_width="80dp"
        android:layout_height="50dp"
        android:layout_toRightOf="@id/num2"
        android:gravity="center" />
    
    <Button 
        android:id="@+id/add"
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/num1"
        android:text="@string/add" />

    <Button 
        android:id="@+id/sub"
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/add"
        android:layout_alignTop="@id/add"
        android:text="@string/sub" />
    
    <Button 
        android:id="@+id/mul"
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/sub"
        android:layout_alignTop="@id/sub"
        android:text="@string/mul" />
    
    <Button 
        android:id="@+id/div"
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/mul"
        android:layout_alignTop="@id/mul"
        android:text="@string/div" />
</RelativeLayout>

二 計算器實現的方法:

public class CalculatorBiz {
	
	public float add(float num1,float num2){
		return num1+num2;
	}
	
	public float sub(float num1,float num2){
		return num1-num2;
	}
	
	public float mul(float num1,float num2){
		return num1*num2;
	}
	
	public float div(float num1,float num2){
		return num1/num2;
	}

}


三 MainActivity主要方法:

public class MainActivity extends Activity {
    //定義組件
	private EditText inputnum1;
	private EditText inputnum2;
	private TextView type;
	private TextView equal;
	private Button add;
	private Button sub;
	private Button mul;
	private Button div;
	CalculatorBiz calculator=new CalculatorBiz();
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //查找組件
        inputnum1=(EditText) findViewById(R.id.num1);
        inputnum2=(EditText) findViewById(R.id.num2);
        type=(TextView) findViewById(R.id.type);
        equal=(TextView) findViewById(R.id.equal);
        add=(Button) findViewById(R.id.add);
        sub=(Button) findViewById(R.id.sub);
        mul=(Button) findViewById(R.id.mul);
        div=(Button) findViewById(R.id.div);
        
        type.setTextColor(Color.WHITE);
        equal.setTextColor(Color.WHITE);
       
        add.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				String num1=inputnum1.getText().toString();
				String num2=inputnum2.getText().toString();
				float a=Float.parseFloat(num1);
				float b=Float.parseFloat(num2);
				type.setText("+");
				equal.setText("="+calculator.add(a, b));
	
				
			}});
        sub.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				String num1=inputnum1.getText().toString();
				String num2=inputnum2.getText().toString();
				float a=Float.parseFloat(num1);
				float b=Float.parseFloat(num2);
				type.setText("-");
				equal.setText("="+calculator.sub(a, b));
	
				
			}});
        mul.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				String num1=inputnum1.getText().toString();
				String num2=inputnum2.getText().toString();
				float a=Float.parseFloat(num1);
				float b=Float.parseFloat(num2);
				type.setText("*");
				equal.setText("="+calculator.mul(a, b));
	
				
			}});
        div.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				String num1=inputnum1.getText().toString();
				String num2=inputnum2.getText().toString();
				float a=Float.parseFloat(num1);
				float b=Float.parseFloat(num2);
				type.setText("/");
				equal.setText("="+calculator.div(a, b));
	
				
			}});
        
    }
    
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    	super.onCreateOptionsMenu(menu);
    	menu.add(0, 1, 0, "關於");
    	menu.add(0, 2, 1, "退出");
    	menu.findItem(2);
        return true;
    }
    public boolean onOptionsItemSelected(MenuItem item){
    	if(item.getItemId() == 1){            
    		Toast.makeText(this, "詳細內容\n"+"作者:dyp\n"+"版本:version1", Toast.LENGTH_LONG).show();        
    	}else if(item.getItemId() == 2){            
    		Toast.makeText(this, "退出\n"+"你確定退出程序?", Toast.LENGTH_LONG).show();        
    	}     
    	return super.onOptionsItemSelected(item);
    }

    
}



 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章