一内容:设计一个手写字体识别程序。
二实现
①建立一个存放手写字体的数据库
②activity_main.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<? 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
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手势识别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/weixin_40141473/article/details/89074833