Android入门之简易计算器(一)

article/2025/9/19 8:45:35

Android

Android入门之简易计算器(一)

文章目录

  • Android
    • Android入门之简易计算器(一)
    • @[TOC](文章目录)
  • 前言
  • 一、项目结构
  • 二、界面显示
  • 三、前端界面
    • 1.界面分布
    • 2.文本定义在了strings.xml里面
    • 3、圆形按钮创建
  • 四、前端页面总代码
  • 五、后端页面代码
    • Android入门之简易计算器(二)

前言

以下内容为简易版计算器,如有出错部分,欢迎指正。


提示:如果你们上Android课的老师也布置了作业让写建议计算器,那么下面代码可供参考

一、项目结构

在这里插入图片描述

二、界面显示

在这里插入图片描述

三、前端界面

1.界面分布

计算器界面分为两部分,一是计算器表达式界面,二是按钮界面
界面要用到的控件如下:
线性布局LinearLayout:整体从上到下排列
网格布局GridLayout:分布五行四列的按钮
滚动视图ScrollView:界面超出屏幕大小可以支持滚动查看(按钮少的可以不用)
文本视图TextView:计算结果显示,文字要靠右下显示
按钮Button:0-9数字按钮,以及加减乘除等普通按钮
图像按钮ImageButton:开根号、求余、回退按钮要用图片显示(为了美观,求余按钮我后面替换成普通Button了)

表达式界面代码如下:

<TextViewandroid:id="@+id/tv_result"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/white"android:gravity="right|bottom"android:lines="3"android:text="0"android:textColor="@color/black"android:textSize="25sp" />

按钮界面代码如下:

<GridLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="4"android:rowCount="5"><Buttonandroid:id="@+id/btn_baifen"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/baifen"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><ImageButtonandroid:id="@+id/ib_sqrt"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:scaleType="centerInside"android:src="@drawable/sqrt"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_clear"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/clear"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><ImageButtonandroid:id="@+id/ib_huitui"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:scaleType="centerInside"android:src="@drawable/huitui"tools:ignore="SpeakableTextPresentCheck"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_seven"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/seven"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_eight"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/eight"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_nine"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/nine"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_minus"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/minus"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_four"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/four"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_five"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/five"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_six"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/six"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_plus"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/plus"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_one"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/one"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_two"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/two"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_three"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/three"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_divide"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/divide"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_zero"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/zero"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_dot"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/dot"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_equal"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/equal"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_multiply"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/multiply"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/></GridLayout>

2.文本定义在了strings.xml里面

strings.xml代码如下:

<resources><string name="app_name">FjrCalculator</string><string name="simple_calculator">fjr的计算器</string><string name="baifen"></string><string name="divide">÷</string><string name="multiply">×</string><string name="clear">C</string><string name="seven">7</string><string name="eight">8</string><string name="nine">9</string><string name="plus"></string><string name="four">4</string><string name="five">5</string><string name="six">6</string><string name="minus"></string><string name="one">1</string><string name="two">2</string><string name="three">3</string><string name="zero">0</string><string name="dot">.</string><string name="equal"></string>
</resources>

3、圆形按钮创建

<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><strokeandroid:color="#eeeeee"android:width="3dip"/><solidandroid:color="#FCFCFC"/><sizeandroid:width="62dp"android:height="62dp"/>
</shape>

四、前端页面总代码

