用AS编写一个简单计算器

一、简单的小背景
老师之前布置的一个用AS实现一个简单计算器的作业,作为一个刚学AS的小白渣是真的无从下手。。。所以在网上东拼西凑也算是有了基础的想法。
大致框架出来了,最后依然有一些小bug我真的无力了。问题在最下面,如果有大佬能指教一番那当然是感激不尽了。
下面就先贴一些图吧。
这是计算器的界面
截图的时候代码还在测试一些bug,框内的算式我没有在代码里写出来二、代码
1,布局代码

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:id="@+id/myText"
    android:textSize="35sp"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:background="@drawable/text_border"
    android:layout_marginTop="10dp"/>

<LinearLayout
    style="@style/Liner_style"
    android:layout_marginTop="30dp"
    >

    <Button
        android:id="@+id/delete_btn"
        style="@style/Btn_style1"
        android:text="退格" />


    <Button
        android:id="@+id/clean_btn"
        style="@style/Btn_style2"
        android:text="清除" />

    <Button
        android:id="@+id/sign_btn"
        style="@style/Btn_style2"
        android:text="+/-" />

    <Button
        android:id="@+id/add_btn"
        style="@style/Btn_style2"
        android:text="+" />

</LinearLayout>

<LinearLayout
    style="@style/Liner_style">

    <Button
        android:id="@+id/num_7"
        style="@style/Btn_style1"
        android:text="7" />

    <Button
        android:id="@+id/num_8"
        style="@style/Btn_style2"
        android:text="8" />

    <Button
        android:id="@+id/num_9"
        style="@style/Btn_style2"
        android:text="9" />

    <Button
        android:id="@+id/sub_btn"
        style="@style/Btn_style2"
        android:text="-" />

</LinearLayout>

<LinearLayout
    style="@style/Liner_style">

    <Button
        android:id="@+id/num_4"
        style="@style/Btn_style1"
        android:text="4" />

    <Button
        android:id="@+id/num_5"
        style="@style/Btn_style2"
        android:text="5" />

    <Button
        android:id="@+id/num_6"
        style="@style/Btn_style2"
        android:text="6" />

    <Button
        android:id="@+id/mul_btn"
        style="@style/Btn_style2"
        android:text="*" />

</LinearLayout>

<LinearLayout
    style="@style/Liner_style">

    <Button
        android:id="@+id/num_1"
        style="@style/Btn_style1"
        android:text="1" />

    <Button
        android:id="@+id/num_2"
        style="@style/Btn_style2"
        android:text="2" />

    <Button
        android:id="@+id/num_3"
        style="@style/Btn_style2"
        android:text="3" />

    <Button
        android:id="@+id/div_btn"
        style="@style/Btn_style2"
        android:text="/" />

</LinearLayout>

<LinearLayout
    style="@style/Liner_style">

    <Button
        android:id="@+id/num_0"
        style="@style/Btn_style1"
        android:text="0" />

    <Button
        android:id="@+id/point_btn"
        style="@style/Btn_style2"
        android:text="." />

    <Button
        android:id="@+id/deno_btn"
        style="@style/Btn_style2"
        android:text="1/X" />

    <Button
        android:id="@+id/equal_btn"
        style="@style/Btn_style2"
        android:text="=" />

</LinearLayout>

边框和几个style的代码
边框是要在drawable里编写

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white"></solid>
    <corners android:radius="5dp"></corners>
    <stroke android:width="1dp" android:color="@color/black"></stroke>

</shape>

style是要在values–>style里编写

    <style name="Liner_style" parent="TextAppearance.AppCompat">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">50dp</item>
        <item name="android:orientation">horizontal</item>
        <item name="android:paddingLeft">15dp</item>
    </style>

    <style name="Btn_style1" parent="TextAppearance.AppCompat">
        <item name="android:layout_width">80dp</item>
        <item name="android:layout_height">50dp</item>
        <item name="android:layout_marginLeft">10dp</item>
    </style>

    <style name="Btn_style2" parent="Btn_style1">
        <item name="android:layout_marginLeft">4dp</item>
    </style>

2,控制文件

package com.example.dell.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.text.Format;
import java.text.NumberFormat;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
   

    Button n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,add,sub,mul,div,equ,sign,point,deno,del,cln;
    TextView the_text=null;
    String showString="",myString="",first_num="",all_num="";
    String option="";
    Double result=0.0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        n0=findViewById(R.id.num_0);
        n1=findViewById
  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值