android的事件处理

  

  友好的人性的界面不只是吸引眼球的设计良好的呈现界面,也需要流畅的友好交互,事件处理是交互的重要内容。


 

×监听事件

  包含三个内容:EventSource,事件源组件,产生事件的地方;Event,事件,产生事件对象,传递事件信息;EventLisener,事件监听器,监听事件源的可能的事件,里面有事件处理器用于处理事件。事件监听器也是一种“类”,必须实现(implements)一个×××Lisener接口。实现监听的过程主要任务是实现事件监听器,然后将事件监听器注册给事件源就可以了。

  1、内部类监听

    

public ***anctivity extends Activity{
//bn为一个控件实例,绑定事件监听器
bn.set***Listner(new ***Listner());
class ***Listener inmplements ***Listener{ //实现事件处理器,例如: @Override public void onClick(){} } }

  2、匿名内部类监听

    

//selfView是一个实例,匿名内部类监听
selfView.×××Listener(new ×××Listener() {事件处理器} );

  3、此外还有外部类、直接绑定到Activity和控件进行监听

键盘事件(相应的是手机键盘,可以响应电脑键盘吗?

 1  selfView.setOnKeyListener(new View.OnKeyListener() {
 2             
 3             @Override
 4             public boolean onKey(View v, int keyCode, KeyEvent event) {
 5                 //getKeyCode()获取按下的键
 6                 switch (event.getKeyCode()){
 7                     case KeyEvent.KEYCODE_W:
 8                         ×××
 9                         break;               
10                 }
11                 return true;
12             }
13         });                

 

//去掉窗口标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
//全屏显示,下面是什么语法,getWindow().setFlags()
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//获取窗口管理器
WindowManager windowManager=getWindowManager();
Display display= windowManager.getDefaultDisplay();
DisplayMetrics metrics=new DisplayMetrics();
//获取屏幕宽和高
display.getMetrics(metrics);

selfView.currentX=metrics.widthPixels/2;

 ×回调机制处理事件

  组件自己特定方法处理事件,这是通过重写类的时间处理方法来实现的,此类方法通常为Boolean类型的,当返回faulse时,事件会向外传播,激发组件所在Activity的回调事件。android最先触发的是事件监听器,然后是组件的回调方法。

×Configuration

//获取系统的configuration对象,可以获取系统属性,如,cfg.orientation
Configuration cfg=getResources().getConfiguration();
//监听系统设置的更改
onConfigurationChanged(Configuration newConfig)

×Handler消息传递机制
  
  UI线程,主线程,只允许UI线程修改UI组件。使用Handler来传递关于UI的线程相关的消息。Handler类包含用于处理消息的方法。
posted @ 2015-09-25 13:35  农耕_时代  阅读(140)  评论(0)    收藏  举报