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;    }}

更多相关文章

  1. View机制深入学习(一)
  2. 判断当前网络是否可用和调用系统设置wifi界面
  3. Android应用程序绑定服务(bindService)的过程源代码分析(2)
  4. android:configChanges="keyboard|keyboardHidden|orientation|s
  5. Android(安卓)PKMS深入分析安装应用
  6. Android应用程序(activity)启动过程(一)
  7. 使用代码为textview设置drawableLeft
  8. android解锁触发广播
  9. Android(安卓)异步消息处理机制

随机推荐

  1. Android(安卓)Weekly - 第 182 期
  2. RK3288 android7.1.2 android studio 用
  3. android MIME文件类型
  4. android程序入口
  5. Android(安卓)SDK 更新问题
  6. Android获取当前时间的android.text.form
  7. android的ListView点击item使item展开的
  8. 使用Chronometer 间断计时
  9. android ViewPager自动轮播时控制切换速
  10. Android(安卓)一些鲜为人知的方法