【转】android手势处理揭秘】的更多相关文章

当滑动(fling)比移动(scroll)有更高的效率时,为什么要让用户使用scroll操作呢?在面积很小而数据又很多的移动设备上,要显示远在后面的那些内容scroll是很困难的,这种情况下fling更适合. 注:scroll表示手指滑动多少距离,界面跟着显示多少距离,而fling是根据你的滑动方向与轻重,还会自动滑动一段距离. filing 手势在android交互设计中应用非常广泛:电子书的滑动翻页.ListView滑动删除item.滑动解锁等.所以如何检测用户的fling手势是非 常重要的…
package com.zihao.ui; import com.zihao.R; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; imp…
最终效果如下 整体思路 a.自定义了一个RelativeLayout(GestureLockViewGroup)在里面会根据传入的每行的个数,生成多个GestureLockView(就是上面一个个小圈圈),然后会自动进行布局,里面的宽度,间距,内圆的直径,箭头的大小神马的都是百分比实现的,所以大胆的设置你喜欢的个数,只要你没有密集恐惧症~ b.GestureLockView有三个状态,没有手指触碰.手指触碰.和手指抬起,会根据这三个状态绘制不同的效果,以及抬起时的小箭头需要旋转的角度,会根据用户…
Android手势源码浅析-----手势绘制(GestureOverlayView)…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图片,简单介绍了下Matrix:具体请参考:Android 手势检测实战 打造支持缩放平移的图片预览效果(上):本篇继续完善我们的ImageView~~ 首先加入放大后的移动~~ 1.自由的进行移动 我们在onTouchEvent里面,加上移动的代码,当然了,必须长或宽大于屏幕才可以移动~~~ @Ov…
Android手势滑动Tab //MainActivity.java public class MainActivity extends TabActivity { ; ; ; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; private Animation slideLeftIn; private Animation slideLeftOut; private Animation s…
(转自:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1020/448.html) 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对象至OnGestureL…
使用一些浏览器或者输入法应用时会有一些手势操作,还可以自定义手势.这些神奇的操作是怎么做的呢?这一篇重点记录手势的识别和创建.这篇的内容使用到的是android.gesture包,具体的例子参考的是Sample中GestureBuilder程序. 1.手势创建 手势创建主要用到GestureOverlayView和GestureLibrary.GestureOverlayView的父类为android.widget.FrameLayout,是手势绘图区.GestureLibrary类主要对手势进…
给大家介绍一个很好用的手势解锁控件ShapleLocker, 废话不多先上效果图: 这是一个第三方库, 可自己根据UI需求替换图标: 圆圈, 小箭头等等.. github地址: http://panespanes.github.io/ShapeLocker/ 用法很简单, 首先在gradle中添加依赖: 在项目(project, 不是module)的build.gradle中, respositories的最后加上一行引用jitpack的maven仓库地址 allprojects { repos…
xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" android:layout_heig…
转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个样例(有兴趣的去搜索下看看),于是下载下来研究,无奈基本没有凝视.代码上存在一些问题(当设置gravity=center_vertical无法进行手势选择,无意中发现的),于是借鉴这位仁兄的代码.自己重写写了一个,修复了一些问题,增加一些主要的自己定义属性.在此先感谢这位兄弟~. 先上图.默认效果图:…
1.http://blog.csdn.net/omg_2012/article/details/7881443 这篇相当好啊 2.http://blog.csdn.net/android_tutor/article/details/7193090 3.http://blog.csdn.net/heng615975867/article/details/8791937 4.http://www.dewen.org/q/2438/ ACTION_MASK在Android中是应用于多点触摸操作,字面上…
1.     产品介绍 该产品可以通过传感器来侦测用户的手势变化进而执行一些操作.比如说信息预览(如短信息预览.日历预览等等),此外,还可以通过指向某一个时间点来预览视频内容.预览音乐播放器(下一首歌曲)内容.预览文件夹内容.预览快速拨号联系人名单以及放大浏览器地址栏等等,给用户更好的操作性,实用性. 2.     产品开发背景 Android平台下的文字阅读,语音识别,该项目是一个测试性项目,目的是为了提升整个团队的项目的技术知识能力和团队主动性,协作性,独立思考性.使团队的每一个成员在今后实…
引自http://www.cnblogs.com/android100/p/android-hand.html    http://blog.csdn.net/jiangshide/article/details/6293017 android的手势的识别和创建.使用到的是自带的android.gesture包,具体的例子参考的是Sample中GestureBuilder程序,利用该SDK下的GestureBuilder来生成势gestures文件下,然后我们把gestures文件拷贝到新建项目…
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个例子(有兴趣的去搜索下看看),于是下载下来研究,无奈基本没有注释,代码上存在一些问题(当设置gravity=center_vertical无法进行手势选择,无意中发现的),于是借鉴这位仁兄的代码,自己重写写了一个,修复了一些问题,加入一些基本的自定义属性,在此先感谢这位兄弟~. 先上图,默认效果图: 当…
private void setGesturePassword() { toggleMore.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { // UIUtils.toast("开启了手势密码…
在使用自定义视图的时候,对触屏事件的处理是比不可少的,有能力的可以自己写代码处理,这样更加的灵活.如果不想这么麻烦,Android提供了一个手势监听类GestureDetector,可以供我们使用.GestureDetector使用很方便,提供了单击,双击,长按等操作的处理,但是一般的定义界面都比较复杂,还用很多需要注意的地方,在这儿总结一下GestureDetector的使用. 首先新建一个空白的工程,主界面的layout中只需要添加一个按钮就行 <RelativeLayout xmlns:a…
在刚开始学Android的时候,就觉得Google的文档不咋样,在研究手势时,更加的感觉Google的文档写得实在是太差了.很多常量,属性和方法,居然连个描述都没有. 没有描述也就罢了,但是OnGestureListener里手势这么多,它也没有一个介绍说明,在没有进行不断才尝试之前,谁能搞懂onLongPress和onShowPress,onScroll和onFling的关系与差别吗?Google真的需要在文档方面做一次大手术了.不过好在经过鄙人不断反复的尝试.从个人的角度为这几个手势动作做出…
手势操作在我们使用智能设备的过程中奉献了不一样的体验.Android开发中必然会进行手势操作方面的编程.那么它的原理是怎样的呢?我们如何进行手势操作编程呢? 手势操作原理 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对…
图 二.实现思路: 1. 正上方的提示区域,用一个类(LockIndicator.java)来实现,自定义view来绘制9个提示图标: 2. 手势密码绘制区域,用一个类(GestureContentView.java)来实现,它继承自ViewGroup里面, 添加9个ImageView来表示图标, 在onLayout()方法中设置它们的位置: 3. 手势路径绘制, 用一个类(GestureDrawline.java)来实现,复写onTouchEvent()方法,在这个方法里面监听TouchEve…
效果展示: 基本思路: <1>首先写一个图片控制类ImageControl,实现对图片控制的的基本操作,我们的图片控制类ImageControl是继承自ImageView自定义的视图: <2>再写一个测试用的布局,这里就要用到自定义的ImageView; <3>编写测试类ImageViewActivity,写onTouchEvent()方法: 图片控制类ImageControl: package com.basecontrol.view; import android.…
public class MainActivity extends Activity { /* * 要实现手指在屏幕上左右滑动的事件需要实例化对象GestureDetector,new * GestureDetector(MainActivity.this * ,onGestureListener);首先实现监听对象GestureDetector * .OnGestureListener,根据x或y轴前后变化坐标来判断是左滑动还是右滑动并根据不同手势滑动做出事件处理doResult(int *…
1.概述, 两次都是画曲线统计图用到手势滑动.左滑动,右滑动曲线图翻页 2.直接上代码 3.注: 第一次使用的时候是implement了 OnTouchListener 接口,是在画图布局上layout_achart上左右滑动 mlayout.setOnTouchListener(this); @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub Log.d…
GestureDetector:手势监听类,通常在View的setOnTouchListener方法中设置TouchListener,在TouchListener的onTouch函数中把MotionEvent 触屏事件交给GestureDetector的onTouchEvent处理,GestureDetector构造函数里要设置一个OnGestureListener接口的实现对象,一般用SimpleOnGestureListener.对SimpleOnGestureListener接口中函数的说…
在笔者面试这一个月,看了不少文章,也刷了不少面试题,但真正有深度,适合4年及以上Android高工的内容少之又少 在面试准备阶段,笔者准备了三个月左右的时间,结合相关资料及源码,完成了一系列的深度学习和输出 在系统源码层面,包括系统启动,应用启动,四大组件相关,插件化等: 在并发方面,完成了ConcurrentHashmap,CopyOnWriteArrayList, CountDownLatch等相关源码剖析,及线程协作相关内容输出 在插件化方面,完成了插件化整体方案的总结和输出,及Virtu…
/* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //参数解释: // e1:第1个ACTION_DOWN MotionEvent // e2:最后一个ACTION_MOVE MotionEvent // velocityX:X轴上的移动速度,像素/秒 // velocityY:Y轴上的移动速度,像素/秒 // 触发条件 : /…
/* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //参数解释: // e1:第1个ACTION_DOWN MotionEvent // e2:最后一个ACTION_MOVE MotionEvent // velocityX:X轴上的移动速度,像素/秒 // velocityY:Y轴上的移动速度,像素/秒 // 触发条件 : /…
2013-06-28 第15章 优化技术   不管用什么语言进行开发,所有的优秀代码都会展示出共有的经典品质: 简练,可读性强,模块化,层次性,设计良好,高效,优雅,清晰等.   Java程序员能够依据Java编程规范养成良好的编程习惯,是编写良好Java程序的先决条件. 从一开始就写干净的代码,可以在程序开发过程中以及程序维护阶段不断受益. 1. 基本要求 2. 可读性要求 3. 结构化要求 4. 正确性与容错性要求 5. 可重用性要求   有些问题可能在多个模块中都出现(比如,日志记录.权限…
需要实现两个接口,OnTouchListener ,OnGestureListener 在接口方法中实现各种事件 详见:http://www.cnblogs.com/JczmDeveloper/p/3772967.html…
参考地址: http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1020/448.html http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1117/574.html 一.Android的手势操作识别 1.在android应用当中每一次手势的交互都都会依照如下顺序去执行的 刚接触到手机屏幕的时候,要触发MotionEvent事件 该事件被OnTouchListener监…