ontouch-控件添加ontouch监听事件
1,代码public class CalculatorViewPager extends ViewPager {}中
package com.android.calculator2; import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent; public class CalculatorViewPager extends ViewPager {
private boolean enabled;
public CalculatorViewPager(Context context) {
super(context);
this.enabled = false;
} public CalculatorViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = false;
} public boolean shouldDelayChildPressedState() {
return false;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
android.util.Log.e("zhangshuli", "pantouch");
return false;
} @Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
android.util.Log.e("zhangshuli", "paninter");
return false;
} public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
}
打印结果
- ::49.274 E/zhangshuli( ): paninter
- ::49.292 E/zhangshuli( ): paninter
- ::49.308 E/zhangshuli( ): paninter
- ::49.325 E/zhangshuli( ): paninter
- ::49.342 E/zhangshuli( ): paninter
- ::49.360 E/zhangshuli( ): paninter
- ::49.376 E/zhangshuli( ): paninter
- ::49.393 E/zhangshuli( ): paninter
- ::49.411 E/zhangshuli( ): paninter
- ::49.428 E/zhangshuli( ): paninter
- ::49.445 E/zhangshuli( ): paninter
- ::49.464 E/zhangshuli( ): paninter
- ::49.469 E/zhangshuli( ): paninter
touch 没有执行,点击按钮有效果
1111
@Override
public boolean onTouchEvent(MotionEvent event) {
android.util.Log.e("zhangshuli", "pannel");
return false;
} @Override
public boolean onInterceptTouchEvent(MotionEvent event) {
android.util.Log.e("zhangshuli", "inter");
return true;
}
结果
- ::56.131 E/zhangshuli( ): inter
- ::56.132 E/zhangshuli( ): pannel
- ::57.369 E/zhangshuli( ): inter
- ::57.369 E/zhangshuli( ): pannel
- ::58.254 E/zhangshuli( ): inter
- ::58.255 E/zhangshuli( ): pannel
- ::59.125 E/zhangshuli( ): inter
- ::59.125 E/zhangshuli( ): pannel
都执行,点击没有效果
2.代码
public boolean onTouchEvent(MotionEvent event) {
android.util.Log.e("zhangshuli", "pannel");
return true;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
android.util.Log.e("zhangshuli", "inter");
return false;
}
打印如下
- ::52.885 E/zhangshuli( ): inter
- ::52.902 E/zhangshuli( ): inter
- ::52.919 E/zhangshuli( ): inter
- ::52.936 E/zhangshuli( ): inter
- ::52.955 E/zhangshuli( ): inter
- ::52.971 E/zhangshuli( ): inter
- ::52.988 E/zhangshuli( ): inter
- ::53.005 E/zhangshuli( ): inter
- ::53.007 E/zhangshuli( ): inter
点击有效果
3.代码
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
android.util.Log.e("zhangshuli", "pannel");
return true;
} @Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
android.util.Log.e("zhangshuli", "inter");
return true;
}
打印
- ::59.198 E/zhangshuli( ): inter
- ::59.198 E/zhangshuli( ): pannel
- ::59.225 E/zhangshuli( ): pannel
- ::59.241 E/zhangshuli( ): pannel
- ::59.258 E/zhangshuli( ): pannel
- ::59.275 E/zhangshuli( ): pannel
- ::59.292 E/zhangshuli( ): pannel
- ::59.309 E/zhangshuli( ): pannel
- ::59.326 E/zhangshuli( ): pannel
- ::59.343 E/zhangshuli( ): pannel
- ::59.362 E/zhangshuli( ): pannel
- ::59.377 E/zhangshuli( ): pannel
- ::59.395 E/zhangshuli( ): pannel
- ::59.412 E/zhangshuli( ): pannel
- ::59.437 E/zhangshuli( ): pannel
- ::59.447 E/zhangshuli( ): pannel
- ::59.463 E/zhangshuli( ): pannel
- ::59.480 E/zhangshuli( ): pannel
- ::59.497 E/zhangshuli( ): pannel
- ::59.514 E/zhangshuli( ): pannel
- ::59.532 E/zhangshuli( ): pannel
- ::59.537 E/zhangshuli( ): pannel
- ::01.267 E/zhangshuli( ): inter
点击按钮效果
text.setontouchlisten
那么只有在text这个控件内点击才有效果
ontouch-控件添加ontouch监听事件的更多相关文章
- js 获取当前焦点所在的元素、给元素和input控件添加键盘监听事件、添加页面级的键盘监听事件
页面级的键盘监听事件 document.onkeydown = function (event) { var e = event || window.event || arguments.callee ...
- JPanel添加键盘监听事件
因为在自己的游戏需求中谢了要用键盘控制飞机的移动,所以用到键盘监听事件,但是使用了JPanel之后添加了键盘监听事件,按相应的方向键飞机并没有反应.但是如果是为JFrame的内容面板加则会有反应. 为 ...
- MapControl图层删除或添加触发监听事件
监听MapControl中对于图层添加和删除的事件 IActiveViewEvents_Event m_MapActiveViewEvents = m_mapControl.Map as IActiv ...
- Repeater控件添加onmouseover和onmouseout事件
网友有问题,在Repeater控件中,需要添加onmouseover和onmouseout事件功能.Insus.NET有叫他参考<onmouseover和onmouseout在Repeater控 ...
- EventTrigger动态添加监听事件
在 Unity3D 中,通过拖拽的方式在 EventTrigger 组件中添加监听事件就不多说了,很简单.这里主要说的是通过代码动态往 EventTrigger 组件中添加监听事件,有个很坑的地方,就 ...
- PopupMenu-使用实例跟监听事件
今天需要给一个控件添加弹出菜单功能.就顺便学习了下popupMenu的使用,记录下来. 它的使用其实也非常的简单,看如下代码 popupMenu = new PopupMenu(MainActivit ...
- softInputMode- 软件盘监听事件
软件盘的监听事件,如下 private final OnKeyListener mSubjectKeyListener = new OnKeyListener() { @Override public ...
- 浅谈postMessage多页面监听事件
最近做了一个Echarts和Highcharts多图多页面连动的效果,就用到postMessage 如下介绍: 最开始在最外围的页面也就是所有页面的父级页面添加postMessage监听事件以便监听下 ...
- zookeeper 监听事件 PathChildrenCacheListener
zookeeper 监听事件 PathChildrenCacheListener PathChildrenCacheListener一次父节点注册,监听每次子节点操作,不监听自身和查询. 1.测试类: ...
- zookeeper 监听事件 NodeCacheListener
zookeeper 监听事件 NodeCacheListener NodeCacheListener一次注册,每次监听,但是监听不到操作类型,不知道是增加?删除?还是修改? 1.测试类: packag ...
随机推荐
- BZOJ 3224 平衡树模板题
Treap: //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; int n, ...
- OpenSUSE42.3 leap 开启ssh登陆
一.产看ssh是否安装 OpenSUSE:~ # rpm -qa | grep ssh libssh2-1-1.4.3-18.3.x86_64openssh-askpass-1.2.4.1-12.1. ...
- 00076_BigDecimal
1.在程序中执行下列代码,会出现什么问题? System.out.println(0.09 + 0.01); System.out.println(1.0 - 0.32); System.out.pr ...
- Unity容器实现自动注册
如何创建Unity容器? 首先NuGet搜索Unity, 该示例中使用的版本为4.0.1 新建控制台程序 示例中使用常规操作, 创建一个IPay接口, 分别有两个实现类: ApplePay.Huawe ...
- 洛谷——P1043 数字游戏
https://www.luogu.org/problem/show?pid=1043 题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要 ...
- jquery19 ajax()
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- vim 基础学习之重复
重复命令 .: 这个命令可以重复之前的操作.例如你执行了dd操作,然后. 就会删除当前行还有从进入插入模式到退出插入模式,之间的修改也算是一次操作.比如,你执行了i aaa <Esc>然后 ...
- Impala的优缺点
不多说,上干货! 优点: 支持SQL查询,快速查询大数据. 可以对已有数据进行查询,减少数据的加载,转换. 多种存储格式可以选择(Parquet, Text, Avro, RCFile, Sequee ...
- ocdefirst安装更新数据库
数据迁移(Migrations) 启用数据迁移在控制台中输入如下命令:Enable-Migrations 这时会在项目目录中增加一个Migrations文件夹,里面放置了两个文件:EF会通过C#代码的 ...
- Gym 100952 B. New Job
B. New Job time limit per test 1 second memory limit per test 64 megabytes input standard input outp ...