计算器是日常常用的计算工具,此次介绍一种由Android studio实现的简易计算器,能够实现基本的加减乘除,删除和清空功能。
实现效果图如下:
首先介绍一下使用的资源文件:
1.res -> values -> colors.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="colorwhite">#FFFFFF</color>
<color name="colorblack">#0d0000</color>
<color name="gray">#979797</color>
<color name="green">#238423</color>
<color name="yellow">#d4be4f</color>
</resources>
2.res ->drawable -> shape.xml文件,可以设置按钮颜色以及点击按钮后的显示色。(另外还可以设置按钮形状和颜色形式,例如可以将按钮设置为圆角,将按钮颜色设置为渐变色等)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_launcher_foreground"
android:state_pressed="true"/> <!--表示按钮按下后的颜色-->
<item android:drawable="@drawable/hello_lemon" />
<!-- 设置弧度 Radius设置所有角的弧度
<corners
android:Radius="5dp" /> //四个角同时设置
<stroke
android:width="0.5px"
android:color="#979797" />-->
</selector>
<实现计算器的代码为:
1.activity_main.xm中计算器页面布局相关代码:
此处代码可以结合效果图来看,键盘处前三行都为线性布局,后两行包含了布局管理器的嵌套。
<?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"
tools:context="com.example.princess.mycounterf.MainActivity">
<EditText
android:id="@+id/input"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="#efd649"
android:gravity="center"
android:text="hello lemon" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:orientation="horizontal">
<Button
android:id="@+id/clear"
android:layout_width="65dp"
android:layout_height="65dp"
android:background="@drawable/shape"
android:gravity="center"
android:text="C"
android:textSize="30sp" />
<Button
android:id="@+id/div"
android:layout_width="65dp"
android:layout_height="65dp"
android:layout_marginLeft="10dp"
android:background="@drawable/shape"
android:gravity="center"
android:text="÷"
android:textSize="25sp" />
<Button
android:id="@+id/mul"
android:layout_width="65dp"
android:layout_height="65dp"
android:layout_marginLeft="10dp"
android:background="@drawable/shape"
android:gravity="center"