Ich bin ein bisschen puzzeld jetzt:GestureOverlayView nicht funktioniert
Ich habe 4 Gesten der Gesturebuilder 1 Geste ist ein Swipe nach oben zeigt 2-Geste ist eine Swipe nach unten zeigt 3 Geste ist ein Swipe nach links zeigt 4 Geste ist ein Swipe nach rechts
aber wenn ich versuche, eine Geste auf dem laufenden App zu machen nur links und rechts erkannt wird, sondern auch Nähte es wie oben und unten sind die gleichen wie links und rechts , weil die Methode gibt mir die getsures als toat
der Toast für links zeigt klauen: oben, links
Ich bin auch eine benutzerdefinierte Ansicht in meiner Tätigkeit und eine OntouchListener verwenden, aber ich kann es nicht
Aktivität an der Arbeit:
public class RunActivity extends Activity implements OnTouchListener, OnGesturePerformedListener {
static int width;
static int height;
static boolean reset=false;
draw d;
//jump
private GestureLibrary gestureLib;
private static Context mContext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
d = new draw(this);
d.setOnTouchListener(this);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
mContext = this;
//get screen size
WindowManager wm = (WindowManager) this.getContext().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
width = display.getWidth(); // deprecated
height = display.getHeight(); // deprecated
//Jump
GestureOverlayView gestureOverlayView = new GestureOverlayView(this);
View inflate = d;
gestureOverlayView.addView(inflate);
gestureOverlayView.addOnGesturePerformedListener(this);
gestureLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
if (!gestureLib.load()) {
finish();
}
setContentView(gestureOverlayView);
//setContentView(d);
}
public static Context getContext(){
return mContext;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d("touch","touched");
if (draw.end == true)
{
reset=true;
}
return false;
}
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = gestureLib.recognize(gesture);
for (Prediction prediction : predictions) {
if (prediction.score > 1.0) {
Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT)
.show();
}
}
}
}
Ich habe das versucht, aber die Hoch/Runter-Geste wird immer noch nicht erkannt – user1293780
Haben Sie das gelöst? – Sarvesh
Dies scheint das gleiche Problem mit meiner Gestenimplementierung zu sein. Irgendwelche Ideen ? – Sarvesh