一、题目

1、如图所示(实际设计,类似此界面样式即可,全屏时,按钮将会纵向拉伸),利用网格布局管理器设计一个居中、满屏计算器,项目名称:clc666b;(666,改成自己的实际编号)

2、加、乘分别用2个单选按钮进行选择;

3、为clc666b编写程序(clc666a不需要编程,只设计界面即可),根据选择的加(乘)单选按钮,实现两个数的加法和乘法的简单计算。

4、为了简化程序设计,上方的数据区也可以设计成3个文本框(如果一个文本框实现功能,则更好),分别用作被(乘)加数、加(乘)数、合(积);

二、分析

1.首要的目标是先做一个窗口,窗口设计需要滿屏平分,所以要修改每一个部件的权重。

2.java程序设计,要监听不同种类的按键,网上基本上都是普通按键的程序,没有radiobutton的,这个题目对于我这种新手来说有点恶心,不能直接抄网上的,还要根据老师上课讲的改一改。

(1)当按下数字按键时,把按键所对应的数字存到一个字符串中,然后更新text。

(2)如果按下删除的时候把字符串最后一个字符删去即可,然后更新text.。

(3)当按下运算符号键时,把前面的字符存在一个字符串a中,并保存运算符号键的id地址。

(4)继续进行前两步的操作,直到按下等于号键运行(5)。

(5)把运算符号后的给字符串b,根据id来对a和b进行运算,更新text。

三、代码

1.xml代码

2.java代码

packagecom.example.lenovo.clc231b;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.view.View.OnClickListener;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.TextView;public class MainActivity extendsAppCompatActivity {private String num = "";private String num_zong = "";private intfore,back,lenth,id;

TextView textview1;

RadioGroup question2;

Button button1;

Button button2;

Button button3;

Button button4;

Button button5;

@Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textview1=(TextView)findViewById(R.id.textview1);

button1=(Button)findViewById(R.id.button1);

button2=(Button)findViewById(R.id.button2);

button3=(Button)findViewById(R.id.button3);

button4=(Button)findViewById(R.id.button4);

button5=(Button)findViewById(R.id.button5);

question2=(RadioGroup) findViewById(R.id.radioGroup2);

button1.setOnClickListener(listener);

button2.setOnClickListener(listener);

button3.setOnClickListener(listener);

button4.setOnClickListener(listener);

button5.setOnClickListener(listener);

question2.setOnClickListener(listener);

}public OnClickListener listener = newOnClickListener() {

@Overridepublic voidonClick(View view) {switch(view.getId()){caseR.id.button1:

number(1);break;caseR.id.button2:

number(2);break;caseR.id.button3:

number(3);break;caseR.id.button4:

delete();break;caseR.id.button5:

result();break;default:break;

}

question2.setOnCheckedChangeListener(newRadioGroup.OnCheckedChangeListener() {

@Overridepublic void onCheckedChanged(RadioGroup group, intcheckedId) {//获取被选择的单选按钮

RadioButton r =(RadioButton) findViewById(checkedId);//Toast.makeText(MainActivity.this,"你的爱好是:" + r.getText(), Toast.LENGTH_SHORT).show();

id =r.getId();

textview1.setText(num+r.getText());

fore=Integer.valueOf(num);

num= num+r.getText();

lenth=num.length();

}

});

textview1.setText(num);

}

};//乘号id是2131165311 加号id是2131165312

private voidresult()

{

num_zong=num;

num=num.substring(lenth);

back=Integer.valueOf(num);if(id == 2131165311)

num= String.valueOf((fore*back));elsenum= String.valueOf((fore+back));

num= num_zong + "=" +num;

}private voiddelete(){

num= num.substring(0,num.length()-1);

}private void number(inti){

num= num +i;

}

}

四、总结

运行必须按照流程来,不然app会崩溃,不想改了,累了,对新手不太友好。

五、参考文章

