Android 手势识别控件 GestureOverlayView
来源:互联网 发布:php精粹 编辑:程序博客网 时间:2024/06/05 06:44
手势识别控件GestureOverlayView的试用方法
首先在布局文件里添加GestureOverlayView
<android.gesture.GestureOverlayView android:id="@+id/gestures_overlay" android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1.0"<!-- android:gestureStrokeType 手势是一笔构成或多笔 --> android:gestureStrokeType="multiple" > </android.gesture.GestureOverlayView>
这里需要注意控件名称不可以为GestureOverlayView,而是android.gesture.GestureOverlayView
然后添加手势
这里需要3个对象 分别是:
GestureOverlayView overlay = null;GestureLibrary library = null;Gesture gesture = null;overlay是你的手势控件library用于存储手势
gesture是你画的手势
监听手势控件实现OnGestureListener接口重写:
@Overridepublic void onGestureStarted(GestureOverlayView overlay, MotionEvent event) {// TODO Auto-generated method stub}@Overridepublic void onGesture(GestureOverlayView overlay, MotionEvent event) {// TODO Auto-generated method stub}@Overridepublic void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {// TODO Auto-generated method stub//得到手势gesture = overlay.getGesture();}@Overridepublic void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) {// TODO Auto-generated method stub}保存手势 存到本地文件:library = GestureLibraries.fromFile(libraryFile);//给手势取名library.addGesture(gestureName, gesture);library.save();
查看你添加的手势:
GestureLibrary library = GestureLibraries.fromFile(gestureFiles);if (library.load()) {for (String name : library.getGestureEntries()) {for (Gesture gesture : library.getGestures(name)) {final Bitmap bitmap = gesture.toBitmap(borderLength, borderLength,mThumbnailInset, mPathColor);}}}
使用手势在另一个界面在添加一个手势控件并添加手势触发事件
overlay.addOnGesturePerformedListener(new OnGesturePerformedListener() {@Overridepublic void onGesturePerformed(GestureOverlayView overlay,Gesture gesture) {// TODO Auto-generated method stubList<Prediction> predictions = new ArrayList<Prediction>();File gestureFile = new File(AppData.GESTURE_PATH);File[] gestureFiles = gestureFile.listFiles();for (int i = 0; i < gestureFiles.length; i++) {library = GestureLibraries.fromFile(gestureFiles[i]);if (library.load()) {List<Prediction> list = library.recognize(gesture);for (Prediction prediction : list) {predictions.add(prediction);}}}double maxScore = predictions.get(0).score;String maxName = predictions.get(0).name;for (Prediction prediction : predictions) {if (maxScore < prediction.score) {maxScore = prediction.score;maxName = prediction.name;}}if (maxScore > 2) {execute(maxName);} else {// Toast.makeText(context, "未找到相应的手势",// Toast.LENGTH_LONG).show();}}});第一次发博客 以前做的很多东西都忘了每次用的时候都要上网找 所以在此记录 以后养成一种习惯
0 0
- Android 手势识别控件 GestureOverlayView
- Android--GestureOverlayView,手势识别
- Android--GestureOverlayView,手势识别
- 【Android界面实现】使用GestureOverlayView控件实现手势识别
- 使用GestureOverlayView控件实现手势识别
- 使用GestureOverlayView控件实现手势识别
- 手势识别GestureOverlayView
- GestureOverlayView(手势识别2)
- 手势识别(GestureOverlayView)
- GestureOverlayView进行手势识别
- android--手势绘制(GestureOverlayView)
- Android手势之GestureOverlayView
- 使用GestureOverlayView进行手势识别
- GestureOverlayView手势识别(手势输入数字)
- Android手势识别GestureOverlayView手势自动消除和多笔画识别问题
- Android-GestureOverlayView自定义手势命令
- 【手势识别の终极版】GestureOverlayView
- GestureOverlayView 初体验之手势识别
- C/C++的转义字符说明
- MDI 界面开发
- java整合Flex4
- 如何获得 Windows 操作系统的版本
- Apache Axis相关开发知识点
- Android 手势识别控件 GestureOverlayView
- 守望幸福
- jQuery EasyUI+ashx实现数据库的CIUD操作
- leetcode题目:Clone Graph
- Nginx静态文件处理
- 动态链接库中函数的地址确定---PLT和GOT
- Python里的string 和 unicode
- 屏蔽CDockablePane右击鼠标触发事件弹出右键菜单
- 软件开发项目-文档编写标准化