2013-01-13 13 views
10

Ich schreibe ein Spiel für OUYA und Android und ich benutze das Trackpad auf dem OUYA-Controller. Wann immer Sie es berühren, erscheint ein Mauszeiger und ich finde keine Möglichkeit, sie zu verstecken. Ich stelle mir vor, das wäre ein Problem für Spiele auf einem Android-Netbook. Hat jemand eine Möglichkeit gefunden, mit dem Cursor zu interagieren, anstatt nur auf Ereignisse zu warten?Mauszeiger auf Android verstecken

+0

Scheint ein Problem sowohl auf der Java-Seite als auch auf der Unity-Seite zu sein: http://forums.ouya.tv/discussion/comment/2968 Vielleicht möchten Sie in diese Diskussion hineinspielen oder eine neue beginnen, wie ich denke diese Foren bekommen ein bisschen mehr offizielle Liebe als SO. – CommonsWare

+0

Ja, ich habe diesen Thread gelesen und von dem, was ich erfahre, gibt es keine JNI-Verbindung, um das von Unity zu erlauben. Ich benutze nur Java, also dachte ich, ich würde hier posten und sehen, ob es eine allgemeine Android-Lösung gibt. – CaseyB

Antwort

7

Dies wird die Maus nicht verbergen, aber es wird zumindest helfen, Berührungsereignisse stören Joystick Verarbeitungscode zu verhindern - keine richtige Lösung, die ich weiß, aber vielleicht noch Menschen helfen, die auf dieser Seite landen:

public boolean onGenericMotionEvent(MotionEvent event) { 
    if ((event.getSource() & InputDevice.SOURCE_CLASS_JOYSTICK) != 0) { 
     //handle the event 
     return true; 
    } 
    else { 
     return false; 
    } 
} 
+1

Ich habe versucht, dies für meine NativeActivity zu überschreiben. Ich kann für onKeyDown() und OnKeyUp() außer Kraft setzen, aber wenn ich versuche, die Bewegungsfunktion zu überschreiben, bekomme ich: "Methode überschreibt oder implementiert eine Methode von einem Supertype nicht" – Bram

3

Android stellt derzeit keine Funktionalität zum Verstecken des Mauszeigers aus. Immer wenn Sie ein externes Zeigegerät haben (z. B. USB/Bluetooth-Maus, Trackpad, usw.), erscheint ein Mauszeiger auf dem Bildschirm, wenn Sie mit dem Gerät interagieren.

Leider (ab JB 4.2.2) bedeutet dies, dass es ohne ein modifiziertes ROM unmöglich ist.