<?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:background="#ffffff"android:orientation="vertical"android:padding="5dp"><ScrollViewandroid:layout_width="match_parent"android:layout_height="wrap_content"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="#eeeeee"android:gravity="center"android:text="@string/simple_calculator"android:textColor="@color/black"android:textSize="30sp" /><TextViewandroid:id="@+id/tv_result"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@color/white"android:gravity="right|bottom"android:lines="3"android:text="0"android:textColor="@color/black"android:textSize="25sp" /><GridLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:columnCount="4"android:rowCount="5"><Buttonandroid:id="@+id/btn_baifen"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/baifen"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><ImageButtonandroid:id="@+id/ib_sqrt"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:scaleType="centerInside"android:src="@drawable/sqrt"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_clear"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/clear"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><ImageButtonandroid:id="@+id/ib_huitui"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:scaleType="centerInside"android:src="@drawable/huitui"tools:ignore="SpeakableTextPresentCheck"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_seven"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/seven"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_eight"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/eight"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_nine"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/nine"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_minus"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/minus"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_four"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/four"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_five"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/five"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_six"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/six"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_plus"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/plus"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_one"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/one"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_two"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/two"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_three"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/three"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_divide"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/divide"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_zero"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/zero"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_dot"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/dot"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_equal"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/equal"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/><Buttonandroid:id="@+id/btn_multiply"android:layout_width="0dp"android:layout_height="@dimen/button_height"android:layout_columnWeight="1"android:gravity="center"android:text="@string/multiply"android:textColor="@color/black"android:textSize="@dimen/button_font_size"android:background="@drawable/round_button"/></GridLayout></LinearLayout></ScrollView></LinearLayout>

以上部分为前端页面代码

五、后端页面代码

Android入门之简易计算器(二)


http://chatgpt.dhexx.cn/article/UQwFVmR5.shtml

相关文章

Android 实战项目:简单计算器

文章目录 实战项目&#xff1a;简易计算器1.需求分析2.界面设计3.关键代码1&#xff0e;输入按键的合法性校验2&#xff0e;执行运算并显示计算结果 简单计算器 - 详细操作步骤总结 实战项目&#xff1a;简易计算器 1.需求分析 虽然只学了一些Android的简单控件&#xff0c;但…

Android Studio制作简单计算器

代码地址 https://github.com/xjhqre/android_calculator 效果演示 1. 连续加法 2. 连续减法 3. 连续乘法 4. 连续除法 5. 优先级运算 6. 退格功能 7. 错误提示 制作步骤 1. 创建按钮图片 1.1. 退格图形 <vector xmlns:android"http://schemas.android.com/apk/…

【Android应用开发之前端——简单计算器效果】

1.完成计算器布局 整个计算器界面主要分为两部分&#xff0c;一部分是上面的文本框&#xff0c;用于显示计算结果&#xff1b;另一部分是下面的几排按钮&#xff0c;用户输入数字与各种运算符。为了减少复杂度&#xff0c;我们可以精简一些功能&#xff0c;只保留数字与加、减…

使用Android 实现计算器功能

使用android实现简易的计算器的功能 1、给计算机布局&#xff1a;activity_main_xml&#xff1a; <?xml version"1.0" encoding"utf-8"?> <GridLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"h…

android studio实现计算器界面

实现计算器界面 新建项目1、打开Android Studio2、创建项目3、设置项目基本信息4、等待项目文件加载 打开界面文件1、设置线性布局2、增加子容器3、添加内容 计算器界面完成效果 新建项目 1、打开Android Studio 2、创建项目 点击右上角【New Project】选择“Empty Activity”…

Android Studio实现计算器功能

实验一&#xff1a;做一个简单的计算器 1.创建布局文件Activity_main.xml 代码如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:orient…

Android Studio入门教程(计算器)

一、建立开发环境 1、AS简介 Android Studio 是Google开发的一款面向Android开发者的IDE&#xff0c;支持Windows、Mac、Linux等操作系统&#xff0c;基于流行的开发语言java集成开发环境IntelliJ搭建而成的&#xff0c;类似Eclipse ADT。该IDE在2003年5月的Google I/O开发者…

Android开发——简单计算器实现

计算器项目&#xff0c;要求实现加、减、乘、除、求倒数、求平方根等简单运算。 真机调试结果如下图&#xff1a; 布局文件&#xff1a;main_activity.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://sc…

Android Studio简易计算器

目录 第一步&#xff0c;创建新项目 第二步&#xff0c;设计UI 第三步&#xff0c;实现计算逻辑 第四步&#xff0c;测试应用程序 随着移动互联网的普及&#xff0c;手机应用程序已经成为人们生活中不可或缺的一部分。计算器是一类被广泛使用的应用程序之一&#xff0c;因此…

十五、吉布斯采样的理解

