zoukankan      html  css  js  c++  java
  • 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类包含用于处理消息的方法。
  • 相关阅读:
    台州 OJ 3847 Mowing the Lawn 线性DP 单调队列
    洛谷 OJ P1417 烹调方案 01背包
    快速幂取模
    台州 OJ 2649 More is better 并查集
    UVa 1640
    UVa 11971
    UVa 10900
    UVa 11346
    UVa 10288
    UVa 1639
  • 原文地址:https://www.cnblogs.com/zhangyanxiang/p/4827708.html
Copyright © 2011-2022 走看看