2012-01-11 16 views
7

Attualmente sto progettando semplici popup di suggerimenti utilizzando la classe PopupWindow. Sono in grado di ignorare il popup quando si fa clic al di fuori del contenuto. Tuttavia, gli eventi tattili esterni vengono consumati dal layout della sottolineatura. Come posso consumare i tocchi esterni in modo che, quando si fa clic all'esterno, il popup sia ancora disattivato, ma non sono stati inviati eventi di tocco al layout sotto il mio PopupWindow?Come consumare e chiudere PopupWindow quando si fa clic all'esterno?

proprietà insieme corrente:

mPopupWindow.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.popup_bg)); 
mPopupWindow.setOutsideTouchable(true); 

risposta

10

scopre che c'è un modo per farlo! Dopo aver esaminato in profondità PopupWindow e ListPopupWindow ho scoperto l'opzione setFocusable (true); farà esattamente quello di cui avevo bisogno!

+0

Ho dovuto aspettare 2 giorni prima che io possa :( – Jona

+0

Grazie mille, molto più facile di quanto immaginassi - funziona :) – Mark

4

Se si utilizza ListPopupWindow, lo setModal(true) farà il trucco.

+0

Questa dovrebbe essere la risposta accettata – marmor

Problemi correlati