android计算器开发实例_安卓开发计算器代码

android计算器开发实例_安卓开发计算器代码实习第四天了,第一天熟悉了一下java,这三天学习了解了一下安卓开发的一些基础知识。做了一个小程序—计算器,以此帖来记录一下。也许也有人可以参考一下)功能真的只有最基本哈哈,最最新手的人可以参考hh首先是activity_main.xml的布局代码<GridLayoutxmlns:android=”http://schemas.android.com/apk/res/android”xmlns:tools=”http://schemas.android.com/tools”a

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

实习第四天了,第一天熟悉了一下java,这三天学习了解了一下安卓开发的一些基础知识。做了一个小程序—计算器,以此帖来记录一下。也许也有人可以参考一下)功能真的只有最基本哈哈,最最新手的人可以参考hh
首先是activity_main.xml的布局代码

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/GridLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="4" android:orientation="horizontal" android:rowCount="6" >
<TextView android:layout_width="1200dp" android:layout_height="110dp" android:layout_columnSpan="4" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_gravity="fill" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:id="@+id/textview_1" android:text="" android:background="@drawable/rectborder" android:textSize="80sp" />
<Button android:layout_width="600dp" android:layout_height="90dp" android:layout_columnSpan="2" android:layout_gravity="fill" android:textSize="60sp" android:layout_marginLeft="5dp" android:id="@+id/back_btn" android:text="回退" />
<Button android:layout_width="600dp" android:layout_columnSpan="2" android:textSize="60sp" android:layout_marginRight="5dp" android:layout_gravity="fill" android:id="@+id/delete_btn" android:text="清空" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:layout_marginLeft="5dp" android:id="@+id/plus_btn" android:text="+" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/num1_btn" android:text="1" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/num2_btn" android:text="2" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:layout_marginRight="5dp" android:textSize="60sp" android:id="@+id/num3_btn" android:text="3" />
<Button android:layout_width="320dp" android:textSize="60sp" android:layout_height="90dp" android:layout_marginLeft="5dp" android:text="-" android:id="@+id/minus_btn"/>
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:text="4" android:id="@+id/num4_btn"/>
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/num5_btn" android:text="5" />
<Button android:layout_width="320dp" android:textSize="60sp" android:layout_height="90dp" android:layout_marginRight="5dp" android:text="6" android:id="@+id/num6_btn"/>
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:layout_marginLeft="5dp" android:id="@+id/mult_btn" android:text="*" />
<Button android:layout_width="320dp" android:textSize="60sp" android:layout_height="90dp" android:id="@+id/num7_btn" android:text="7" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/num8_btn" android:text="8" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:layout_marginRight="5dp" android:id="@+id/num9_btn" android:text="9" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:layout_marginLeft="5dp" android:id="@+id/divide_btn" android:text="/" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/dot_btn" android:text="." />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/num0_btn" android:text="0" />
<Button android:layout_width="320dp" android:layout_height="90dp" android:textSize="60sp" android:id="@+id/result_btn" android:text="=" />
</GridLayout>

Jetbrains全家桶1年46,售后保障稳定

这是布局的效果,渐变文本框的效果还需要加一个drawable布局资源
在这里插入图片描述
需要用到drawable里的rectborder.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 设置一个黑色边框 -->
<!-- <stroke android:width="2px" android:color="#000000"/>-->
<!-- 渐变 -->
<gradient android:angle="270" android:endColor="#545454" android:startColor="#C0C0C0" />
<!-- 设置一下边距,让空间大一点 -->
<padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp"/>
</shape>

接下来是MainActivity.java文件

