Android 复杂的手势处理利用GestureOverView

来源:互联网 发布:电脑有网络但上不到网 编辑:程序博客网 时间:2024/05/22 17:51


代码示例:

MainActivity代码::

package com.example.gestureoverlayview;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.widget.Toast;import java.util.ArrayList;public class MainActivity extends AppCompatActivity {    GestureOverlayView gestureOverlayView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        gestureOverlayView = (GestureOverlayView) findViewById(R.id.gestureOverlayView);        //1\找到刚才与设定的收拾文件        //加载收拾文件中的手势        //匹配        final GestureLibrary library=GestureLibraries.fromRawResource(MainActivity.this,R.r..(提前定义好的手势文件));        library.load();        gestureOverlayView.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {            @Override            public void onGesturePerformed(GestureOverlayView gestureOverlayView, Gesture gesture) {                //读出手势,识别手势                ArrayList<Prediction>mygesture = library.recognize(gesture);                Prediction prediction = mygesture.get(0);//每次都从开始判断手势                if (prediction.score>=5.0){   //判断相似度                     if (prediction.name.equals("exit"))                     {                         finish();                     }if (prediction.name.equals("next"))                    {                        Toast.makeText(MainActivity.this,"播放下一首歌",Toast.LENGTH_LONG).show();                    }if (prediction.name.equals("pervious")){                    }                }else {                    Toast.makeText(MainActivity.this,"播放上一首歌",Toast.LENGTH_LONG).show();                }                //            }        });    }}
activity_main代码示例::
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.gestureoverlayview.MainActivity">    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!" />    <android.gesture.GestureOverlayView        android:layout_width="300px"        android:layout_height="300px"        android:id="@+id/gestureOverlayView"        android:layout_centerVertical="true"        android:layout_centerHorizontal="true">        <ImageView            android:src="@mipmap/ic_launcher"            android:layout_width="300px"            android:layout_height="200px"            android:id="@+id/qq"/>    </android.gesture.GestureOverlayView></RelativeLayout>

0 0
原创粉丝点击