zoukankan      html  css  js  c++  java
  • 手势

    public class MainActivity extends Activity {
        private static final String TAG = "MainActivity";
        private GestureLibrary library;
        private Gesture mgesture;
        private GestureOverlayView overlayView;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            library = GestureLibraries.fromRawResource(this, R.raw.gestures);//通过raw下的静态文件构建手势库对象
            library.load();//注意:很重要,必须有
            
            overlayView = (GestureOverlayView) this.findViewById(R.id.gestures);
            //只针对单笔手势:overlayView.addOnGesturePerformedListener(new GesturePerformedListener());
            //下面是处理多笔手势的方法
            overlayView.addOnGestureListener(new GestureListener());
        }
        
        public void find(View v){
            recognize(mgesture);
            overlayView.clear(true);
        }
        ///处理多笔手势
        private final class GestureListener implements OnGestureListener{
            public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) {
                Log.i(TAG, "onGestureStarted()");
            }
            public void onGesture(GestureOverlayView overlay, MotionEvent event) {
                Log.i(TAG, "onGesture()");
            }
            public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
                Log.i(TAG, "onGestureEnded()");
                mgesture = overlay.getGesture();//获取多笔手势,并存储
            }
            public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) {
                Log.i(TAG, "onGestureCancelled()");
            }
        }
        
        //处理单笔手势
        private final class GesturePerformedListener implements OnGesturePerformedListener{
            public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
                recognize(gesture);
            }        
        }
        
        private void recognize(Gesture gesture) {
            ArrayList<Prediction> predictions = library.recognize(gesture);
            if(!predictions.isEmpty()){
                Prediction prediction = predictions.get(0);
                if(prediction.score >= 6){
                    if("zhangxx".equals(prediction.name)){
                        Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:1350505050"));
                        startActivity(intent);
                    }else if("close".equals(prediction.name)){
                        finish();//关闭Activity
                    }
                }else{
                    Toast.makeText(getApplicationContext(), R.string.low, 1).show();
                }
            }else{
                Toast.makeText(getApplicationContext(), R.string.notfind, 1).show();
            }
        }
        
        @Override
        protected void onDestroy() {
            super.onDestroy();
            android.os.Process.killProcess(android.os.Process.myPid());//关闭应用
        }
        
    }
  • 相关阅读:
    阿里云快速搭建Node.js开发环境
    初始化阿里云服务器
    docker上安装tomcat
    阿里云搭建支付宝小程序
    阿里云docker上安装redis
    WARN o.a.c.c.AprLifecycleListener [log,175] The Apache Tomcat Native library failed to load. The error reported was [no tcnative1 in java.library.path:
    阿里云快速搭建网站
    云服务器(CentOS系统)完全卸载mysql
    wumeismart编译运行和部署系统
    阿里云ssh关闭,保持jar程序运行
  • 原文地址:https://www.cnblogs.com/heml/p/3516460.html
Copyright © 2011-2022 走看看