package com.example.test_0;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity { 

private Button num0_btn;
private Button num1_btn;
private Button num2_btn;
private Button num3_btn;
private Button num4_btn;
private Button num5_btn;
private Button num6_btn;
private Button num7_btn;
private Button num8_btn;
private Button num9_btn;
private Button mult_btn;
private Button divide_btn;
private Button dot_btn;
private Button result_btn;
private Button back_btn;
private Button delete_btn;
private Button plus_btn;
private Button minus_btn;
private TextView textview_1;
private double NO1=0;
private int flag=0;
private int flag_1=0;
private double NO2=0;
private double end=0;
@Override
protected void onCreate(Bundle savedInstanceState) { 

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num0_btn = (Button) findViewById(R.id.num0_btn);
num1_btn = (Button) findViewById(R.id.num1_btn);
num2_btn = (Button) findViewById(R.id.num2_btn);
num3_btn = (Button) findViewById(R.id.num3_btn);
num4_btn = (Button) findViewById(R.id.num4_btn);
num5_btn = (Button) findViewById(R.id.num5_btn);
num6_btn = (Button) findViewById(R.id.num6_btn);
num7_btn = (Button) findViewById(R.id.num7_btn);
num8_btn = (Button) findViewById(R.id.num8_btn);
num9_btn = (Button) findViewById(R.id.num9_btn);
divide_btn = (Button) findViewById(R.id.divide_btn);
mult_btn = (Button) findViewById(R.id.mult_btn);
dot_btn = (Button) findViewById(R.id.dot_btn);
result_btn = (Button) findViewById(R.id.result_btn);
delete_btn = (Button) findViewById(R.id.delete_btn);
back_btn = (Button) findViewById(R.id.back_btn);
plus_btn = (Button) findViewById(R.id.plus_btn);
minus_btn = (Button) findViewById(R.id.minus_btn);
textview_1 = (TextView) findViewById(R.id.textview_1);
num0_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("0");
if (flag==0) { 

NO1 = 10 * NO1 + 0;
}
else { 

NO2 =10* NO2+0;
}
}
});
num1_btn.setOnClickListener(new View.OnClickListener(){ 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("1");
if (flag==0) { 

NO1 = 10 * NO1 + 1;
}
else { 

NO2 =10* NO2+1;
}
}
});
num2_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("2");
if (flag==0) { 

NO1 = 10 * NO1 + 2;
}
else { 

NO2 =10* NO2+2;
}
}
});
num3_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("3");
if (flag==0) { 

NO1 = 10 * NO1 + 3;
}
else { 

NO2 =10* NO2+3;
}
}
});
num4_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("4");
if (flag==0) { 

NO1 = 10 * NO1 + 4;
}
else { 

NO2 =10* NO2+4;
}
}
});
num5_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("5");
if (flag==0) { 

NO1 = 10 * NO1 + 5;
}
else { 

NO2 =10* NO2+5;
}
}
});
num6_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("6");
if (flag==0) { 

NO1 = 10 * NO1 + 6;
}
else { 

NO2 =10* NO2+6;
}
}
});
num7_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("7");
if (flag==0) { 

NO1 = 10 * NO1 + 7;
}
else { 

NO2 =10* NO2+7;
}
}
});
num8_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("8");
if (flag==0) { 

NO1 = 10 * NO1 + 8;
}
else { 

NO2 =10* NO2+8;
}
}
});
num9_btn.setOnClickListener(new View.OnClickListener() { 

@Override
public void onClick(View view) { 

// System.out.println(textview_1.getText());
if (flag_1!=0)
{ 

textview_1.setText("");
flag_1=0;
}
textview_1.append("9");
if (flag==0) { 

NO1 = 10 * NO1 + 9;
}
else { 

NO2 =10* NO2+9;
}
}
});
delete_btn.setOnClickListener(new View.OnClickListener()
{ 

@Override
public void onClick(View view) { 

if (textview_1.getText()=="0")
{ 

textview_1.setText("");
}
textview_1.setText("");
flag=0;
}
});
plus_btn.setOnClickListener(new View.OnClickListener()
{ 

@Override
public void onClick(View view) { 

flag=1;
flag_1=1;
// textview_1.setText("");
}
});
mult_btn.setOnClickListener(new View.OnClickListener()
{ 

@Override
public void onClick(View view) { 

flag=3;
flag_1=1;
//textview_1.setText("");
}
});
divide_btn.setOnClickListener(new View.OnClickListener()
{ 

@Override
public void onClick(View view) { 

flag=4;
flag_1=1;
//textview_1.setText("");
}
});
minus_btn.setOnClickListener(new View.OnClickListener()
{ 

@Override
public void onClick(View view) { 

flag=2;
flag_1=1;
//textview_1.setText("");
}
});
result_btn.setOnClickListener(new View.OnClickListener()
{ 

@Override
public void onClick(View view) { 

if (flag==1)
{ 
   end=NO1+NO2;
textview_1.setText((String.valueOf(end)));
NO1=0;
NO2=0;
}
else if (flag==3)
{ 

end=NO1*NO2;
textview_1.setText((String.valueOf(end)));
NO1=0;
NO2=0;
}
else if (flag==2)
{ 

end=NO1-NO2;
textview_1.setText((String.valueOf(end)));
NO1=0;
NO2=0;
}
else if (flag==4)
{ 

end=NO1/NO2;
textview_1.setText((String.valueOf(end)));
NO1=0;
NO2=0;
}
}
});
// divide_btn.setOnClickListener(this);
// mult_btn.setOnClickListener(this);
// dot_btn.setOnClickListener(this);
// result_btn.setOnClickListener(this);
}
}

然后这个最最最最基础的计算器就做完啦。 可以进行最简单的加减乘除,每次结果算出来之后得按清除才可以进行下一次计算hh

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234293.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Laravel修改配置后一定要清理缓存 “php artisan config:clear”!

    Laravel修改配置后一定要清理缓存 “php artisan config:clear”!

    2021年10月22日
  • LINUX 环境变量总结

    LINUX 环境变量总结

  • 手机app抓包

    手机app抓包总是收到公司部分客户特定机型,情况下才出现的bug此类问题较为难以复现需要客户协助进行抓包处理,写一个简单教程方便与客户沟通!app下载地址链接:https://pan.baidu.com/s/1M8x8DsTy0pcgnGyKEsJ_Ow提取码:cd4i1.安装抓包软件2.进入错误页面的上一个页面如果B页面是出错的页面,点击A(页面或者按钮)进入到B页面那么我们就打开A页面就可以了3.选择需要抓包的应用4.抓取操作信息5.如果错误信息比较多点击.

  • 编写一个C程序,运行时输出以下图形_java图形程序设计之图片显示

    编写一个C程序,运行时输出以下图形_java图形程序设计之图片显示以下是完成输出文字的代码部分#include <Windows.h> // windows程序所依赖的头文件#pragma comment(lib,”winmm.lib”)#define WINDOW_WIDTH 800 // 窗口宽度#define WINDOW_HEIGHT 600 // 窗口高度#define WINDOW…

  • 前端盲水印_前端代码review

    前端盲水印_前端代码review需求给图片加上看不到的水印,当通过其他的方式可以清楚的看到图片中暗藏的水印,以此方式追溯到泄密的人解决办法利用canvas实现图片和水印的绘制,具体过程如下:新建canvas,宽度和高度取要加水印的图片的宽度和高度 在该canvas上绘制要添加的水印文字,文字透明度设置要特别的低,但是当水印透明度小于等于0.003,不可恢复到水印。所以我们设置透明度要不得低于0.003 将该canvas转成img(为什么canvas要转成img?之前遇到canvas在移动端无法长按出现保存、转发等操作)

    2022年10月30日
  • vuecli关闭eslint_vue plugin

    vuecli关闭eslint_vue pluginvue关闭eslint,vue项目关闭eslint提示,vue项目取消eslint

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号