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)


相关推荐

  • 【OpenGrok代码搜索引擎】二、Windows10下基于Linux子系统搭建Opengrok代码搜索引擎

    【OpenGrok代码搜索引擎】二、Windows10下基于Linux子系统搭建Opengrok代码搜索引擎OpenGrok为一个方便快速的源码搜索及交叉引用查询引擎。它以Java编写,可用于源码搜索、交叉引用查询、以及源码树定位。它支持多种编码语言和多种代码版本控制引擎系统。

  • 对标 VS Code,JetBrains 的下一代 IDE :Fleet[通俗易懂]

    对标 VS Code,JetBrains 的下一代 IDE :Fleet[通俗易懂]昨天(11月29日),JetBrains网站上出现了一个全新的IDE–Fleet它是谁呢?这软件的风格,怎么看都不像JB的亲儿子。。不过,我很负责任地告诉,这就是JetBrains的下一代IDE,妥妥的亲儿子。目前Fleet还处于开发阶段,还没有开放下载使用,如果你想尝鲜,可以通过这个链接(https://www.jetbrains.com/fleet/preview/)填写一下表格申请。看到这个消息,我就赶紧去申请了,但何时会通过,官方表示也不清楚。虽然还无法使

  • 关于android studio 中安装intel haxm问题的解决

    关于android studio 中安装intel haxm问题的解决关于androidstudio安装intelhaxm问题的解决遇到的问题解决问题总结遇到的问题安装androidstudio过程中intelhaxm失败,导致后续笔记本运行模拟器过程中漫长等待让我痛不欲生。于是着手解决intelhaxm安装失败问题。我的笔记本型号是thinkpadw510,处理器i7Q720,操作系统windows7sp1。解决问题1、进入andro…

  • 笔记本电脑运行卡顿的真正原因和解决方案视频_笔记本怎么开高性能模式

    笔记本电脑运行卡顿的真正原因和解决方案视频_笔记本怎么开高性能模式只要是联网大型程序运行中出现了卡顿现象,我们总是习惯性的认为这是服务器卡或网络不流畅的问题,然而事实并非如此。尤其是如果你在用笔记本电脑,那么就请先好好找找自己笔记本电脑的问题吧。这个话题特别有意义,因为现在笔记本电脑在大城市普及到几乎小青年人手一台的程度,随着生活节奏不断加快,留给各位在家安安心心用台式机的机会是越来越少了,如何把笔记本电脑调教到运行流畅的效果,让各位工作高效顺利,让各位玩游戏玩

  • CDP和LLDP「建议收藏」

    CDP和LLDP「建议收藏」CDP思科发现协议CDP概述CDP思科发现协议(CiscoDiscoveryProtocol)主要是用来获取相邻设备的协议地址以及发现这些设备的平台信息。CDP也可为路由器提供正在使用的接口信息。它是思科设备中的一种信息收集工具,常用于获取思科直连设备的相关信息。CDP是运行在数据链路层的,所以说它是二层协议。CDP与介质和协议无关,运行在所有思科制造的设备上,包括路由器、网桥(bridge)、接入服务器(accessserver)和交换机。在默认情况下,思科设备

  • 遍历hashmap的三种方式_hashmap循环遍历

    遍历hashmap的三种方式_hashmap循环遍历privateHashMapchannels=newHashMap<>();privatevoidselectPayChannle(Stringpaychannel){for(Map.Entryentry:channels.entrySet()){payChannel=paychannel;Ra

    2022年10月24日

发表回复

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

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