Android(安卓)studio简单计算机
16lz
2021-12-04
Android studio简单计算机
在activity_main.xml里布局:
(LinearLayout)
套个LinearLayout:
android:layout_width="wrap_content"android:layout_height="wrap_content"> 这里用网格布局来布置按钮,完成计算机界面:
定义一个可编辑的文本:
private EditText main_et_rs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
main_et_rs=findViewById(R.id.main_et_rs);
}activity_main.xml里面调用的方法:public void doSubmit(View view) { int id = view.getId(); switch(id){ case R.id.but_1: if( main_et_rs.getText().length()==0) { main_et_rs.setText("1"); }else{ main_et_rs.setText(main_et_rs.getText() + "1"); } break; case R.id.but_2: if( main_et_rs.getText().length()==0) { main_et_rs.setText("2"); }else{ main_et_rs.setText(main_et_rs.getText() + "2"); } break; case R.id.but_3: if( main_et_rs.getText().length()==0) { main_et_rs.setText("3"); }else{ main_et_rs.setText(main_et_rs.getText() + "3"); } break; case R.id.but_4: if( main_et_rs.getText().length()==0) { main_et_rs.setText("4"); }else{ main_et_rs.setText(main_et_rs.getText() + "4"); } break; case R.id.but_5: if( main_et_rs.getText().length()==0) { main_et_rs.setText("5"); }else{ main_et_rs.setText(main_et_rs.getText() + "5"); } break; case R.id.but_6: if( main_et_rs.getText().length()==0) { main_et_rs.setText("6"); }else{ main_et_rs.setText(main_et_rs.getText() + "6"); } break; case R.id.but_7: if( main_et_rs.getText().length()==0) { main_et_rs.setText("7"); }else{ main_et_rs.setText(main_et_rs.getText() + "7"); } break; case R.id.but_8: if( main_et_rs.getText().length()==0) { main_et_rs.setText("8"); }else{ main_et_rs.setText(main_et_rs.getText() + "8"); } break; case R.id.but_9: if( main_et_rs.getText().length()==0) { main_et_rs.setText("9"); }else{ main_et_rs.setText(main_et_rs.getText() + "9"); } break; case R.id.but_0: if( main_et_rs.getText().length()==0) { main_et_rs.setText("0"); }else{ main_et_rs.setText(main_et_rs.getText() + "0"); } break; case R.id.but_d: if( main_et_rs.getText().length()!=0) { main_et_rs.setText(main_et_rs.getText() + "."); } break; case R.id.but_jia: if( main_et_rs.getText().length()!=0) { main_et_rs.setText(main_et_rs.getText() + "+"); } break; case R.id.but_jian: if( main_et_rs.getText().length()!=0) { main_et_rs.setText(main_et_rs.getText() + "-"); } break; case R.id.but_x: if( main_et_rs.getText().length()!=0) { main_et_rs.setText(main_et_rs.getText() + "*"); } break; case R.id.but_c: if( main_et_rs.getText().length()!=0) { main_et_rs.setText(main_et_rs.getText() + "/"); } break; case R.id.but_dy: if(main_et_rs.getText().toString().contains("+")){ String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("+")); String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("+")+1, main_et_rs.getText().length()); Float a=Float.parseFloat(str1); Float b=Float.parseFloat(str2); main_et_rs.setText(a+b+""); } else if(main_et_rs.getText().toString().contains("-")){ String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("-")); String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("-")+1, main_et_rs.getText().length()); Float a=Float.parseFloat(str1); Float b=Float.parseFloat(str2); main_et_rs.setText(a-b+""); } else if(main_et_rs.getText().toString().contains("*")){ String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("*")); String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("*")+1, main_et_rs.getText().length()); Float a=Float.parseFloat(str1); Float b=Float.parseFloat(str2); main_et_rs.setText(a*b+""); } else if(main_et_rs.getText().toString().contains("/")){ String str1 = main_et_rs.getText().toString().substring(0, main_et_rs.getText().toString().lastIndexOf("/")); String str2 = main_et_rs.getText().toString().substring(main_et_rs.getText().toString().lastIndexOf("/")+1, main_et_rs.getText().length()); Float a=Float.parseFloat(str1); Float b=Float.parseFloat(str2); main_et_rs.setText(a/b+""); } break; }}
更多相关文章
- View机制深入学习(一)
- 判断当前网络是否可用和调用系统设置wifi界面
- Android应用程序绑定服务(bindService)的过程源代码分析(2)
- android:configChanges="keyboard|keyboardHidden|orientation|s
- Android(安卓)PKMS深入分析安装应用
- Android应用程序(activity)启动过程(一)
- 使用代码为textview设置drawableLeft
- android解锁触发广播
- Android(安卓)异步消息处理机制