Android手势数据库
大家早上好,今天我们学习一下在Android中如何利用手势数据库来自定义手势。
在Android开发中,我们可以采取创建手势数据库的方式来自定义手势。具体来说,在模拟器上有个GesturesBuilder的应用程序,可以使用该系统运用预先创建各种需要的手势,这样就会自动产生数据库文件,然后将该文件复制到指定应用程序的res/raw目录便可。需要注意的是,在较高版本的AndroidStudio开发工具中,利用DDMS监控模拟器,在storage目录下并没有发现sdcard目录,其实手势数据库文件是在storage/emulated/0/gestures。
然后在布局文件中添加一个GestureOverlayView组件,该组件用来检测用户是不是画出了手势。
stureOverlayView
android:id="
+id/gov"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"/
注意:GestureOverlayView的orientation属性设置为vertical代表不把垂直手势视为手势,以避免与其他组件的手势产生混淆。
在MainActivity中的大概代码以下:
先加载手势数据库:
GestureLibrarygestureLibrary=omRawResource(this,stures);
然后加载GestureOverlayView组件,并注册OnGesturePerformedListener,当用户画出手势时会自动调用onGesturePerformed()方法并将gesture传入。
GestureOverlayViewgov=(GestureOverlayView)findViewById();
dOnGesturePerformedListener(newOnGesturePerformedListener(){
Override
publicvoidonGesturePerformed(GestureOverlayViewoverlay,Gesturegesture){
ArrayListPredictionpredictions=cognize(gesturee);
if(predictions==ze()=0){
不能辨认手势
return;
}
//获得第一个手势,也是类似度最高的手势
StringgestureName=t(0).name;
StringgestureScore=t(0).score;
......
}
});
终究实现效果以下:
赞美
人赞美
北京看白癜风哪家医院疗效好北京治白癜风去哪家医院