自定义初学3——实现触屏事件

简介: 在上一篇中,我们注意到自定义View中有个onTouchEvent()方法,看名字就知道是干什么的了。通常我们处理触屏事件会用TouchListener和Event Handler完成。
在上一篇中,我们注意到自定义View中有个onTouchEvent()方法,看名字就知道是干什么的了。通常我们处理触屏事件会用TouchListener和Event Handler完成。前者需要扩展OnTouchListener并实现onTouch方法,后者需要扩展控件并实现onTouchEvent方法
例如:
button.setOnTouchListener(new VIew.OnTouchListener() {
   
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    if (v instanceof Button) {
     //处理button的touch事件
    } else {
     //处理别的
    }
    return false;
   }
  });

而使用Event Handler则需要扩展并覆盖onTouchEvent方法,举个例子:
class CustomView extends View {
     
     public CustomView(Context context) {
   super(context);
  }

  @Override
     public boolean onTouchEvent(MotionEvent event) {
      int action = event.getAction();
     
      switch (action) {
       case MotionEvent.ACTION_DOWN:
       //处理action_down事件
        break;
       case MotionEvent.ACTION_MOVE:
       //处理action_move事件
        break;
    case MotionEvent.ACTION_CANCEL:
     //处理action_cancel事件
     break;
 
    default:
     
     break;
   }
      return super.onTouchEvent(event);
     }
    }


相关文章
|
5月前
|
存储
uniApp监听左右滑动事件
uniApp监听左右滑动事件
110 0
|
C# Windows 容器
C#或Winform中的消息通知之系统托盘的气泡提示窗口(系统toast通知)、ToolTip控件和ToolTipText属性
NotifyIcon控件表示系统右下角任务栏上的托盘图标,其ShowBalloonTip方法用于显示气球状提示框(Win10只有为本地Toast通知),ToolTip\oolTipText可以...
1486 0
C#或Winform中的消息通知之系统托盘的气泡提示窗口(系统toast通知)、ToolTip控件和ToolTipText属性
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【028】
「HTML+CSS」--自定义加载动画【028】
213 0
「HTML+CSS」--自定义加载动画【028】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【022】
「HTML+CSS」--自定义加载动画【022】
72 0
「HTML+CSS」--自定义加载动画【022】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【023】
「HTML+CSS」--自定义加载动画【023】
57 0
「HTML+CSS」--自定义加载动画【023】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【024】
「HTML+CSS」--自定义加载动画【024】
36 0
「HTML+CSS」--自定义加载动画【024】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【025】
「HTML+CSS」--自定义加载动画【025】
55 0
「HTML+CSS」--自定义加载动画【025】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【027】
「HTML+CSS」--自定义加载动画【027】
107 0
「HTML+CSS」--自定义加载动画【027】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【021】
「HTML+CSS」--自定义加载动画【021】
123 0
「HTML+CSS」--自定义加载动画【021】
|
前端开发 Linux 程序员
「HTML+CSS」--自定义加载动画【008】
「HTML+CSS」--自定义加载动画【008】
100 0
「HTML+CSS」--自定义加载动画【008】