亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android創建手勢識別示例代碼

2020-04-11 11:55:35
字體:
來源:轉載
供稿:網友

這篇的內容使用到的是android.gesture包,具體的例子參考的是Sample中GestureBuilder程序。

1、手勢創建
手勢創建主要用到GestureOverlayView和GestureLibrary。GestureOverlayView的父類為android.widget.FrameLayout,是手勢繪圖區。GestureLibrary類主要對手勢進行保存、刪除等操作的,存放手勢的倉庫。下面給出創建手勢的例子,如下圖,可以定義如圖手勢打開csdn.net

1.1、創建繪圖區

復制代碼 代碼如下:

 GestureOverlayView overlay = (GestureOverlayView) findViewById(R.id.gestures_overlay);

overlay.setGestureStrokeType(GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE); 

overlay.setFadeOffset(2000);  //多筆畫每兩次的間隔時間
overlay.setGestureColor(Color.CYAN);//畫筆顏色
overlay.setGestureStrokeWidth(6);//畫筆粗細值

overlay.addOnGestureListener(new GesturesProcessor());

1.2、監聽繪制

復制代碼 代碼如下:

 private class GesturesProcessor implements GestureOverlayView.OnGestureListener {
        public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) {
            mDoneButton.setEnabled(false);
            mGesture = null;
        }

        public void onGesture(GestureOverlayView overlay, MotionEvent event) {
        }

        public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
            mGesture = overlay.getGesture();
            if (mGesture.getLength() < LENGTH_THRESHOLD) {
                overlay.clear(false);
            }
            mDoneButton.setEnabled(true);
        }

        public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) {
        }
    }

1.3、保存手勢

復制代碼 代碼如下:

 public void addGesture(View v) {
        if (mGesture != null) {
            final TextView input = (TextView) findViewById(R.id.gesture_name);
            final CharSequence name = input.getText();
            if (name.length() == 0) {
                input.setError(getString(R.string.error_missing_name));
                return;
            }

            /**
             * 獲取手勢庫
             *   private final File mStoreFile = new File(Environment.getExternalStorageDirectory(), "gestures");
             *   GestureLibrary sStore = GestureLibraries.fromFile(mStoreFile);
             *
             */
            final GestureLibrary store = GestureBuilderActivity.getStore();
            store.addGesture(name.toString(), mGesture);
            store.save();

            setResult(RESULT_OK);

            final String path = new File(Environment.getExternalStorageDirectory(),
                    "gestures").getAbsolutePath();
            Toast.makeText(this, getString(R.string.save_success, path), Toast.LENGTH_LONG).show();
        } else {
            setResult(RESULT_CANCELED);
        }

        finish();

    }

2、手勢識別

手勢識別也是經過創建繪圖區、監聽繪制、比對結果三個過程,這里直接給出代碼。

復制代碼 代碼如下:

public class GesturePerformedActivity extends Activity {

 private final File mStoreFile = new File(
   Environment.getExternalStorageDirectory(), "gestures");

