热门IT资讯网

Android手势的识别

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,手势保存了就可以开始识别了。// 从资源文件中将手势库加载进来 if (mGre == null) { Log.e("",

手势保存了就可以开始识别了。

// 从资源文件中将手势库加载进来                if (mGre == null) {                        Log.e("", "手势");                        mGre = GestureLibraries.fromRawResource(this, R.raw.yl_yl);                        // 无此句出错                        mGre.load();                }                // 从xml中取出GestureOverlayView控件                mGov = (GestureOverlayView) findViewById(R.id.gesture);                mGov.setGestureColor(Color.BLACK);// 手势颜色                mGov.setGestureStrokeWidth(15);// 手势宽度                // 为GestureOverlayView控件添加监听                mGov.addOnGesturePerformedListener(this);

开始识别:

// 识别手势,返回一个类型为Prediction的列表                ArrayList gestureList = mGre.recognize(gesture);                if (gestureList.size() > 0) {                        Prediction pd = gestureList.get(0);                        // 如果匹配度大于1,表示可以识别,否则提示无法识别                        if (pd.score > 3) {                                // 判断名字是否与手势库的名字相同                                if (pd.name.equals("勾")) {                                        Intent intent = new Intent(MainActivity.this,                                                        SecondActivity.class);                                        startActivity(intent);                                        Toast.makeText(MainActivity.this, "已识别", Toast.LENGTH_SHORT)                                        .show();                                } else {                                        Toast.makeText(MainActivity.this, "名字不匹配",                                                        Toast.LENGTH_SHORT).show();                                }                        } else {                                Toast.makeText(MainActivity.this, "无法识别", Toast.LENGTH_SHORT)                                .show();                        }                }

最后别忘了解绑监听:

protected void onDestroy() {                mGov.removeOnGesturePerformedListener(this);                super.onDestroy();        }


0