作者:璋-华_135 | 来源:互联网 | 2023-09-03 05:45
这个例子是在一个简单的整型计算器应用了多点触控:一点触控是进行加法运算,两点触控是减法运算,三点触控是乘法运算,四点触控是除法运算。还添加了选项菜单,菜单上的内容有:退出,帮助,清空。
效果图:
650) this. height=430>
具体的代码:
MainActivity.java
- package com.lingdududu.test;
-
- import Android.app.Activity;
- import android.app.AlertDialog;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.MotionEvent;
- import android.widget.EditText;
-
- import android.widget.Toast;
-
-
-
-
-
-
-
-
- public class MainActivity extends Activity {
-
- private static final String Tag="System.out";
-
- private static final int ITEM1 = Menu.FIRST;
- private static final int ITEM2 = Menu.FIRST+1;
- private static final int ITEM3 = Menu.FIRST+2;
- private static EditText firstEtx,secondEtx,resultEtx;
-
- int value1,value2;
- String str;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
-
- firstEtx=(EditText)findViewById(R.id.text1);
- secOndEtx=(EditText)findViewById(R.id.text2);
- resultEtx=(EditText)findViewById(R.id.text3);
-
- resultEtx.setFocusable(false);
- }
-
-
- public boolean onCreateOptionsMenu(Menu menu) {
-
-
-
- menu.add(0, ITEM1, 0, "退出").setIcon(android.R.drawable.ic_lock_power_off);
- menu.add(0, ITEM2, 0, "帮助").setIcon(android.R.drawable.ic_menu_help);
- menu.add(0, ITEM3, 0, "清空").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
- return true;
- }
-
-
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
-
- case ITEM1:
-
- finish();
- break;
-
- case ITEM2:
-
- AlertDialog.Builder dialog = new AlertDialog.Builder(this);
- dialog.setTitle("操作说明信息")
- .setMessage(
- " 用户在前两个EditText分别输入被除数,除数。一点触控是进行加法运算,两点触控是减法运算,三点触控是乘法运算,四点触控是除法运算。"
- +"触摸屏幕后,在第三个EditText显示计算的结果,当离开屏幕的时候,显示结果的EditText被清空。"
- +"点击Menu出现选项菜单,选择清空能清空EditText里面的数据,选择退出能退出程序,回到主界面")
- .show();
- break;
-
- case ITEM3:
-
- firstEtx.setText("");
- secondEtx.setText("");
- resultEtx.setText("");
- break;
- }
- return true;
- }
-
- public boolean onTouchEvent(MotionEvent event) {
-
-
- value1=Integer.parseInt(firstEtx.getText().toString());
- value2=Integer.parseInt(secondEtx.getText().toString());
-
-
- int num=event.getPointerCount();
- try {
- if(event.getAction()==MotionEvent.ACTION_UP){
- resultEtx.setText("");
- }
-
- else{
-
- if (num==1) {
- str=String.valueOf(value1+value2);
-
- resultEtx.setText(str);
- }
- else if (num==2) {
- str=String.valueOf(value1-value2);
-
- resultEtx.setText(str);
- }
- else if (num==3) {
- str=String.valueOf(value1*value2);
-
- resultEtx.setText(str);
- }
- else if (num==4) {
- str=String.valueOf(value1/value2);
-
- resultEtx.setText(str);
- }
- else {
-
- }
- }
- } catch (Exception e) {
-
- Toast.makeText(MainActivity.this, "请检查你输入的除数是否正确",Toast.LENGTH_LONG).show();
- }
- return super.onTouchEvent(event);
- }
- }
main.xml
- xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="请输入被除数"
- />
- <EditText
- android:id="@+id/text1"
- android:inputType="number"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="请输入除数"
- />
- <EditText
- android:id="@+id/text2"
- android:inputType="number"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="计算的结果为"
- />
- <EditText
- android:id="@+id/text3"
- android:inputType="number"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/button"
- android:text="进行除法运算"
- /> -->
- LinearLayout>