码迷,mamicode.com
首页 > 移动开发 > 详细

android手势

时间:2015-07-13 18:54:47      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:android   gesture   

一丶首先创建一个手势库

二丶手势实例

  1. 布局文件:

    在布局文件中有:

    <android.gesture.GestureOverlayView
            android:id="@+id/gv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#000000"
            android:gestureStrokeWidth="10"
            android:gestureColor="#ff0000"
            />

  2. MainActivity中

    public class MainActivity extends Activity {
        
        private GestureOverlayView gv;//手势控件
        private GestureLibrary gestureLibrary;//加载手势库
        private boolean loadStatus;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //拿到控件
            gv = (GestureOverlayView) findViewById(R.id.gv);
          
     //创建加载手势库的工具
            gestureLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
            //加载手势库
            loadStatus = gestureLibrary.load();

            //给gv加一个监听器
            //监听一种手势
            gv.addOnGesturePerformedListener(new OnGesturePerformedListener() {
                
                @Override
                public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
                    //手势加载成功
                    if(loadStatus){
                        //识别手势 Prediction(手势相似度)
                        ArrayList<Prediction> pres = gestureLibrary.recognize(gesture);
                        if(!pres.isEmpty()){
                            Prediction pre = pres.get(0);
                            if(pre.score > 6){
                                if("close".equals(pre.name)){
                                    finish();
                                }else if("tel".equals(pre.name)){
                                    //打电话
                                    Intent intent  = new Intent();
                                    intent.setAction(Intent.ACTION_CALL);
                                    intent.setData(Uri.parse("tel://110"));
                                    startActivity(intent);
                                }else if("right".equals(pre.name)){
                                    Toast.makeText(getApplicationContext(), "正确", 0).show();
                                }
                            }else{
                                Toast.makeText(getApplicationContext(), "手势不匹配", 0).show();
                            }
                        }else{
                            Toast.makeText(MainActivity.this, "手势库加载失败", 0).show() ;
                        }
                        
                    }
                }
            });
        }
    }

本文出自 “android笔记” 博客,请务必保留此出处http://2585211.blog.51cto.com/10044233/1673826

android手势

标签:android   gesture   

原文地址:http://2585211.blog.51cto.com/10044233/1673826

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!