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