2013-01-13 16 views
10

Sto scrivendo un gioco per OUYA e Android e sto utilizzando il trackpad sul controller OUYA. Quando lo tocchi, un puntatore del mouse si avvicina e non riesco a trovare un modo per nasconderlo. Immagino che questo sarebbe un problema per i giochi su un netbook Android. Qualcuno ha trovato un modo per interagire con il cursore invece di limitarsi ad ascoltare gli eventi?Nascondi puntatore del mouse su Android

+0

Sembra essere un problema su entrambi i lati Java e Unity: http://forums.ouya.tv/discussion/comment/2968 Si consiglia di prendere parte a quella discussione, o avviarne una nuova, come penso quei forum hanno un amore un po 'più ufficiale di quanto non faccia. – CommonsWare

+0

Sì, ho letto quel thread e da quello che ho raccolto non c'è una connessione JNI per consentirlo da Unity. Sto solo usando Java quindi ho pensato di postare qui e vedere se c'era una soluzione Android generale. – CaseyB

risposta

7

Questo non nasconderà il mouse, ma sarà almeno aiutare a prevenire gli eventi touch di interferire con il vostro codice di elaborazione joystick - non è una soluzione adeguata lo so, ma comunque potrebbe aiutare le persone che sbarcano in questa pagina:

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

Ho provato a sovrascrivere questo per il mio NativeActivity. Posso sovrascrivere onKeyDown() e onKeyUp() ma quando provo a sovrascrivere la funzione motion, ottengo: "il metodo non sovrascrive o implementa un metodo da un supertipo" – Bram

3

Attualmente Android non espone alcuna funzionalità per nascondere il cursore del mouse. Ogni volta che si dispone di un dispositivo di puntamento esterno (es. Mouse USB/bluetooth, trackpad, ecc.), Sullo schermo viene visualizzato un puntatore del mouse ogni volta che si interagisce con il dispositivo.

Sfortunatamente (a partire da JB 4.2.2) ciò significa che è impossibile senza una ROM modificata.