📄 c043df507e8c001d14f6b3fae2cebb1c
字号:
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 + -