温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android studio如何实现计算器

发布时间:2021-05-07 14:21:39 来源:亿速云 阅读:268 作者:小新 栏目:移动开发

这篇文章主要介绍android studio如何实现计算器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

具体内容如下

效果图:

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”

以上是“android studio如何实现计算器”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI