软件编程
位置:首页>> 软件编程>> Android编程>> AndroidStudio:手势识别

AndroidStudio:手势识别

作者:Allison李沛  发布时间:2022-04-04 00:53:58 

标签:AndroidStudio,手势识别

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

二实现

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

②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:手势识别

以上所述是小编给大家介绍的AndroidStudio手势识别详解整合网站的支持!

来源:https://blog.csdn.net/weixin_40141473/article/details/89074833

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com