AndroidStudio:手势识别

一内容:设计一个手写字体识别程序。

二实现

①建立一个存放手写字体的数据库

②activity_main.xml




    

    

3.MainActivity.java

package com.example.myapplication;

import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.Prediction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity implements GestureOverlayView.OnGesturePerformedListener {
    GestureLibrary mLibrary;  //定义手势库对象
    GestureOverlayView gest;  //定义手势视图对象做画板之用
    TextView txt;
    Button bt;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        gest = (GestureOverlayView)findViewById(R.id.gesture);
        gest.addOnGesturePerformedListener(this);  // 注册手势识别的监听器
        txt = (TextView)findViewById(R.id.tv);
        mLibrary = GestureLibraries.fromRawResource(this,R.raw.gestures);  //加载手势库
        bt = (Button)findViewById(R.id.bt);
        bt.setOnClickListener(new Click());

        if (!mLibrary.load()) {
            finish();
        }
    }
        /*根据画的手势识别是否匹配手势库里的手势*/
    @Override
    public void onGesturePerformed(GestureOverlayView gest, Gesture gesture) {
        ArrayList gestList = mLibrary.recognize(gesture);  // 从手势库获取手势数据
        if (gestList.size() > 0) {
            Prediction pred = (Prediction)gestList.get(0);
           if (pred.score > 1.0) {    // 检索到匹配的手势
               Toast.makeText(this,pred.name,Toast.LENGTH_SHORT).show();
               txt.append(pred.name);
           }
        }
    }

    private class Click implements View.OnClickListener {
        @Override
        public void onClick(View view) {
            txt.setText("Gesture:");
        }
    }
}

三效果

AndroidStudio:手势识别_第1张图片

你可能感兴趣的:(安卓Android)