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());//关闭应用
        }
        
    }
  • 相关阅读:
    spring事务在web环境中失效的问题
    oracle行转列和列转行(pivot 和 unpivot 函数,wm_concat函数 )
    查询Oracle正在执行的sql语句及kill被锁的表
    oracle last_value使用过程中的一个细节
    oracle查询历史执行语句
    前端PHP入门-020-重点日期函数之获取时期时间信息函数
    前端PHP入门-019-内置函数之数学函数-很重要
    前端PHP入门-016-静态变量
    前端PHP入门-017-系统内置函数-会查阅API
    ajax跨域调用webservice例子
  • 原文地址:https://www.cnblogs.com/heml/p/3516460.html
Copyright © 2011-2022 走看看