java编写安卓计算器_[记录]Android简单计算器实现1(java)

介绍

初学Android开发,在官方开发者网站https://developer.android.com/guide学完构建简单的应用后就开始尝试实现简单的计算器app。计算器的实现是参照一加手机的计算器设计,这里实现了计算器的表达式输入并输出运算结果,支持小数的四则运算。

工具:IntelliJ IDEA

语言:Java

app效果

界面上面有两个TextView分别显示输入的运算表达式和计算结果;下方20个Button按钮实现按键功能。app中 % 和 ( ) 还未实现。

可以输入数字和+-*/运算符,当为输入数字时不能输入运算符;小数点'.'也算运算符;不允许连续输入运算符(123+*不允许);超过double范围的数自动转为科学计数法显示。

输入要计算的表达式后按'='按钮会显示运算结果。

3d1f2bded163205ca3ef99396fd912d6.png

实现

通过android Activity绘制计算器的界面并设计组件布局

bf195d3b8325f22d233cf52219b9fb25.png

布局的activity_main.xml内容如下

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

android:text="( )"

android:layout_width="80dp"

android:layout_height="60dp" android:id="@+id/sign_bracket"

app:layout_constraintBottom_toBottomOf="parent"

android:layout_marginBottom="16dp" app:layout_constraintStart_toEndOf="@+id/number0"

app:layout_constraintHorizontal_bias="0.5" app:layout_constraintEnd_toStartOf="@+id/sign_equal"

app:layout_constraintTop_toBottomOf="@+id/number3" android:textSize="30sp"

android:fontFamily="sans-serif" android:background="#FFFFFF"/>

android:text="/"

android:layout_width="80dp"

android:layout_height="60dp" android:id="@+id/sign_divide"

app:layout_constraintStart_toEndOf="@+id/sign_rest"

app:layout_constraintHorizontal_bias="0.5" app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintTop_toBottomOf="@+id/num_result"

app:layout_constraintBottom_toTopOf="@+id/sign_multiply" android:textSize="30sp"

android:fontFamily="sans-serif" android:background="#FFFFFF" android:textColor="#FF9800"

/>

android:text="%"

android:layout_width="80dp"

android:layout_height="60dp" android:id="@+id/sign_rest"

app:layout_constraintStart_toEndOf="@+id/sign_del"

app:layout_constraintHorizontal_bias="0.5" app:layout_constraintEnd_toStartOf="@+id/sign_divide"

app:layout_constraintTop_toBottomOf="@+id/num_result"

app:layout_constraintBottom_toTopOf="@+id/number9" android:textSize="30sp"

android:fontFamily="sans-serif" android:background="#FFFFFF"/>

android:text="DEL"

android:layout_width="80dp"

android:layout_height="60dp" android:id="@+id/sign_del"

app:layout_constraintStart_toEndOf="@+id/sign_ac"

app:layout_constraintHorizontal_bias="0.5" app:layout_constraintEnd_toStartOf="@+id/sign_rest"

app:layout_constraintTop_toBottomOf="@+id/num_result"

app:layout_constraintBottom_toTopOf="@+id/number8" android:textSize="30sp"

android:fontFamily="sans-serif" android:background="#FFFFFF"/>

android:text="AC"

android:layout_width="80dp"

android:layout_height="60dp" android:id="@+id/sign_ac"

app:layout_constraintStart_toStartOf="parent" app:layout_constraintHorizontal_bias="0.5"

app:layout_constraintEnd_toStartOf="@+id/sign_del" app:layout_constraintTop_toBottomOf="@+id/num_result"

app:layout_constraintBottom_toTopOf="@+id/number7"

android:textSize="30sp" android:fontFamily="sans-serif" android:background="#FFFFFF"/>

android:text="."

android:layout_width="80dp"

android:layout_height="60dp" android:id="@+id/sign_point"

app:layout_constraintBottom_toBottomOf="parent"

android:layout_margi

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值