如何用multiTouch在Activity上调整字体
来源:互联网 发布:.lol域名注册 编辑:程序博客网 时间:2024/04/28 14:35
这两天在做一个feature: 在一个Activity中通过两个手指的multi touch来调整字体的大小。activity中主要包含一个ListView,Button和EditText。
1, 要写一个ScaleDetector, 具体可以参照ScaleGestureDetector.java去写,不能直接使用此Detector的原因是因为它把所有的MotionEvent都拦截了,这样,Acitivity中的view就接收不到click等event了。
2, 在Activity中dispatchTouchEvent函数中去拦截,而不是在onTouchEvent中,因为onTouchEvent是当所有view没有处理此TouchEvent时才能到达。如果Activity中所有的view都是非Clickable的,也是可以的, 如ImageView 和TextView。
@Override public boolean dispatchTouchEvent(MotionEvent event){ Log.e("dispatchTouchEvent", "event = " + event.getActionMasked()); boolean ret = false; if(mScaleDetector != null){ ret = mScaleDetector.onTouchEvent(event); } return super.dispatchTouchEvent(event); }
3, 因为ScaleDetector拦截不了ACTION_DOWN,所以当我们在gesture时,如果down时手指落在了button上或者ListView的Item上,都会有onPressed的效果产生,甚至会有onContextMenu产生。所以当我们检测到要开始gesture时,需要取消先前的ACTION。
//send ACTION_CANCEL to cancel previous actions before ACTION_POINTER_DOWN MotionEvent cancel = MotionEvent.obtain(0, 0, MotionEvent.ACTION_CANCEL, 0, 0, 0); getWindow().superDispatchTouchEvent(cancel);
- 如何用multiTouch在Activity上调整字体
- 在英文操作系统上如何用中文?
- 在英文操作系统上如何用中文?
- 如何用js实现在网页上显示时间
- 在CentOS6.3上如何用yum安装nginx
- 如何用SVN在sourceforge上下载源代码。
- 如何用html5实现在网页上显示本地摄像头
- 如何用sublime在开发机上进行开发
- vs2010上如何用OCCI
- 如何用css设置网页字体
- 如何用CSS控制超链接字体样式
- 如何用css设置网页字体
- 修改控制台的字体:跟编辑器字体在项目栏的一列上,如图
- 在eclipse中调整字体
- 如何用PQ魔法师调整硬盘分区大小(详细图文)
- 如何用Sysctl 调整Linux操作系统的性能
- 教你如何用iTunes在iPhone上创建新相册
- 如何用Windows Live Writer在CSDN博客上写日志
- 基于Socket的多线程和异步非阻塞模式编程
- 第六篇 学生的幸福生活
- 近来媒体和网络的一些关于我的一些报道,请多多指教
- 语言结构
- osql 实用工具_用法
- 如何用multiTouch在Activity上调整字体
- 读取jar包中的properties文件
- 英语四级长句经典分析
- 第五篇 抠门的米老师
- 第四篇 米老师的教育总是源于生活
- java删除hdfs文件的例子
- 第三篇 揭开米老师的另一面
- 编程新手导论
- 如何对待这么多科目的自学考试?如何面对这么多科目的学习?