Android开发之事件+实例
Android开发之事件+实例
“机器人”的管理员——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);
- }
- }
评论暂时关闭