gestures的区别 哪一个更适合手机前端页面开发发

安装后,您可能在通知栏看到不明来源的广告信息,影响您的使用体验。
Italian Popular Gestures 截图
Italian Popular Gestures 历史版本
Italian Popular Gestures
版本:1.0.2
Italian Popular Gestures 使用技巧
Italian Popular Gestures 应用内最新内容
5.9 亿人安装
3285 万人安装
6.2 亿人安装
9027 万人安装
3 亿人安装
2.1 亿人安装
5178 万人安装
787 万人安装
1.8 亿人安装
724 万人安装
5.9 亿人安装
6.2 亿人安装
2.6 亿人安装
6 亿人安装
9321 万人安装
4.5 亿人安装
5.5 亿人安装
8764 万人安装
2.3 亿人安装
2.4 亿人安装
我们的产品
豌豆实验室
帮助与支持
24小时客服电话
除非特别注明,应用程序由第三方市场提供,豌豆荚仅根据你的指令提供搜索结果链接,与出处无关,详情请参阅
扫一扫安装豌豆荚安卓客户端事件处理机制之Gestures(手势)
手势是:连续触碰的行为,比如左右上下滑动屏幕,又或者画一些不规则的几何图形! 对上述两种手势行为都提供了支持:
Android提供手势检测,并为手势识别提供了相应的监听器!
Android运行开发者自行添加手势,并且提供了相应的API识别用户手势!
如果你的手机是Android 4.x的原生Android的话,你可能可以在你的手机或者平板上看到谷歌 提供的一个Gesture Builder的APP,该应用允许用户以类似于涂鸦的方式绘制一个手写符号,使之 对应一个字符串名称!当然,没有这样的手机也没关系,我们有模拟器嘛,自己开个4.0的系统试试 就知道了,另外,我们可以到\mmt\sdcard\gestures获取到保存手势的文件!
(二)Gestures(手势)
1.Android中手势交互的执行顺序
1.手指触碰屏幕时,触发MotionEvent事件!
2.该事件被OnTouchListener监听,可在它的onTouch()方法中获得该MotionEvent对象!
3.通过GestureDetector转发MotionEvent对象给OnGestureListener
4.我们可以通过OnGestureListener获得该对象,然后获取相关信息,以及做相关处理!
我们来看下上述的三个类都是干嘛的: MotionEvent: 这个类用于封装手势、触摸笔、轨迹球等等的动作事件。 其内部封装了两个重要的属性X和Y,这两个属性分别用于记录横轴和纵轴的坐标。 GestureDetector: 识别各种手势。 OnGestureListener: 这是一个手势交互的监听接口,其中提供了多个抽象方法, 并根据GestureDetector的手势识别结果调用相对应的方法。
&&上述资料摘自:
2.GestureListener详解:
从1中我们知道了监听手势的关键是:GestureListener 他给我们提供了下述的回调方法:
按下(onDown): 刚刚手指接触到触摸屏的那一刹那,就是触的那一下。
抛掷(onFling): 手指在触摸屏上迅速移动,并松开的动作。
长按(onLongPress): 手指按在持续一段时间,并且没有松开。
滚动(onScroll): 手指在触摸屏上滑动。
按住(onShowPress): 手指按在触摸屏上,它的时间范围在按下起效,在长按之前。
抬起(onSingleTapUp):手指离开触摸屏的那一刹那。
知道了GestureListener的相关方法后,实现手势检测也很简单,步骤如下:
Step 1: 创建GestureDetector对象,创建时需实现GestureListener传入
Step 2: 将Activity或者特定上的TouchEvent的事件交给GestureDetector处理即可! 我们写个简单的代码来验证这个流程,即重写对应的方法:
代码如下:
public class MainActivity extends AppCompatActivity {
private MyGestureListener mgL
private GestureDetector mD
private final static String TAG = &MyGesture&;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化GestureListener与GestureDetector对象
mgListener = new MyGestureListener();
mDetector = new GestureDetector(this, mgListener);
public boolean onTouchEvent(MotionEvent event) {
return mDetector.onTouchEvent(event);
//自定义一个GestureListener,这个是View类下的,别写错哦!!!
private class MyGestureListener implements GestureDetector.OnGestureListener {
public boolean onDown(MotionEvent motionEvent) {
Log.d(TAG, &onDown:按下&);
public void onShowPress(MotionEvent motionEvent) {
Log.d(TAG, &onShowPress:手指按下一段时间,不过还没到长按&);
public boolean onSingleTapUp(MotionEvent motionEvent) {
Log.d(TAG, &onSingleTapUp:手指离开屏幕的一瞬间&);
public boolean onScroll(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
Log.d(TAG, &onScroll:在触摸屏上滑动&);
public void onLongPress(MotionEvent motionEvent) {
Log.d(TAG, &onLongPress:长按并且没有松开&);
public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1) {
Log.d(TAG, &onFling:迅速滑动,并松开&);
对应操作截图:
PS:从上述结果来看,我们发现了一个问题: 我们实现OnGestureListener需要实现所有的手势,可能我针对的仅仅是滑动,但是你还是要去重载, 这显得很逗逼,是吧,官方肯定会给出解决方法滴,官方另外给我们提供了一个SimpleOnGestureListener类 只需把上述的OnGestureListener替换成SimpleOnGestureListener即可!vcD4NCjxwPjMuvPK1pbXEwP3X0zrPwrusudix1UFjdGl2aXR5o6zJz7usxvS2r9DCtcRBY3Rpdml0eTwvcD4NCjxwPtXiwO++zdPDyc/K9rXEU2ltcGxlT25HZXN0dXJlTGlzdGVuZXLAtMq1z9awyTo8L3A+DQo8cD7Uy9DQ0Ke5+828o7o8YnIgLz4NCjxpbWcgYWx0PQ=="这里写图片描述" src="/uploadfile/Collfiles/099.png" title="\" />
实现代码:
public class MainActivity extends AppCompatActivity {
private GestureDetector mD
private final static int MIN_MOVE = 200;
//最小距离
private MyGestureListener mgL
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化SimpleOnGestureListener与GestureDetector对象
mgListener = new MyGestureListener();
mDetector = new GestureDetector(this, mgListener);
public boolean onTouchEvent(MotionEvent event) {
return mDetector.onTouchEvent(event);
//自定义一个GestureListener,这个是View类下的,别写错哦!!!
private class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
public boolean onFling(MotionEvent e1, MotionEvent e2, float v, float v1) {
if(e1.getY() - e2.getY() & MIN_MOVE){
startActivity(new Intent(MainActivity.this, MainActivity.class));
Toast.makeText(MainActivity.this, &通过手势启动Activity&, Toast.LENGTH_SHORT).show();
}else if(e1.getY() - e2.getY()
& MIN_MOVE){
Toast.makeText(MainActivity.this,&通过手势关闭Activity&,Toast.LENGTH_SHORT).show();
结果分析: 从上面的对比就可以知道,相比起SimpleOnGestureListener使用SimpleOnGestureListener 显得更加的简单,想重写什么方法就重写什么方法,另外例子比较简单,大家可以自己试试 其他玩法,比如通过手势缩放图片~
4.手势添加与识别:
除了上面讲解的手势检测外,Android还运行我们将手势进行添加,然后提供了相关的识别API; Android中使用GestureLibrary来代表手势库,提供了GestureLibraries工具类来创建手势库!
四个加载手势库的静态方法:
获得GestureLibraries对象后,就可以使用该对象提供的下述方法来做相应操作了:
相关方法:
public void addGesture (String entryName, Gesture gesture):添加一个名为entryName的手势
public Set getGestureEntries ():获得手势库中所有手势的名称
public ArrayList getGestures (String entryName):获得entryName名称对应的全部手势
public ArrayList recognize (Gesture gesture): 从当前手势库中识别与gesture匹配的全部手势
public void removeEntry (String entryName):删除手势库中entryName名称对应的手势
public void removeGesture (String entryName, Gesture gesture):删除手势库中entryName和gesture都匹配的手势
public abstract boolean save ():想手势库中添加手势或从中删除手势后调用该方法保存手势库
GestureOverlayView手势编辑组件:
Android为GestureOverlayView提供了三种监听器接口,如下,一般常用的是:OnGesturePerformedL用于手势完成时提供响应!
5.手势添加示例:
运行效果图:
好吧,下面贴下实现代码:
两个布局文件:activity_main.xml和dialog_save.xml
activity_main.xml
dialog_save.xml
MainActivity.java:
public class MainActivity extends AppCompatActivity {
private EditText editT
private GestureOverlayV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取手势编辑组件后,设置相关参数
gesture = (GestureOverlayView) findViewById(R.id.gesture);
gesture.setGestureColor(Color.GREEN);
gesture.setGestureStrokeWidth(5);
gesture.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {
public void onGesturePerformed(GestureOverlayView gestureOverlayView, final Gesture gesture) {
View saveDialog = getLayoutInflater().inflate(R.layout.dialog_save,null,false);
ImageView img_show = (ImageView) saveDialog.findViewById(R.id.img_show);
final EditText edit_name = (EditText) saveDialog.findViewById(R.id.edit_name);
Bitmap bitmap = gesture.toBitmap(128,128,10,0xffff0000);
img_show.setImageBitmap(bitmap);
new AlertDialog.Builder(MainActivity.this).setView(saveDialog)
.setPositiveButton(&保存&,new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialogInterface, int i) {
//获取文件对应的手势库
GestureLibrary gestureLib = GestureLibraries.fromFile(&/mnt/sdcard/mygestures&);
gestureLib.addGesture(edit_name.getText().toString(),gesture);
gestureLib.save();
}).setNegativeButton(&取消&, null).show();
最后还需要在AndroidManifest.xml中添加写入SD卡的权限:
6.手势识别示例
实现代码:
public class MainActivity extends AppCompatActivity {
private GestureOverlayV
private GestureLibrary gestureL
private Context mC
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = MainActivity.
gestureLibrary = GestureLibraries.fromFile(&mmt/sdcard/mygestures&);
if (gestureLibrary.load()) {
Toast.makeText(mContext, &手势库加载成功&, Toast.LENGTH_SHORT).show();
Toast.makeText(mContext, &手势库加载失败&, Toast.LENGTH_SHORT).show();
//获取手势编辑组件后,设置相关参数
gesture = (GestureOverlayView) findViewById(R.id.gesture);
gesture.setGestureColor(Color.GREEN);
gesture.setGestureStrokeWidth(5);
gesture.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {
public void onGesturePerformed(GestureOverlayView gestureOverlayView, final Gesture gesture) {
//识别用户刚绘制的手势
ArrayList predictions = gestureLibrary.recognize(gesture);
ArrayList result = new ArrayList();
//遍历所有找到的Prediction对象
for (Prediction pred : predictions) {
if (pred.score & 2.0) {
result.add(&与手势【& + pred.name + &】相似度为& + pred.score);
if (result.size() & 0) {
ArrayAdapter adapter = new ArrayAdapter(mContext,
android.R.layout.simple_dropdown_item_1line, result.toArray());
new AlertDialog.Builder(mContext).setAdapter(adapter,null).setPositiveButton(&确定&,null).show();
Toast.makeText(mContext,&无法找到匹配的手势!&,Toast.LENGTH_SHORT).show();
另外别忘了在AndroidManifest.xml文件中加入读SD卡的权限:
本节介绍了Android中的Gesture手势,讲解了手势判断,手势添加,手势识别三个内容;
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'Simple Gestures下载_Simple Gestures安卓版手游apk下载-优亿市场
请输入6-16位密码
Simple Gestures
适用:2.2以上
停用屏幕锁定
读取手机状态和身份
重新设置外拨电话的路径
您的应用信息
影响电池的使用
防止手机休眠
更新时间:
扫描二维码安装
Simple Gestures截图
Simple Gestures简介
是目前最安全可靠的安卓软件下载平台,我们为用户提供高质量的《Simple Gestures》下载服务。更多精彩内容请关注我们()!
简单的手势功能GesturesSimple 1)智能林格 - 它可以将来电时翻转手机静音。 - 把手机在静音模式下,手机只要被翻转,翻转或放在桌子上。 - 它可以保持沉默,如果打开媒体音量设置。 2)空气手势(如空气手势模拟S4) - 它可以接受或静音通话而来电,如果你挥动你的手在前面接近传感器。 - 它可以被配置为接受/静音或关闭的设置页面。... 展开
历史版本下载
Simple Gestures 版本:1.1
下载数:800次
下载数:400次
下载数:600次
下载数:2000次
下载数:600次
下载数:500次
下载数:2000次
下载数:2000次
下载数:2000次
Simple Gestures
无法安装或启动
不是最新版本
您的举报信息将会同步到工信部12321举报平台
点击下面的按钮下载4.7.4版本
Simple Gestures
适用:2.2以上
停用屏幕锁定
读取手机状态和身份
重新设置外拨电话的路径
您的应用信息
影响电池的使用
防止手机休眠
更新时间:
扫描二维码安装
下次自动登录
获取手机验证码
我同意并遵守
其他登录方式
恭喜你,密码重置成功
用户客服QQ:
开发者反馈QQ:
客服邮箱:
商务合作QQ:
资讯投稿:
版权所有 北京浩游网讯科技有限公司
京公网安备45
京ICP备号-1
京网文[8号
感谢使用优亿市场,恳请您提出宝贵的建议,被采纳的建议均可获得30元话费充值卡。
请输入您的意见建议,万分感谢!
联系方式(可选)
加群抢红包!

我要回帖

更多关于 前端页面开发 的文章

 

随机推荐