Google glass GDK - 手势操作

发现在使用多个卡片或者其他啥的时候,onKeyDown事件不起作用,所以弄清楚了GDK的手势操作,写个笔记记录记录~

我们先创建一个卡片和手势检测器

1     // 创建卡片
2     private Card mCard;
3     // 手势检测器
4     private GestureDetector mGestureDetector;

然后在onCreate方法中初始化我们的变量

1     protected void onCreate(Bundle savedInstanceState) {
2         super.onCreate(savedInstanceState);
3         //setContentView(R.layout.activity_main);
4         mCard = new Card(this);
5         mGestureDetector = createGestureDetector(this);
6         mCard.setText("手势识别");
7         setContentView(mCard.getView());
8     }
createGestureDetector是我们新建的一个函数,用于实例化手势检测器并绑定事件
 1     private GestureDetector createGestureDetector(Context context){
 2         GestureDetector gestureDetector = new GestureDetector(context);
 3         //
 4         // 基本的按键事件
 5         //
 6         gestureDetector.setBaseListener(new GestureDetector.BaseListener() {
 7             @Override
 8             public boolean onGesture(Gesture arg0) {
 9                 // TODO Auto-generated method stub
10                 // 轻拍
11                 if(arg0 == Gesture.TAP){
12                     mCard.setText("一个手指轻拍=>播放|暂停");
13                 }else if(arg0 == Gesture.TWO_TAP){
14                     // 双指轻拍
15                     mCard.setText("两个手指轻拍=>弹出菜单");
16                 }else if(arg0 == Gesture.LONG_PRESS){
17                     // 长按
18                     mCard.setText("长按=>退出");
19                 }else if(arg0 == Gesture.SWIPE_LEFT){
20                     mCard.setText("向后=>上一首");
21                 }else if(arg0 == Gesture.SWIPE_RIGHT){
22                     mCard.setText("向前=>下一首");
23                 }else if(arg0 == Gesture.SWIPE_DOWN){
24                     mCard.setText("向下=>后台运行");
25                 }else{
26                     return false;
27                 }
28                 setContentView(mCard.getView());
29                 return true;
30             }
31         });
32         //
33         // 监听手指数
34         //
35         gestureDetector.setFingerListener(new GestureDetector.FingerListener() {
36
37             @Override
38             public void onFingerCountChanged(int arg0, int arg1) {
39                 // TODO Auto-generated method stub
40                 System.out.println("手指:原先=" + arg0 + " 当前:" + arg1);
41             }
42         });
43         //
44         // 滚动事件
45         //
46         gestureDetector.setScrollListener(new GestureDetector.ScrollListener() {
47
48             @Override
49             public boolean onScroll(float arg0, float arg1, float arg2) {
50                 // TODO Auto-generated method stub
51                 System.out.println("滚动:arg0 = " + arg0 + " arg1=" + arg1 + " arg2="+ arg2);
52                 return false;
53             }
54         });
55         return gestureDetector;
56     }

最后,我们要将事件发送到手势检测器

1     @Override
2     public boolean onGenericMotionEvent(MotionEvent event){
3         if(mGestureDetector != null){
4             return mGestureDetector.onMotionEvent(event);
5         }
6         return false;
7     }

Google glass GDK - 手势操作

时间: 2024-10-29 18:05:50

Google glass GDK - 手势操作的相关文章

Google glass GDK - Menu菜单

我们来讲Google glass GDK开发中的菜单吧.(上一节讲得真JB烂 = = 这一节在以后的我看来也是,所以就草草写一点 然后等技术成熟了,再出一套完整的教程!) 先来看效果图 开始 :) 我们先把原来的主题去掉,其他的不管 在AndroidManifest.xml中把android:theme去掉,然后在res/menu/main.xml中编辑我们的菜单 Glass的菜单有三个选项(一般来说),一个是ID,一个是标题,还有一个是ICON图标(白色透明背景50x50像素) 所以我们的xm

Google glass GDK - Helloword

发现国内关于glass开发的资料太少了--大多都是直接谷歌翻译原文过来的,看着都稀里糊涂的.. 首先呢,我们需要安装了glass的SDK,这些就不讲了,现在讲如何设置主题以及设置编辑界面 在res/values/下创建一个myTheme.xml主题文件,内容如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <style name="CustomTheme&

Android学习指南之三十八:Android手势操作编程[转]

手势操作在我们使用智能设备的过程中奉献了不一样的体验.Android开发中必然会进行手势操作方面的编程.那么它的原理是怎样的呢?我们如何进行手势操作编程呢? 手势操作原理 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对

Android的手势操作识别

摘要 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对象 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchLi

Android的手势操作识别-转

Android的手势操作识别 时间:2012-10-20 23:09 来源:未知 作者:admin 点击: 282 次 摘要 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对象 首先,在Android系统中,每一次手势交

iOS开发——仿Clear纯手势操作的UITableView

前言 在Clear应用中,用户无需任何按钮,纯靠不同的手势就可以完成对ToDoItem的删除.完成.添加.移动.具体来说,功能上有左划删除,右划完成,点击编辑,下拉添加.捏合添加.长按移动.这里将这些功能实现并记录. 左划删除与右划完成 所谓的左右滑动,就是自定义一个cell然后在上面添加滑动手势.在处理方法中计算偏移量,如果滑动距离超过cell宽度一半,就删除它,或者是为文本添加删除线等来完成它:如果没有超过一半,那么就用动画把cell归位. 效果图如下: 关键代码如下: - (void)ha

手势操作

1.创建手势识别的实例 2.设置手势识别器的属性 3.将手势识别添加附加到指定的视图上 4.编写监听的方法 手势的状态: recognizer.state { // 常用的四个: UIGestureRecognizerStateBegan  // 开始 UIGestureRecognizerStateChanged// 改变 UIGestureRecognizerStateEnded // 结束 UIGestureRecognizerStateCancelled// 取消 } 获取这个状态时坐标

手势操作(单击手势,长按手势,策划手势)

1.策划手势操作 // // ViewController.m // 1-28策划手势 // // Created by ma c on 16/1/28. // Copyright © 2016年 bjsxt. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (strong, nonatomic) UISwipeGestureRecognizer *rec

iOS手势操作,拖动,轻击,捏合,旋转,长按,自定义(http://www.cnblogs.com/huangjianwu/p/4675648.html)

1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作. UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转) UITapGestureRecognizer(点按) UILo