- 浏览: 763279 次
- 性别:
- 来自: 成都
-
文章分类
- 全部博客 (139)
- 玩转Android (48)
- Android创意美工 (0)
- Android杂谈 (23)
- Android实例练习 (2)
- Android ROM研究 (5)
- Android NDK开发指南 (5)
- Android NDK (0)
- Android Tips (3)
- Windows Phone 7 (5)
- iPhone (0)
- HTML5学习室 (0)
- JAVA (9)
- SSH+ibatis (8)
- PHP (0)
- IT生活 (1)
- linux (2)
- C (4)
- C++ (1)
- web 前端 (1)
- 云计算 (0)
- 设计模式 (0)
- C# (2)
- 其他 (1)
- 数据结构 (5)
- Web开发 (10)
- 数据库 (3)
- 搜索引擎 (0)
- Go语言 (0)
最新评论
-
wi100sh:
多谢分享~
玩转Android---UI篇---ImageButton(带图标的按钮) -
zhanghaichang:
好文章的。
高性能web开发技术(一) -
yingang:
引用classes.dex.dex2jar.jar 拖入 j ...
Andorid杂谈---Apk文件的反编译 -
扶摇诺:
讲解的简明易懂,多谢啦!
玩转Android---UI篇---LinearLayout(线性布局) -
a13429921973:
更为详细的图文介绍,可参考这个http://blog.csdn ...
Android ROM研究---CyanogenMod源代码下载及编译
事件就是用户与UI界面的交互时所触发的操作。比如点击某一个按钮,会触发一个事件等
1、最长用的按钮事件:OnClickListener
mybutton = (Button)findViewById(R.id.mybutton);
mybutton.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
ShowMessage("点击了Button按钮");
}
});
2、我们还可以自定义KeyEvent,比如
public boolean onKeyDown(int keyCode, KeyEvent event)
{
/**
* 这里构建KeyEvent对象,功能为返回键的功能
* 即我们按任意键都是返回键功能
*/
KeyEvent key = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
return super.onKeyDown(keyCode, event);
}
3、手机按键的事件处理
Boolean onKeyDown(int keyCode, KeyEvent event):相应按键按下
Boolean onKeyUp(int keyCode, KeyEvent event):相应按键释放
Boolean onKeyMultiple():相应按键重复点击
Boolean onTouchEvent(MotionEvent event):相应触屏事件
package org.hualang.eventtest01; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.Toast; public class EventTest01 extends Activity { /** * 注意,要重写onKeyDown,onKeyUp,onTouchEvent方法 */ private Button mybutton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mybutton = (Button)findViewById(R.id.mybutton); mybutton.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub ShowMessage("点击了Button按钮"); } }); } /**按键按下触发的事件*/ public boolean onKeyDown(int keyCode, KeyEvent event) { switch(keyCode) { case KeyEvent.KEYCODE_DPAD_CENTER: ShowMessage("按下:中键");break; case KeyEvent.KEYCODE_DPAD_UP: ShowMessage("按下:上方向键");break; case KeyEvent.KEYCODE_DPAD_DOWN: ShowMessage("按下:下方向键");break; case KeyEvent.KEYCODE_DPAD_LEFT: ShowMessage("按下:左方向键");break; case KeyEvent.KEYCODE_DPAD_RIGHT: ShowMessage("按下:右方向键");break; } return super.onKeyDown(keyCode, event); } /**按键弹起所触发的事件*/ public boolean onKeyUp(int keyCode, KeyEvent event) { switch(keyCode) { case KeyEvent.KEYCODE_DPAD_CENTER: ShowMessage("弹起:中键"); break; case KeyEvent.KEYCODE_DPAD_DOWN: ShowMessage("弹起:下方向键"); break; case KeyEvent.KEYCODE_DPAD_UP: ShowMessage("弹起:上方向键"); break; case KeyEvent.KEYCODE_DPAD_LEFT: ShowMessage("弹起:左方向键"); break; case KeyEvent.KEYCODE_DPAD_RIGHT: ShowMessage("弹起:右方向键"); break; } return super.onKeyUp(keyCode, event); } /**按键重复点击事件*/ public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) { return onKeyMultiple(keyCode, repeatCount, event); } /**触屏事件*/ public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); if(action == MotionEvent.ACTION_CANCEL||action == MotionEvent.ACTION_DOWN||action == MotionEvent.ACTION_MOVE) { return false; } //得到触点的位置 String x = String.valueOf(event.getX()); String y = String.valueOf(event.getX()); ShowMessage("触点坐标:(" + x + "," + y +")"); return super.onTouchEvent(event); } /**显示触发事件的信息*/ public void ShowMessage(String str) { Toast toast = Toast.makeText(this, str, Toast.LENGTH_SHORT); toast.show(); } }
运行结果如下:
发表评论
-
玩转Android---2D图形及动画---动画分析(Tween详细分析)
2011-09-26 21:59 2647在Android系统中提供了两种动画实现方式:一种是Tween ... -
玩转Android---2D图形及动画---图片处理
2011-09-26 13:08 1792在Android中很多地方都使 ... -
玩转Android--UI篇--PreferenceActivity(开启wifi和音乐等)
2011-09-01 11:57 4870本测试主要是为了测试PreferenceActivity的使用 ... -
玩转Android---2D图形及动画---Gif动画
2011-08-05 09:36 2232由于Gif本身就是动画,所以如果能够直接使用的话,会省去很多的 ... -
玩转Android---2D图形及动画---Frame动画
2011-08-01 20:53 2096Frame动画其实就是逐帧动画,用法也比Tween动画简单,只 ... -
玩转Android---2D图形及动画---Tween动画
2011-07-31 22:53 2192Android平台提供了两类动画,分别是Tween动画,和Fr ... -
玩转Android---2D图形及动画---View类使用
2011-07-30 23:39 2807由于游戏界面是由大量美工资源图片构成的,所以,在设计游戏界面的 ... -
玩转Android--组件篇---Handler的使用
2011-07-30 14:01 5389public class Handler ... -
玩转Android---UI篇---ZoomControls放大缩小图片
2011-07-27 13:03 7267ZoomControls控件是一个可以缩放但控件,效果如下图 ... -
玩转Android---组件篇---TextSwitcher
2011-07-25 09:21 2205还记得有一次淘宝的电话面试的时候问了我一个关于Android的 ... -
玩转Android---组件篇---AnalogClock,DigitalClock
2011-07-10 19:28 2954首先要说的是,这两个控件并不是经常的使用,但是如果程序需要的话 ... -
玩转Android---组件篇---SeekBar,RatingBar,Chronometer
2011-07-10 19:12 2883今天补充三个组件的使用,避免日后忘记。它们分别是 SeekB ... -
玩转Android---组件篇---Handler的使用(2)
2011-05-28 17:15 2834对于Handler来说,它和与它调用它的Activity是出于 ... -
玩转Android---组件篇---Handler的使用(1)
2011-05-28 15:37 2188在android中,有很多功能是不能放在onCreate或者o ... -
玩转Android---事件监听篇---第2篇
2011-05-27 10:30 5275事件监听篇---第二篇 下面是各种常用控件的事件监听的 ... -
玩转Android---组件篇---数据存储之SQLite
2011-04-17 17:05 8499Android中通过SQLite数据库引擎来实现结构化数据存储 ... -
玩转Android---组件篇---数据存储之File
2011-04-17 11:07 2059我们可以将一些数据直接以文件的形式保存在设备中。例如,一些文本 ... -
玩转Andorid---组件篇---数据存储之preference
2011-04-14 21:58 2314程序是数据的输入、处 ... -
玩转Android---组件篇---Broadcast Receiver(广播接收器)
2011-04-14 19:24 29370Braodcast Receiver顾名思义 ... -
玩转Andorid---组件篇---Service(服务)之RPC远程进程调用
2011-04-08 21:17 3477在Andorid平台中,各个组件运行在自己的进程中,他们 ...
评论
表示没看过。
有人看过,有人没有看过,我们学习的目的仅仅是为了学习,有些好的例子为什么不分享呢,更重要的是我认为我写的还是自己的博客,更多的时候是为了以后可能忘记而做个标记...