android页面布局计算机,Android Studio制作简单计算器App
Android Studio制作简单计算器App
计算机界面如图:
程序设计步骤:
(1)在布局文件中声明编辑文件框EditText,按钮Button等组件。
(2)在MainActivity中获取组件实例。
(3)通过swtich函数,判断输入的内容,并进行相应操作,通过getText()获取文本内容,setText()显示。
程序代码设计:
布局实现:在activi_main.xml中设置。使用线性布局(LinearLayout)与网格布局(GridLayout)来设置界面。在设计区域设置一个4行4列的网格布局,每行划分为均等的16个按钮,分别代表数字0-9,小数点,和运算符加减乘除以及等于号。
功能实现:在MainActivity.java页面编写。实现简单加减乘除。
package com.example.work_calculater;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
Button btn1; // 数字1
Button btn2; // 数字2
Button btn3; // 数字3
Button btn4; // 数字4
Button btn5; // 数字5
Button btn6; // 数字6
Button btn7; // 数字7
Button btn8; // 数字8
Button btn9; // 数字9
Button btn0; // 数字0
Button add; // +号
Button sub; // -号
Button mul; // *号
Button div; // 除号
Button dot; // 小数点
Button equ; // =号
Button clear; //清除
EditText result; // 显示文本
double num1 = 0, num2 = 0; //计算的数字
double Result = 0;//计算结果
int op = 0;//判断操作符
String opd = " ";//显示操作符
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取页面上的控件
btn1 = findViewById(R.id.btn_1);
btn2 = findViewById(R.id.btn_2);
btn3 = findViewById(R.id.btn_3);
btn4 = findViewById(R.id.btn_4);
btn5 = findViewById(R.id.btn_5);
btn6 = findViewById(R.id.btn_6);
btn7 = findViewById(R.id.btn_7);
btn8 = findViewById(R.id.btn_8);
btn9 = findViewById(R.id.btn_9);
btn0 = findViewById(R.id.btn_0);
add = findViewById(R.id.btn_add);
sub = findViewById(R.id.btn_sub);
mul = findViewById(R.id.btn_mul);
div = findViewById(R.id.btn_div);
equ = findViewById(R.id.btn_equ);
dot = findViewById(R.id.btn_dot);
clear = findViewById(R.id.btn_clear);
result = findViewById(R.id.et_result);
// 按钮的单击事件
btn1.setOnClickListener(new Click());
btn2.setOnClickListener(new Click());
btn3.setOnClickListener(new Click());
btn4.setOnClickListener(new Click());
btn5.setOnClickListener(new Click());
btn6.setOnClickListener(new Click());
btn7.setOnClickListener(new Click());
btn8.setOnClickListener(new Click());
btn9.setOnClickListener(new Click());
btn0.setOnClickListener(new Click());
add.setOnClickListener(new Click());
sub.setOnClickListener(new Click());
mul.setOnClickListener(new Click());
div.setOnClickListener(new Click());
equ.setOnClickListener(new Click());
dot.setOnClickListener(new Click());
clear.setOnClickListener(new Click());
result.setOnClickListener(new Click());
}
// 设置按钮点击后的监听
class Click implements View.OnClickListener {
public void onClick(View v) {
switch (v.getId()) { //switch循环获取点击按钮后的值
case R.id.btn_0: //获取,0-9、小数点,并在编辑框显示
String myString = result.getText().toString();
myString += "0";
result.setText(myString);
break;
case R.id.btn_1:
String myString1 = result.getText().toString();
myString1 += "1";
result.setText(myString1);
break;
case R.id.btn_2:
String myString2 = result.getText().toString();
myString2 += "2";
result.setText(myString2);
break;
case R.id.btn_3:
String myString3 = result.getText().toString();
myString3 += "3";
result.setText(myString3);
break;
case R.id.btn_4:
String myString4 = result.getText().toString();
myString4 += "4";
result.setText(myString4);
break;
case R.id.btn_5:
String myString5 = result.getText().toString();
myString5 += "5";
result.setText(myString5);
break;
case R.id.btn_6:
String myString6 = result.getText().toString();
myString6 += "6";
result.setText(myString6);
break;
case R.id.btn_7:
String myString7 = result.getText().toString();
myString7 += "7";
result.setText(myString7);
break;
case R.id.btn_8:
String myString8 = result.getText().toString();
myString8 += "8";
result.setText(myString8);
break;
case R.id.btn_9:
String myString9 = result.getText().toString();
myString9 += "9";
result.setText(myString9);
break;
case R.id.btn_dot:
String myStringDot = result.getText().toString();
myStringDot += ".";
result.setText(myStringDot);
break;
case R.id.btn_add: //判断,使用加减乘除的操作符
String myStringAdd = result.getText().toString();
if (myStringAdd.equals(null)) {
return;
}
num1 = Double.valueOf(myStringAdd);
result.setText(null);
op = 1;
opd = "+";
break;
case R.id.btn_sub:
String myStringSub = result.getText().toString();
if (myStringSub.equals(null)) {
return;
}
num1 = Double.valueOf(myStringSub);
result.setText(null);
op = 2;
opd = "-";
break;
case R.id.btn_mul:
String myStringMul = result.getText().toString();
if (myStringMul.equals(null)) {
return;
}
num1 = Double.valueOf(myStringMul);
result.setText(null);
op = 3;
opd = "×";
break;
case R.id.btn_div:
String myStringDiv = result.getText().toString();
if (myStringDiv.equals(null)) {
return;
}
num1 = Double.valueOf(myStringDiv);
result.setText(null);
op = 4;
opd = "÷";
break;
case R.id.btn_clear: //清除,将编辑框文本显示为空
result.setText(null);
break;
case R.id.btn_equ: //计算,以操作符为判断,选择所需的运算,并将结果输出
String myStringEqu = result.getText().toString();
if (myStringEqu.equals(null)) {
return;
}
num2 = Double.valueOf(myStringEqu);
result.setText(null);
switch (op) {
case 0:
Result = num2;
break;
case 1:
Result = num1 + num2;
break;
case 2:
Result = num1 - num2;
break;
case 3:
Result = num1 * num2;
break;
case 4:
if (num2 == 0) //除法中分子与分母之分
Result = 0;
else
Result = num1 / num2;
break;
default:
Result = 0;
break;
}
result.setText(Double.toString(num1) + opd + Double.toString(num2) + "=" + Double.toString(Result)); //将结果完整输出
break;
default:
break;
}
}
}
}
程序运行结果如图:
android页面布局计算机,Android Studio制作简单计算器App相关推荐
- 计算器android studio代码,Android studio实现简单计算器
本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析 在Android studio中设计并实现一个简单的计算器,实现连续的加减乘除运算. 界面 ...
- C语言练手项目--C 语言制作简单计算器
C 语言制作简单计算器 一.需求 二.实现 1.思路 2.代码 3.运行结果 三.参考链接 一.需求 使用 C 语言做一个简单的计算器,能执行加.减.乘.除操作 二.实现 1.思路 (1)标准输入到s ...
- Android 开发--利用android studio 制作简单文字打怪升级游戏(伪地牢类)1.开始
本人目前是大三考研党,之前有学过一些杂七杂八的知识,但是没有办法利用这些知识制作一些真正有用的东西出来.后来自学了android开发,学会使用了android studio,终于决定利用android ...
- Android 开发--利用android studio 制作简单文字打怪升级游戏(伪地牢类)2.主页面及部分事件设计
时隔大半年,总算抽出时间更新这个博客了.去年下半年因为大四忙着备战考研,一直没有心情将第二篇继续更新,今年上半年又忙着搞毕业设计,焦头烂额了属于是orz 由于我的android studio的模拟器实 ...
- 用android studio 完成简单计算器设计开发日志
简单计算器的设计是学习安卓的第一个APP的设计,我发现,其实安卓跟Java有很大的相似性,虽然界面的设计要用到前端的设计,但是功能的实现基本都是使用Java来实现的,但由于对Android studi ...
- Android Studio简单计算器App实现
一.内容: 基于AndroidStudio,实现一个简易的计算器(界面+简单的计算). 二.思路 1.首先设计界面,activity_main.xml 计算器界面,使用了网格布局GridLayout, ...
- Android 页面布局xd,Adobe XD强大的布局系列工具 助你事半功倍
数字设计有多种形式-从移动端.桌面网站到显示屏应用程序.智能助手.车载娱乐系统(例如CarPlay和Android Auto)等等.为当今的应用程序打造数字体验意味着需要针对各种屏幕尺寸.布局和交互类 ...
- android页面布局更改,使用setContentView的方式更换布局文件从而更换界面
使用转换Activity的布局文件的方式,从而达到转换android页面的目的(这里没有使用Intent): 程序很简单,摆一个大概出来: package com.seed.lee.setConten ...
- android创建布局文件,android学习——Android Studio下创建menu布局文件
一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...
最新文章
- [转载]中国工商银行软件开发部门职业发展
- 你的老师看你编码的样子
- 64 DLL动态链接库换一台电脑就不能加载
- NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...
- weka libsvm
- Vue.js(5)- 全局组件
- win7如何添加终端服务器,Windows7系统超级终端的添加方法 win7如何添加超级终端...
- 哈佛大学刘小乐教授讲授的计算生物学和生物信息学导论 (2020 视频+资料)
- 酷爆了!阿里预测2020十大科技趋势
- 《机器学习实战》学习总结(四)逻辑回归原理
- python链接器编译器实现_一个链接器的实现「一」
- 系统地编译Hi3519过程及其处理问题思路
- 国家地理相关资源数据库
- Iphone 5s 8.0.2越狱
- 小米浏览器html文件怎么打开方式,怎么设置浏览器-开启小米浏览器这三个功能,切换、搜索、编辑都让你事半功倍...
- 使用阿帕奇服务器配置多个网站站点的方法
- 反转链表的实现(三种方法)
- 华为狼性文化遭质疑,那我们当个佛系程序员可好?
- 基于CNN的微信二维码引擎OpenCV开源!
- 实习日记(9)——C++编译出现error in locking authority file ~/.Xauthority
热门文章
- 蓝牙耳机一个响一个不响怎么办
- 转行学java被辞退_不是所有行业都是“跳槽穷半年,转行穷三年”,至少转行学Java不是!...
- 每日一题(二三)function Foo(){ Foo.a = function(){console.log(1); } this.a = function(){console.log(2)}) Fo
- 哈尔滨理工大学软件与微电子学院第八届程序设计竞赛同步赛(低年级)I 小乐乐切方块
- You must restart adb and Eclipse处理方法(sjk_daemon.exe占用5037端口)
- 基于TensorRT的神经网络推理与加速
- SIFT之极值点检测
- 【OpenCV】马赛克算法
- oracle与sun的java_甲骨文吞Sun Java何去何从?
- 事件clientX、pageX、screenX、offsetX