android计算器设计步骤,Android Studio的简易计算器界面设计相关推荐

  1. 用Android Studio 编写简易计算器

    用Android Studio 编写简易计算器 界面设计 功能的實現 其他配置 1.頂部標題 2.修改測試 这是用Android Studio编写的 简易计算器 .功能主要是实现简单的加减操作,以及比 ...

  2. 展示型app用什么型号服务器,APP版式设计教程:信息展示型UI界面设计的四种类型...

    作为一名专业的APP设计师,版式设计也是我们日常设计当中的一项基本功. 那你到底对版式设计有多深的理解呢? 你现在可以摸着旁边妹子的手说,什么是版式设计ma ? 版式设计又分为哪几种呢? 这个时候妹子 ...

  3. Android Studio:基本UI界面设计 (详细)

    一. 实验题目 基本UI界面设计 二. 实现内容 实现一个 Android 应用,界面呈现如下效果: 三. 实验过程 (1)标题 首先我们建立一个TextView控件来写标题. 实验对标题的要求如下: ...

  4. [Android学习] 1. 简易登录界面设计

    通过对活动及控件的学习,今天制作一个简易登录界面.简要记录一下操作过程.遇到的问题及学到的经验,希望各位老师多多提出问题不吝赐教! 预期设计效果图  设计要求: 1.布局不限,参考上图: 2.利用Ed ...

  5. Android开发:基于Kotlin编写一个简易计算器

    目录 前言 Kotlin学习tips 界面绘制及控件绑定 UI界面绘制 控件绑定 Button点击事件 运算逻辑 整体逻辑 边界情况 输入展示 点击数字键 点击运算符键 点击"=" ...

  6. Android Studio制作简易微信界面

    文章目录 制作要求 一.top,buttom页面制作 二.四个tab页面和activity_main页面制作 1.四个tab页面 2.activity_main页面 三 . 五个java文件 制作要求 ...

  7. android 在线设计工具,21个免费的UI界面设计工具、资源及网站

    我们刚刚介绍了移动设计初探:触屏网页设计.本文将介绍一些UI界面与设计使用的元素.软件和网站.内容很丰富,适合用户体验设计师.界面设计师.产品设计师.JS前段开发.手机产品设计以及iPad和平板电脑产 ...

  8. android学习:《超级课程表》的课表界面设计

    <超级课程表>的课表界面设计 话不多说,直接看效果图 下面我们来看<超级课程表的界面> 这样的话,我们需要自定义三种视图: 1.自定义 View方格背景 2.自定义 ViewG ...

  9. 简单计算器的设计java_(基于java的简易计算器的设计.doc

    (基于java的简易计算器的设计 基于java的简易计算器的设计 摘要 自从java语言诞生以来,java语言就以不可抵挡的趋势很快成为国际上广泛流行的面向对象编程语言,它既具有高级语言的特点,又少了 ...

最新文章

  1. 不显示调用super_super关键字
  2. 数据科学中一些不常用但很有用的Python库
  3. 相机设置感兴趣区域(自带API)
  4. php大数组循环嵌套的性能优化
  5. 域 无法管理计算机,计算机无法加入域的终级解决方法
  6. sharding-jdbc学习
  7. Spring启动教程
  8. 自营型电商和平台型电商的行业秘密是什么?
  9. Knative Service 之流量灰度和版本管理
  10. 阿里如何实现100%容器化镜像化?八年技术演进之路回顾(转)
  11. FTP和TCP、UDP
  12. 35款安卓App被通报窃取个人隐私!快看看你的手机里有没有
  13. springboot2 war页面放在那_Spring Boot2版的权限管理系统
  14. java 博客系统 tale_Java 博客系统 Tale
  15. 如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?(转)
  16. python 遍历对象_Python遍历对象属性
  17. 蚂蚁金服测试开发工程师面试
  18. informix mysql 语法_Informix SQL 语法详解
  19. GC日志详解[乐乐独记]
  20. 1.488Mpps是如何计算出来的?

热门文章

  1. PHP Web项目开发学习,经验谈
  2. 为什么中国公司要让员工用英文名或者花名?
  3. oracle wallet java_oracle wallet实践及常用维护操作
  4. 51nod1278 相离的圆
  5. 不定积分 定积分 计算方法
  6. VUE:使用element-ui的el-table时,自定义单元格内容,并tab快速切换指定编辑的单元格,而不是把所有能tab切换的都切换一遍
  7. html 用户列表,用户列表.html
  8. svn设置文件提交过滤
  9. win10浏览器闪退_win10 edge浏览器闪退打不开的恢复方法
  10. flex布局,没有justify-self,如何实现一左一中布局