android 计算器编写(1)

学下Android 练手。

用的是eclipse adt。
先写布局文件。选择新建工程之后不断enter,建立工程之后,找到自己打算编写的布局文件,路径应该是res/layout/文件名.xml,打开后开始编写。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/num1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:gravity="center_vertical|center_horizontal"
        android:hint="@string/num1" />

    <EditText
        android:id="@+id/num2"
        android:layout_weight="0.2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:hint="@string/num2" />

    <TextView
        android:id="@+id/result1"
        android:layout_weight="0.2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/result" />

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:stretchColumns="0,1"
         android:layout_margin="2dip"
    >
	 <TableRow> 
        <Button
            android:id="@+id/btn1"            
           android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="Add"
            android:text="@string/add"
            android:textSize="100sp"
            android:layout_margin="1dip" />
    
        <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"          
            android:onClick="Sub"
            android:text="@string/sub"
            android:textSize="100sp" />        
     </TableRow>
    
    </TableLayout>
     <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:stretchColumns="0,1"
         android:layout_margin="2dip"
    >
	 <TableRow> 
	     <Button
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:layout_margin="1dip"                   
            android:onClick="Mul"
            android:text="@string/mul"
            android:textSize="100sp" />
        <Button
            android:id="@+id/btn4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"                    
            android:onClick="Div"
            android:text="@string/div"
            android:textSize="100sp" />
     </TableRow>
    </TableLayout>
    	
 </LinearLayout>


 
 
 
  

代码分段介绍:
1,线性布局

布局的宽度长度都是match_parent,这样就可以覆盖整个手机屏幕,各个widget布置方向是垂直vertical。各个widget的情况在
   android:orientation="vertical" > 与 </LinearLayout>之间编写
 
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
</LinearLayout>

2.数据输入和计算结果输出部分的widget编写
用了editText用于输入数据,Text View显示输出结果。
layout_weight 是权重的意思,控制显示比例 layout_gravity 为显示重心,hint如字面所示,为默认字符串,其实可以直接输入,我在/src/values/strings.xml中添加相关变量后在在widget中使用
    <EditText
        android:id="@+id/num1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:gravity="center_vertical|center_horizontal"
        android:hint="@string/num1" />

    <EditText
        android:id="@+id/num2"
        android:layout_weight="0.2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:hint="@string/num2" />

    <TextView
        android:id="@+id/result1"
        android:layout_weight="0.2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/result" />

3 用于计算的widget
做的比较简单,计算器只有加减乘除四个功能。因为最开始只写加减法,后来才有乘除,所以用了两个tablelayout布局,其实只写一个就可以了。每个layout中间有两个按钮button。其中android:onClick是一种简单的绑定事件监听器的方法,也是Google官方教程里面推荐的。

对于很多Android标签而言,它们都支持如onClickonLongClick等属性,这种属性的属性值就是一个形如xxx

(View source)的方法的方法名。 通过直接在界面布局文件中为指定标签绑定事件处理方法。

在该界面布局对应的Activity中定义一个void XXX(View source)方法,处理事件。比如这次,我在button上android:onClick=add,就在之后的activity中添加一个void add(View view)方法来处理加法运算。所以最后在activity中添加了void add(View view),void sub(View view),void mul(View view),void div(View view)4个方法用来进行加减乘除运算。


    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:stretchColumns="0,1"
         android:layout_margin="2dip"
    >
	 <TableRow> 
        <Button
            android:id="@+id/btn1"            
           android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="Add"
            android:text="@string/add"
            android:textSize="100sp"
            android:layout_margin="1dip" />
    
        <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"          
            android:onClick="Sub"
            android:text="@string/sub"
            android:textSize="100sp" />        
     </TableRow>
    
    </TableLayout>
     <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:stretchColumns="0,1"
         android:layout_margin="2dip"
    >
	 <TableRow> 
	     <Button
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:layout_margin="1dip"                   
            android:onClick="Mul"
            android:text="@string/mul"
            android:textSize="100sp" />
        <Button
            android:id="@+id/btn4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="1dip"                    
            android:onClick="Div"
            android:text="@string/div"
            android:textSize="100sp" />
     </TableRow>
    </TableLayout>


猜你喜欢

转载自blog.csdn.net/dok12/article/details/80782432