视图响应触摸事件的缩放效果
来源:互联网 发布:c51单片机跑马灯程序 编辑:程序博客网 时间:2024/05/22 13:42
对于可点击的控件,在按下后,view缩小,在抬起后恢复到原有大小。并且判断,如果拇指已经划出控件,则不响应事件,并且控件也会恢复到原有大小。
下面代码里面的布尔变量choose_execute是一个全局的变量,属于方法外的变量。
另外需要注意的是,在布局代码中最好用一个viewgroup将需要有此缩放效果的view包裹起来,并且此viewgroup为固定大小,不然整个布局会随着缩放动画而变化。
在ontouch事件里面添加如下代码。
switch (event.getAction()){ case MotionEvent.ACTION_DOWN: choose_execute=true;//将标志位置为true,表示按下的点位于视图布局内 ViewGroup.LayoutParams params= v.getLayoutParams();//得到控件的布局参数 params.width+=params.width*0.1f;//将控件的宽高放大至原来的1.1倍 params.height+=params.height*0.1f; v.setLayoutParams(params); break; case MotionEvent.ACTION_MOVE: float x=event.getX(); float y=event.getY(); if(choose_execute&&!SimpleUtil.checkOutOfView(x,y,v)){//判断按下的点是否超出控件布局外面 choose_execute=false;//表示已经超出控件范围,所以为了不执行后序的事件,将标志置为false ViewGroup.LayoutParams params1= v.getLayoutParams();//将控件大小恢复为原来大小 params1.width-=params1.width*0.091f; params1.height-=params1.height*0.091f; v.setLayoutParams(params1); } break; case MotionEvent.ACTION_UP: if(choose_execute){//判断还是否应该响应原来的事件 ViewGroup.LayoutParams params1= v.getLayoutParams();//将控件大小恢复为原来大小 params1.width-=params1.width*0.091f; params1.height-=params1.height*0.091f; v.setLayoutParams(params1); // TODO: 2017/5/3 code the click event } break; } return true;//返回true表示down后面的后续事件move和up都由该控件来响应。很重要
阅读全文
0 0
- 视图响应触摸事件的缩放效果
- 响应触摸事件的方法
- 图片缩放,多点触摸响应
- UIScrollView 响应触摸事件的机制
- UIImageView对触摸事件的响应
- 触摸事件的传递 && 响应者链条
- 响应触摸事件
- 触摸事件响应
- 触摸事件分发响应
- imageView响应触摸事件
- 通过两个触摸点实现视图的缩放(iOS)
- 触摸事件+矩阵Matrix实现图片的拖拉缩放
- iOS - 触摸事件 ,响应者
- 触摸事件<响应者链>
- cocoStudio: button触摸事件响应
- 触摸、事件、响应者链
- (6)响应触摸事件
- 解决 按钮响应延时[UIScrollView 和 UITableViewCell 中的子视图触摸事件延时]
- iOS 点击UITableViewCell上的控件获取对应的cell
- C# 如何正确删除List中的item
- Activiti工作流学习(一)
- VS2010中调试DLL工程的方法
- java 反射 Reflection in Java
- 视图响应触摸事件的缩放效果
- 第2部分 静态链接---(2)编译与链接
- MYD-C437X搭建Qt开发环境
- 使用specta进行单元测试
- Mybatis框架中Mapper文件传值参数获取
- iOS launch、icon
- Linux 使用
- Tomcat基本使用
- 集合系列之---ArrayList