您的位置:首页 > 移动开发 > Android开发

Android 手势识别

2011-12-17 16:03 225 查看
//代码如下,感觉自己现在用不到这东西,所以我自己都没有敲过,用到的时候再来查就是了。

package cn.itcast.gesture;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Intent;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.Prediction;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity
{
private boolean success;
private GestureLibrary library;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//找到手势库
library = GestureLibraries.fromRawResource(this, R.raw.gestures);
//加载手势库
success = library.load();
GestureOverlayView gestureView = (GestureOverlayView)this.findViewById(R.id.gestures);
gestureView.addOnGesturePerformedListener(new GestureListener());

}

private final class GestureListener implements OnGesturePerformedListener
{
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture)
{
if(success)
{
//从手势库中查找匹配的手势,最匹配的记录会放在最前面
ArrayList<Prediction> predictions = library.recognize(gesture);
if(!predictions.isEmpty())
{
Prediction prediction = predictions.get(0);
Log.i("MainActivity", "score:"+ prediction.score);
if(prediction.score>3)
{
if("agree".equals(prediction.name))
{
android.os.Process.killProcess(android.os.Process.myPid());
}
else if("5556".equals(prediction.name)){
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:5556"));
startActivity(intent);
}
}
}
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android library class