2013-05-15 10 views
24

Come si disegna una vista sopra tutte le altre attività indipendentemente da ciò che stanno visualizzando e senza utilizzare attività trasparenti o consumare i propri eventi touch.Android: come disegnare gratis su qualsiasi cosa (qualsiasi attività)

È come visualizzare un'icona personalizzata sullo schermo sopra tutte le altre app che reagiscono quando viene toccato, ma è comunque possibile toccare le altre visualizzazioni sullo schermo.

Esempio: teste di chat di Facebook che visualizza un'icona trascinabile e selezionabile sullo schermo indipendentemente da ciò che si sta facendo, sia che si sia sulla schermata iniziale o sui menu di app o su qualsiasi app. Puoi ancora fare clic sull'icona della chat head e sugli elementi dell'applicazione in background separatamente

Come fare qualcosa del genere?

risposta

31

Date un'occhiata a questo articolo fresco, credo che sia esattamente quello che vuoi:

http://www.piwai.info/chatheads-basics

In breve: si desidera aggiungere questa autorizzazione per il vostro manifesto:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 

Per api >= 23, è necessario richiedere l'autorizzazione di runtime Settings.ACTION_MANAGE_OVERLAY_PERMISSION

Quindi in un servizio, ottenere t egli window manager

windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); 

e aggiungere le vostre opinioni con il metodo addView

+0

Esattamente! questa è la risposta di cui avevo bisogno Grazie a un compagno TON! – Allahjane

+0

Vedere http://stackoverflow.com/help/how-to-answer e http://meta.stackexchange.com/a/8259/307923 – arekolek

+0

Questo funziona per me su <23 dispositivi, non sul mio dispositivo 23. Ho scelto come target 22. Devo eseguire l'upgrade a 23+ e implementare permessi di runtime per raggiungere questo obiettivo? – SlashG

3

Dai uno sguardo allo WindowManager. Puoi fare qualcosa come (WindowManager)mContext.getSystemService("window"); se vuoi ottenere la vista root e usare il metodo addView(view, params) se vuoi aggiungere una vista.

+1

rilevante, ma avevo bisogno di più dettagli! grazie per il tuo contributo comunque – Allahjane

+0

Usando questa mia casa, i pulsanti sul retro non funzionano –

Problemi correlati