您现在的位置是:首页 > 正文

Android开发之事件+实例

2024-02-23 13:35:04阅读 38
 

“机器人”的管理员——Activity

Activity 是Android 最基本的组件之一,它就像是一个管理员。我们需要在屏幕上显示什么(通常情况下,一个Activity 占据一个屏幕),用户将要在这个屏幕上做什么,怎样来处理用户做出的不同操作都需要由该Activity 来管理和调度。

下面列出Activity 经常用到的事件:

onKeyDown(int keyCode, KeyEvent event) 按键按下事件

onTouchEvent(MotionEvent event) 点击屏幕事件

onKeyUp(int keyCode, KeyEvent event) 按键松开事件

onTrackballEvent(MotionEvent event) 轨迹球事件

我们来做一个示例,了解一下Android 的管理员Activity 如何处理用户事件。

实现了按键切换,点击事件切换,触摸切换

效果图:

package cn.class3g.activity;

 

import android.app.Activity;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.MotionEvent;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

 

public class ButtonActivity extends Activity {

/** Called when the activity is first created. */

Button bu1, bu2;

 

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    b1();

}

 

public void b1() {

    setContentView(R.layout.main);

    bu1 = (Button) this.findViewById(R.id.b1Id);

 

    bu1.setOnClickListener(new OnClickListener() {

 

       @Override

       public void onClick(View v) {

         // TODO Auto-generated method stub

         b2();

       }

    });

}

 

public void b2() {

    setContentView(R.layout.main1);

    bu2 = (Button) this.findViewById(R.id.b2Id);

    bu2.setOnClickListener(new OnClickListener() {

 

       @Override

       public void onClick(View v) {

         // TODO Auto-generated method stub

         b1();

       }

    });

}

 

boolean flag = true;

 

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

    // TODO Auto-generated method stub

    flag = !flag;

 

    return super.onKeyDown(keyCode, event);

}

 

@Override

public boolean onKeyUp(int keyCode, KeyEvent event) {

    // TODO Auto-generated method stub

    if (flag) {

       b1();

    } else {

       b2();

    }

 

    return super.onKeyUp(keyCode, event);

}

 

@Override

public boolean onTouchEvent(MotionEvent event) {

    // TODO Auto-generated method stub

    flag = !flag;

    if (flag) {

       b2();

    } else {

       b1();

    }

    return super.onTouchEvent(event);

}

}


 

 

 

网站文章