1.使用模擬器的Gesture Tool或是用手機前往Google Play下載Gesture Tool
安裝完成後,打開輸入對應的文字與繪圖
2.將該成是儲存的gestures檔案複製,建立一個新專案,在res資料夾建立raw資料加,丟到raw資料夾裡面
3./res/layout/activity_main.xml fadeDuration為繪圖顯示停留時間(毫秒)
4.MainActivity.java
package tw.android;
import java.util.ArrayList;
import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.gesture.Prediction;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class MainActivity extends Activity implements
OnGesturePerformedListener {
private GestureOverlayView gesture;
private GestureLibrary gLibrary;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gesture = (GestureOverlayView) findViewById(R.id.gestureOverlayView1);
// GestureOverlayView監聽事件
gesture.addOnGesturePerformedListener(this);
// 讀取製作的gestures檔案
gLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
gLibrary.load();
}
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = gLibrary.recognize(gesture);
if (predictions.size() > 0) {
Prediction prediction = predictions.get(0);
Log.i("1111111", predictions.get(1) + "");
if (prediction.score > 1.5) {// 符合 顯示對應訊息
Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show();
} else { // 不符合
Toast.makeText(this, "無法識別", Toast.LENGTH_SHORT).show();
}
}
}
}
檔案下載:
https://github.com/terryyamg/GuestureOverlayViewTest
參考連結:
http://www.tutorialeshtml5.com/2013/02/tutorial-crear-y-reconocer-gestos-con.html
http://developer.android.com/reference/android/gesture/GestureOverlayView.html



沒有留言 :
張貼留言