由于本人喜欢在纸上手推原理&#xff0c;所以附上照片&#xff0c;欢迎提出建议

MCMC、吉布斯采样

学习视频&#xff1a;B站白板推导 学习和代码教程&#xff1a; Li Hang code 知乎&#xff08;和上面内容一模一样&#xff09; &#xff08;权当参考&#xff09; 关于上面代码中&#xff0c;吉布斯采样二维正态分布的理解&#xff1a; Σ的意思是协方差矩阵&#xff0c;在…

LDA----吉布斯采样

w~Mult(w|p) 这里可以引入一个新的概念:概率图模型,来画出这种模型。如图 3-1所示,图中被涂色的 表示可观测变量,方框表示重复抽取的次数, 表示一篇文档中总共 个单词, 表示M篇文档。也就是说,重复抽取 篇文档,每个文档抽取 个单词,这样的生成模型生成了整个语料(corpus)。 总结…

LDA-模型的实现-----吉布斯采样

https://www.cnblogs.com/nlp-yekai/p/3858705.html?utm_sourcetuicool&utm_mediumreferral 算法 LDA Collapsed Gibbs Sampling 输入&#xff1a;文档集(分词后)&#xff0c;K(主题数)&#xff0c;α&#xff0c;β&#xff0c;iter_number(迭代次数) 输出&#xff1a;…

R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样

创建测试数据 第一步&#xff0c;我们创建一些测试数据&#xff0c;用来拟合我们的模型。我们假设预测变量和因变量之间存在线性关系&#xff0c;所以我们用线性模型并添加一些噪音。 trueA <- 5trueB <- 0trueSd <- 10sampleSize <- 31# 创建独立的x值x <- (…

马尔科夫过程与吉布斯采样

随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Monte Carlo Simulation)。这个方法的发展始于20世纪40年代&#xff0c;和原子弹制造的曼哈顿计划密切相关&#xff0c;当时的几个大牛&#xff0c;包括乌拉姆、冯.诺依曼、费米、费曼、Nicholas Metropolis&#xf…

吉布斯采样的简单描述

几个可以学习gibbs sampling的方法1&#xff0c;读Bishop的Pattern Recognition and Machine Learning&#xff0c;讲的很清楚&#xff0c;但是我记得好像没有例子。2&#xff0c;读artificial Intelligence&#xff0c;2、3版&#xff0c;都有。但是我没读过。3&#xff0c;最…

【ML】线性回归的吉布斯采样(Gibbs Sampling)实现(python)

导航 Bayesian Linear RegressionGibbs SamplingDerving a Gibbs samplerUpdate for β 0 \beta_0 β0​Update for β 1 \beta_1 β1​Update for τ \tau τSynthetic dataGibbs sampler code downlaodReferences Bayesian Linear Regression 考虑只有一个自变量(indepen…

【机器学习】主题建模+隐狄利克雷分配模型(LDA)+吉布斯采样

【主题建模】 大数据时代&#xff0c;面对海量的数据&#xff0c;如果能知道它的主题是什么&#xff0c;从数据压缩的角度来看&#xff0c;我们可以通过很少量的主题来管理很大亮的文档数据集合&#xff0c;从而实现一个比较简洁的操作和管理文档集合的目的&#xff1b;除此之外…

【人工智能】对贝叶斯网络进行吉布斯采样

问题 现要求通过吉布斯采样方法&#xff0c;利用该网络进行概率推理&#xff08;计算 P(RT|SF, WT)、P2(CF|WT)的概率值&#xff09;。 原理 吉布斯采样的核心思想为一维一维地进行采样&#xff0c;采某一个维度的时候固定其他的维度&#xff0c;在本次实验中&#xff0c;假…

matlab bnt工具箱吉布斯采样,吉布斯采样——原理及matlab实现

原文来自:https://victorfang.wordpress.com/2014/04/29/mcmc-the-gibbs-sampler-simple-example-w-matlab-code/ 【注】评论区有同学指出译文理论编码有误,请参考更官方的文献,个人当时仅验证过红色字体部分理论与维基百科中二位随机变量吉布斯采样的结果是否对应,其余部分…