 // 手勢庫
 GestureLibrary mGestureLib;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);

  setContentView(R.layout.gesture_perform);
  // 手勢畫板
  GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures_overlay);

  gestures.setGestureStrokeType(GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE);

  gestures.setFadeOffset(2000); // 多筆畫每兩次的間隔時間
  gestures.setGestureColor(Color.CYAN);// 畫筆顏色
  gestures.setGestureStrokeWidth(6);// 畫筆粗細值

  // 手勢識別的監聽器
  gestures.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {
   @Override
   public void onGesturePerformed(GestureOverlayView overlay,
     Gesture gesture) {
    // 從手勢庫中查詢匹配的內容,匹配的結果可能包括多個相似的結果,匹配度高的結果放在最前面
    ArrayList<Prediction> predictions = mGestureLib
      .recognize(gesture);  
    if (predictions.size() > 0) {
     Prediction prediction = (Prediction) predictions.get(0);
     // 匹配的手勢
     if (prediction.score > 1.0) { // 越匹配score的值越大,最大為10
      Toast.makeText(GesturePerformedActivity.this,
        prediction.name, Toast.LENGTH_SHORT).show();
     }
    }
   }
  });

  if (mGestureLib == null) {
   mGestureLib = GestureLibraries.fromFile(mStoreFile);
   mGestureLib.load();
  }
 }

}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97在线视频免费播放| 亚洲xxxx做受欧美| 日韩在线不卡视频| 国产91亚洲精品| 国产91成人在在线播放| 久久久久久国产精品美女| 黑人巨大精品欧美一区免费视频| 亚洲xxxx视频| 日本午夜在线亚洲.国产| 日韩中文字幕在线观看| 久久久久久九九九| 日韩中文字幕在线看| 亚洲专区在线视频| 亚洲2020天天堂在线观看| 久久综合久久88| 91精品久久久久久久久久| 欧美日产国产成人免费图片| 色青青草原桃花久久综合| 久久久亚洲欧洲日产国码aⅴ| 国产精品一香蕉国产线看观看| 亚洲第一男人天堂| 日韩性xxxx爱| 国产精品永久免费视频| 国产精品亚洲片夜色在线| 亚洲奶大毛多的老太婆| 久久69精品久久久久久久电影好| 久久精品中文字幕免费mv| 亚洲美女精品成人在线视频| 97精品视频在线| 久久精品久久久久久国产 免费| 国产999精品久久久影片官网| 欧美精品999| 91国自产精品中文字幕亚洲| 欧美精品激情在线观看| 久久99精品久久久久久青青91| 久久国产精品免费视频| 国产精品黄页免费高清在线观看| 久久99热这里只有精品国产| 国内精品久久久久久中文字幕| 中文日韩电影网站| 国产精品成人一区| 伊人伊成久久人综合网站| 国产91精品高潮白浆喷水| 国产成人综合亚洲| 精品视频在线播放| 亚洲缚视频在线观看| 精品成人69xx.xyz| 欧美激情一区二区久久久| 日韩中文字幕免费看| 国外日韩电影在线观看| 97在线看免费观看视频在线观看| 亚洲片在线观看| 日韩在线观看免费高清完整版| 成人啪啪免费看| 久久精品久久久久| 国产精品一区二区三区在线播放| 日韩午夜在线视频| 国产精品精品久久久久久| 久久69精品久久久久久国产越南| 国产精品视频xxxx| 亚洲天堂2020| 91精品国产自产在线观看永久| 96精品久久久久中文字幕| 国产精品高潮呻吟久久av野狼| 91精品国产高清久久久久久91| 国产视频精品va久久久久久| 亚洲欧美日本伦理| 97久久久久久| xxx欧美精品| 久久久人成影片一区二区三区观看| 亚洲第一网站男人都懂| 欧美国产精品人人做人人爱| 美女啪啪无遮挡免费久久网站| 欧美日韩福利电影| 欧美老少配视频| 日韩精品中文字幕在线| 日韩av综合中文字幕| 国产日韩欧美在线观看| 日韩一区二区精品视频| 欧美精品福利视频| 亚洲女人被黑人巨大进入al| 国产一区二区免费| 欧美在线视频观看免费网站| 国产精品入口日韩视频大尺度| 亚洲午夜久久久久久久| 亚洲aaa激情| 91wwwcom在线观看| 国产免费一区视频观看免费| 日本最新高清不卡中文字幕| 国产精品18久久久久久麻辣| 国产一区二区三区在线| 一区二区中文字幕| 亚洲人在线观看| 伊人久久综合97精品| 国产精品一二三视频| 久久国产精品久久久久久| 一区二区三区回区在观看免费视频| 久久久久成人网| 精品美女永久免费视频| 91精品一区二区| 91久久嫩草影院一区二区| 亚洲成人激情图| 欧美日韩美女在线观看| 国产精品嫩草影院久久久| 欧美日韩电影在线观看| 成人两性免费视频| 国产一区二区三区中文| 亚洲成avwww人| 国产一区二区三区毛片| 国内外成人免费激情在线视频| 久久久亚洲福利精品午夜| 国产成人极品视频| 国产91热爆ts人妖在线| 91超碰中文字幕久久精品| 96pao国产成视频永久免费| 曰本色欧美视频在线| 91久久久精品| 亚洲成人av资源网| 在线视频欧美性高潮| 亚洲成avwww人| 国产亚洲精品美女久久久| 亚洲精品久久在线| 午夜精品福利在线观看| 亚洲欧美日韩区| 蜜臀久久99精品久久久久久宅男| 久久夜色精品国产亚洲aⅴ| 91最新国产视频| 成人妇女免费播放久久久| 国产欧美精品在线播放| 欧美日韩在线视频观看| 日日骚久久av| 国产精品网站大全| 日本久久久久久久久久久| 色综合91久久精品中文字幕| 国产欧美日韩精品在线观看| 亚洲欧美日本精品| 91久久久久久久| 成人精品视频99在线观看免费| 中文一区二区视频| 精品成人av一区| 欧美性jizz18性欧美| 日韩在线视频播放| 欧美日韩在线观看视频小说| 亚洲www在线观看| 欧美电影免费观看网站| 欧美一级大片在线免费观看| 91人人爽人人爽人人精88v| 激情亚洲一区二区三区四区| 国产精品美女免费| 97高清免费视频| 亚洲大胆人体av| 欧亚精品在线观看| 欧美做爰性生交视频| 欧美日韩亚洲视频| 一区二区三区四区在线观看视频| 日韩高清a**址| 久久久久免费视频| 欧美另类在线观看| 国产不卡在线观看| 亚洲欧洲国产伦综合| 欧美尤物巨大精品爽| 色综合导航网站| 欧美精品videosex牲欧美| 国产精品成人播放|