首页 > 系统 > Android > 正文

AndroidStudio:手势识别

2019-12-12 00:13:18
字体:
来源:转载
供稿:网友

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

二实现

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

②activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity"  android:orientation="vertical">   <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="Gesture:"    android:id="@+id/tv"    android:textSize="24dp"/>   <Button    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:textSize="20dp"    android:text="clear"    android:id="@+id/bt"/>   <android.gesture.GestureOverlayView    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gestureStrokeType="multiple"    android:eventsInterceptionEnabled="false"    android:orientation="vertical"    android:id="@+id/gesture"></android.gesture.GestureOverlayView></LinearLayout

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手势识别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表