AndroidStudio:手势识别
作者:Allison李沛
这篇文章主要介绍了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手势识别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
- Android Studio使用小技巧:布局预览时填充数据
- Android Studio使用小技巧:提取方法代码片段
- Android Studio使用教程(二):基本设置与运行
- Android Studio使用教程(一):下载与安装及创建HelloWorld项目
- Android Studio的中文乱码问题解决方法
- Mac OS下为Android Studio编译FFmpeg解码库的详细教程
- 图解Windows环境下Android Studio安装和使用教程
- Android Studio注释模板介绍
- Android Studio使用小技巧:自定义Logcat
- AndroidStudio 使用过程中出现的异常(Gradle sync failed)处理办法