在android中使用手势叠加视图

时间:2011-03-25 15:02:03

标签: android

所以我试图在android中使用手势叠加视图来进行“滑动”动作。因此,当用户“滑动”时,它会执行某些代码,当它们向右滑动时,它会执行其他代码。我试着像这样声明手势覆盖:

GestureOverlayView gest = (GestureOverlayView) findViewById(R.id.hatgest);

但后来我不知道从那里去哪里,我无法在开发指南或网上找到任何有用的东西。对于一个按钮,我通常会使用“onclicklistener”,我将如何使用手势叠加?有没有人有我可以参考的代码示例?感谢

2 个答案:

答案 0 :(得分:11)

首先从手势构建器中制作自定义手势。手势构建器应用程序来自sdk。将从手势生成器应用程序创建的文件放入要使用这些手势的应用程序的原始文件夹中。您也可以从documentation

获得帮助
  public class YourClass extends Activity implements OnGesturePerformedListener {

    private GestureLibrary mLibrary;
    mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
    if (!mLibrary.load()) {
      finish();
    }

    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
    gestures.addOnGesturePerformedListener(this);

    public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
      ArrayList < Prediction > predictions = mLibrary.recognize(gesture);
      Log.v("performed", "performed");

      // We want at least one prediction
      if (predictions.size() > 0) {
        Prediction prediction = predictions.get(0);

        // We want at least some confidence in the result
        if (prediction.score > 1.0) {
          if (prediction.name.equalsIgnorecase("right")) {
            //do you thing here//
          }
        }
      }
    }
  }

答案 1 :(得分:-1)

显然,GestureOverlayViews可以拥有多个onGestureListeners。

检查方法addOnGestureListener()和addOnGesturePerformedListener()。