⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c043df507e8c001d14f6b3fae2cebb1c

📁 基于ANdroid平台的高欢堂书籍的对应源代码 非常有用
💻
字号:
package com.misoo.gx05;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class CalActivity extends Activity implements OnClickListener {
	private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; 
	private Button[] btn;
	private int curr;
	private RelativeLayout r_layout;
	private Calculator calc;
	private TextView tv;
	@Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        btn = new Button[6];
        this.create_layout();
        setContentView(r_layout);
        //-------------------------------
        calc = new Calculator(this);
        curr = -1;
        
        if(icicle != null)
        {
          	calc.digit_1 = icicle.getInt("digit_1");
        	calc.digit_2 = icicle.getInt("digit_2");
        	calc.state = icicle.getInt("state");
        	curr = icicle.getInt("curr");
        	tv.setText(icicle.getString("tv"));
        }
        
	}
	public void show(String tx){
		tv.setText(tx);
	}
	 private void create_layout(){
	        r_layout = new RelativeLayout(this);
	        RelativeLayout.LayoutParams param;
	        tv = new TextView(this);
	        tv.setText("><");
	        tv.setTextColor(Color.BLUE);
	        tv.setBackgroundColor(Color.WHITE);
	        tv.setId(1);
	        
	        param = new RelativeLayout.LayoutParams(180, WC);
	        param.addRule(RelativeLayout.ALIGN_PARENT_TOP);
	        param.topMargin = 10;
	        param.leftMargin = 10;
	        r_layout.addView(tv, param);
	        
	        btn[0] = new Button(this);
	        btn[0].setId(2);
	        btn[0].setText("1");
	        btn[0].setOnClickListener(this);
	        param = new RelativeLayout.LayoutParams(WC, WC);
	        param.addRule(RelativeLayout.BELOW, 1);
	        param.addRule(RelativeLayout.ALIGN_LEFT, 1); 
	        param.topMargin = 25;
	        r_layout.addView(btn[0], param);
	        
	        btn[1]= new Button(this);
	        btn[1].setId(3);
	        btn[1].setText("0");
	        btn[1].setOnClickListener(this);
	        param = new RelativeLayout.LayoutParams(WC, WC);
	        param.addRule(RelativeLayout.RIGHT_OF, 2);
	        param.addRule(RelativeLayout.ALIGN_TOP, 2); 
	        param.leftMargin = 5;
	        r_layout.addView(btn[1], param);
	        
	        btn[2] = new Button(this);
	        btn[2].setId(4);
	        btn[2].setText("C");
	        btn[2].setOnClickListener(this);
	        param = new RelativeLayout.LayoutParams(WC, WC);
	        param.addRule(RelativeLayout.RIGHT_OF, 3);
	        param.addRule(RelativeLayout.ALIGN_TOP, 3); 
	        param.leftMargin = 5;
	        r_layout.addView(btn[2], param);
	        
	        btn[3] = new Button(this);
	        btn[3].setId(5);
	        btn[3].setText("+");
	        btn[3].setOnClickListener(this);
	        param = new RelativeLayout.LayoutParams(WC, WC);
	        param.addRule(RelativeLayout.BELOW, 2);
	        param.addRule(RelativeLayout.ALIGN_LEFT, 2); 
	        param.topMargin = 5;
	        r_layout.addView(btn[3], param);
	        
	        btn[4]= new Button(this);
	        btn[4].setId(6);
	        btn[4].setText("=");
	        btn[4].setOnClickListener(this);
	        param = new RelativeLayout.LayoutParams(WC, WC);
	        param.addRule(RelativeLayout.RIGHT_OF, 5);
	        param.addRule(RelativeLayout.ALIGN_TOP, 5); 
	        param.leftMargin = 5;
	        r_layout.addView(btn[4], param);
	        
	        btn[5] = new Button(this);
	        btn[5].setId(7);
	        btn[5].setText("Exit");
	        btn[5].setOnClickListener(this);
	        param = new RelativeLayout.LayoutParams(WC, WC);
	        param.addRule(RelativeLayout.RIGHT_OF, 6);
	        param.addRule(RelativeLayout.ALIGN_TOP, 6); 
	        param.leftMargin = 5;
	        r_layout.addView(btn[5], param);
	     } 
		
	public void onClick(View arg0) {
		// TODO Auto-generated method stub
		if(arg0 == btn[0])
			{ calc.EvDigitPress(1);  curr = 0; }
		else if(arg0== btn[1])
		{	calc.EvDigitPress(0); curr = 1;}
		else if(arg0== btn[2])
			{ calc.EvCPress();  curr = 2; }
		else if(arg0== btn[3])
			{ calc.EvPlusPress(); curr = 3; }
		else if(arg0== btn[4])
			{ calc.EvAssignPress(); curr = 4; }
		else if(arg0== btn[5])
			{ curr = -1;  finish();
			}
		setting_color();
	}
	
	public void setting_color() {
		// TODO Auto-generated method stub
		
		for(int i = 0; i<6; i++ )
		{
			if(i == curr)
				btn[i].setTextColor(Color.RED);
			else
				btn[i].setTextColor(Color.BLACK);
	    }
	}

	 @Override
	    public boolean onKeyDown(int keyCode, KeyEvent msg) {
	       if(keyCode == KeyEvent.KEYCODE_1)
	           { calc.EvDigitPress(1);  curr = 0; }
	       if(keyCode == KeyEvent.KEYCODE_0)
	          {	calc.EvDigitPress(0); curr = 1;}
	       if(keyCode == KeyEvent.KEYCODE_C)
	          { calc.EvCPress();  curr = 2; }
	       if(keyCode == KeyEvent.KEYCODE_P)
	          { calc.EvPlusPress(); curr = 3; }
	       if(keyCode == KeyEvent.KEYCODE_EQUALS)
	         { calc.EvAssignPress(); curr = 4; }
	       if(keyCode == KeyEvent.KEYCODE_E)
	         { curr = -1;  finish(); }
	       setting_color();
	       return true;
	    }
	 @Override
	 public void onSaveInstanceState(Bundle icicle) {
	        super.onCreate(icicle);
	        icicle.putInt("digit_1", calc.digit_1);
	        icicle.putInt("digit_2", calc.digit_2);
	        icicle.putInt("state", calc.state);
	        icicle.putInt("curr", curr);
	        icicle.putString("tv", tv.getText().toString());
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -