本文实例为大家分享了android studio实现计算器的具体代码,供大家参考,具体内容如下
效果图:
资源文件:
color.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color> <color name="white">#FFFFFF</color> <color name="black">#000000</color> <color name="zi">#FFFFFF</color> <color name="gray">#BEBEBE</color> <color name="green">#9AFF9A</color> <color name="littlegreen">#F0FFFF</color> </resources>
white.xml
设置input text的填充色为白色
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="5dp"/> <solid android:color="@color/white"/> </shape>
selector.xml
点击按钮时产生阴影效果
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/littlegreen" android:state_pressed="true"/> <item android:drawable="@color/white" /> </selector>
equeal.xml
同理,等号的阴影效果
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/white" android:state_pressed="true"/> <item android:drawable="@color/littlegreen" /> </selector>
布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:orientation="vertical" android:background="@drawable/jisuanqi" tools:context="com.example.administrator.calculate.MainActivity" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:paddingLeft="20dp" android:paddingRight="20dp" android:paddingTop="20dp"> <EditText android:id="@+id/input" android:layout_width="fill_parent" android:layout_height="60dp" android:background="@drawable/white" android:editable="false" android:gravity="right|bottom" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="horizontal" android:gravity="center"> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="C" android:background="@drawable/selector" android:gravity="center" android:textSize="25sp" android:id="@+id/clear" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="←" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="23sp" android:id="@+id/delete" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="×" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/cheng" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="÷" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/clu" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="horizontal" android:gravity="center"> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="7" android:background="@drawable/selector" android:gravity="center" android:textSize="25sp" android:id="@+id/num7" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="8" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/num8" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="9" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/num9" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="-" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/charjian" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="horizontal" android:gravity="center"> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="4" android:background="@drawable/selector" android:gravity="center" android:textSize="25sp" android:id="@+id/num4" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="5" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/num5" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="6" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/num6" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="+" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/charadd" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center_horizontal" android:layout_marginTop="10dp" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="65dp" android:layout_height="65dp" android:background="@drawable/selector" android:text="1" android:gravity="center" android:textSize="25sp" android:id="@+id/num1" /> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="2" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/num2"/> <Button android:layout_width="65dp" android:layout_height="65dp" android:text="3" android:background="@drawable/selector" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/num3"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="10dp"> <Button android:id="@+id/num0" android:layout_width="140dp" android:layout_height="65dp" android:text="0" android:background="@drawable/selector" android:gravity="center" android:textSize="25sp" /> <Button android:id="@+id/dian" android:layout_width="65dp" android:layout_height="65dp" android:layout_marginLeft="10dp" android:background="@drawable/selector" android:gravity="center" android:text="." android:textSize="25sp" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_width="65dp" android:layout_height="140dp" android:text="=" android:background="@drawable/equal" android:gravity="center" android:layout_marginLeft="10dp" android:textSize="25sp" android:id="@+id/equai"/> </LinearLayout> </LinearLayout> </LinearLayout>
java代码
package com.example.administrator.calculate; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.Toast; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; public class MainActivity extends AppCompatActivity { @BindView(R.id.input) EditText input; @BindView(R.id.clear) Button clear; @BindView(R.id.delete) Button delete; @BindView(R.id.cheng) Button cheng; @BindView(R.id.clu) Button chu; @BindView(R.id.num7) Button num7; @BindView(R.id.num8) Button num8; @BindView(R.id.num9) Button num9; @BindView(R.id.charjian) Button charjian; @BindView(R.id.num4) Button num4; @BindView(R.id.num5) Button num5; @BindView(R.id.num6) Button num6; @BindView(R.id.charadd) Button charadd; @BindView(R.id.num1) Button num1; @BindView(R.id.num2) Button num2; @BindView(R.id.num3) Button num3; @BindView(R.id.num0) Button num0; @BindView(R.id.dian) Button dian; @BindView(R.id.equai) Button equal; private String ss=""; private boolean fu=false; private boolean num=false; private boolean point=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); } @OnClick({R.id.clear, R.id.delete, R.id.cheng, R.id.clu, R.id.num7, R.id.num8, R.id.num9, R.id.charjian, R.id.num4, R.id.num5, R.id.num6, R.id.charadd, R.id.num1, R.id.num2, R.id.num3, R.id.num0, R.id.dian, R.id.equai}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.clear: { ss=""; input.setText(ss); } break; case R.id.delete: { if(ss.indexOf(" ")==ss.length()-3) { ss= ss.substring(0,ss.length() - 2); } if(ss.length()>0) { ss= ss.substring(0,ss.length() - 1); } input.setText(ss); } break; case R.id.cheng: { if(ss.length()==0) { break; } if(ss.contains(" ")) { if(ss.indexOf(" ")==ss.length()-3||ss.indexOf(" ")==ss.length()-2||ss.indexOf(" ")==ss.length()-1) break; getResult(); } fu=true; ss+=" × "; input.setText(ss); } break; case R.id.clu: { if(ss.length()==0) { break; } if(ss.contains(" ")) { if(ss.indexOf(" ")==ss.length()-3||ss.indexOf(" ")==ss.length()-2||ss.indexOf(" ")==ss.length()-1) break; getResult(); } fu=true; ss+=" ÷ "; input.setText(ss); } break; case R.id.num7: { ss+="7"; input.setText(ss); } break; case R.id.num8: { ss+="8"; input.setText(ss); } break; case R.id.num9: { ss+="9"; input.setText(ss); } break; case R.id.charjian: { if(ss.length()==0) { break; } if(ss.contains(" ")) { if(ss.indexOf(" ")==ss.length()-3||ss.indexOf(" ")==ss.length()-2||ss.indexOf(" ")==ss.length()-1) break; getResult(); } fu=true; ss+=" - "; input.setText(ss); } break; case R.id.num4: { ss+="4"; input.setText(ss); } break; case R.id.num5: { ss+="5"; input.setText(ss); } break; case R.id.num6: { ss+="6"; input.setText(ss); } break; case R.id.charadd: { if(ss.length()==0) { break; } if(ss.contains(" ")) { if(ss.indexOf(" ")==ss.length()-3||ss.indexOf(" ")==ss.length()-2||ss.indexOf(" ")==ss.length()-1) break; getResult(); } fu=true; ss+=" + "; input.setText(ss); } break; case R.id.num1: { ss+="1"; input.setText(ss); } break; case R.id.num2: { ss+="2"; input.setText(ss); } break; case R.id.num3: { ss+="3"; input.setText(ss); } break; case R.id.num0: { ss+="0"; input.setText(ss); } break; case R.id.dian: { if(ss.length()==0||ss.indexOf(" ")==ss.length()-3||ss.lastIndexOf(".")>ss.indexOf(" ")) { break; } else { ss+="."; input.setText(ss); } } break; case R.id.equai: getResult(); break; } } private void getResult() { double result=0; if(ss==null||ss.equals("")) return; if(!ss.contains(" ")) return; String s1=ss.substring(0,ss.indexOf(" ")); String op=ss.substring(ss.indexOf(" ")+1,ss.indexOf(" ")+2); String s2=ss.substring(ss.indexOf(" ")+3); if(!s1.equals("")&&!s2.equals("")) { double d1=Double.parseDouble(s1); double d2=Double.parseDouble(s2 ); switch (op) { case "+": result=d1+d2;break; case "-": result=d1-d2;break; case "×": result=d1*d2;break; case "÷": { if(d2==0) { Toast.makeText(this, "不能除以零", Toast.LENGTH_SHORT).show(); break; } result=d1/d2*1.0; } break; } int r = (int) result; if(r==result) { input.setText(""+r); ss=""+r; } else { input.setText(result+""); ss=""+result; } } } }
在AndroidManifest.xml文件中activity 后面添加
android:theme=”@style/Theme.AppCompat.DayNight.NoActionBar”
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
主要内容:1 Swing实现计算器1 Swing实现计算器 我们可以借助Swing的事件处理功能来开发Java计算器。让我们看看在Java中创建计算器的代码。 最终运行效果为: 点击下载完整计算器源码
本文向大家介绍JS实现简易计算器,包括了JS实现简易计算器的使用技巧和注意事项,需要的朋友参考一下 用JS实现简易计算器,供大家参考,具体内容如下 首先创建结构和样式 然后添加Java script 代码的优化: 循环实现绑定 给一个外部接口,用于新增运算 这样就圆满完成咯 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Vue实现简易计算器,包括了Vue实现简易计算器的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Vue实现简易计算器的具体代码,供大家参考,具体内容如下 效果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍python实现计算器功能,包括了python实现计算器功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python计算器的具体代码,供大家参考,具体内容如下 主要用到的工具是Python中的Tkinter库 比较简单 直接上图形界面和代码 引用Tkinter库 建立主窗口对象 建立标签框以及标签(将运算字符串显示在上面) 设置全局变量字符串s,按一个按钮,将按钮对
本文向大家介绍js实现简单计算器,包括了js实现简单计算器的使用技巧和注意事项,需要的朋友参考一下 参考部分资料,编写一个简单的计算器案例,虽然完成了正常需求,但是也有不满之处,待后续实力提升后再来补充,先把不足之处列出: 1:本来打算只要打开页面,计算器的输入框会显示一个默认为0的状态,但是在输入框加入默认显示为0的时候,选择数据输入时,该0会显示输入数字的前面,例如”0123“,由于能力有
本文向大家介绍js实现计算器功能,包括了js实现计算器功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下 知识点 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。 代码如下 效果图 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。