当前位置:操作系统 > 安卓/Android >>

Android开发应用实例:简单计算器+多点触控

这个例子是在一个简单的整型计算器应用了多点触控:一点触控是进行加法运算,两点触控是减法运算,三点触控是乘法运算,四点触控是除法运算。还添加了选项菜单,菜单上的内容有:退出,帮助,清空。
效果图:

\


 
 具体的代码:
MainActivity.java
1. package com.lingdududu.test; 
2. 
3. import android.app.Activity; 
4. import android.app.AlertDialog; 
5. import android.os.Bundle; 
6. import android.view.Menu; 
7. import android.view.MenuItem; 
8. import android.view.MotionEvent; 
9. import android.widget.EditText; 
10. 
11. import android.widget.Toast; 
12. /** 
13.  *  
14.  * @author lingdududu 
15.  * 这个程序主要是解决简单的整形的四则运算,用户在前两个EditText分别输入被除数,除数, 
16.  * 使用多点触控,一点触控是进行加法运算,两点触控是减法运算, 
17.  * 三点触控是乘法运算,四点触控是除法运算 
18.  * 触控之后在第三个EditText显示结果 
19.  */
20. public class MainActivity extends Activity { 
21.     //定义日志标签 
22.     private static final String Tag="System.out"; 
23.     //菜单项ID常量 
24.     private static final int ITEM1 = Menu.FIRST; 
25.     private static final int ITEM2 = Menu.FIRST+1; 
26.     private static final int ITEM3 = Menu.FIRST+2; 
27.     private static EditText firstEtx,secondEtx,resultEtx; 
28.     //定义用户输入的两个数 
29.     int value1,value2; 
30.     String str; 
31.     @Override
32.     public void onCreate(Bundle savedInstanceState) { 
33.         super.onCreate(savedInstanceState); 
34.         setContentView(R.layout.main); 
35.          
36.         //通过findViewById方法获得EditText实例 
37.         firstEtx=(EditText)findViewById(R.id.text1); 
38.         secondEtx=(EditText)findViewById(R.id.text2); 
39.         resultEtx=(EditText)findViewById(R.id.text3); 
40.         //计算结果输出的EditText不可编辑 
41.         resultEtx.setFocusable(false); 
42.     } 
43.      
44.     //选项菜单Option Menu  
45.     public boolean onCreateOptionsMenu(Menu menu) { 
46.         /*添加菜单项      
47.          * android.R使用的是系统自带的图标 
48.          */
49.         menu.add(0, ITEM1, 0, "退出").setIcon(android.R.drawable.ic_lock_power_off); 
50.         menu.add(0, ITEM2, 0, "帮助").setIcon(android.R.drawable.ic_menu_help); 
51.         menu.add(0, ITEM3, 0, "清空").setIcon(android.R.drawable.ic_menu_close_clear_cancel); 
52.         return true; 
53.     } 
54.      
55.   //覆盖onOptionsItemSelected(MenuItem item)来响应菜单选项被单击事件 
56.     public boolean onOptionsItemSelected(MenuItem item) { 
57.         switch (item.getItemId()) { 
58.         //菜单项1被选择 
59.         case ITEM1: 
60.             //返回主界面 
61.             finish();  
62.             break; 
63.         //菜单项2被选择 
64.         case ITEM2: 
65.            //在对话框AlertDialog显示帮助信息 
66.            AlertDialog.Builder dialog = new AlertDialog.Builder(this); 
67.            dialog.setTitle("操作说明信息") 
68.              .setMessage( 
69.                "        用户在前两个EditText分别输入被除数,除数。一点触控是进行加法运算,两点触控是减法运算,三点触控是乘法运算,四点触控是除法运算。"
70.                +"触摸屏幕后,在第三个EditText显示计算的结果,当离开屏幕的时候,显示结果的EditText被清空。"  
71.                +"点击Menu出现选项菜单,选择清空能清空EditText里面的数据,选择退出能退出程序,回到主界面") 
72.              .show(); 
73.             break; 
74.         //菜单项3被选择 
75.         case ITEM3: 
76.             //清空EditText的数据 
77.             firstEtx.setText(""); 
78.             secondEtx.setText(""); 
79.             resultEtx.setText(""); 
80.             break; 
81.         } 
82.         return true; 
83.     } 
84.      
85.     public boolean onTouchEvent(MotionEvent event) {         
86.         // TODO Auto-generated method stub 
87.         //强制类型转换,将String类型转化成int类型 
88. &nb

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,