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
Antwort
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;
}
}
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
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.
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
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