2012-05-25 10 views
8

Sto lavorando a un gioco per Android (Sky Hiking - Google Play, Github). Voglio aggiungere un'opzione di "aiuto" per il gioco in cui andrà sui componenti del gioco uno per uno, puntare a loro con una freccia e avere una casella di testo per indicare a cosa servono. Sto cercando consigli su qual è il modo migliore per raggiungere questo obiettivo. Devo visualizzare un'immagine enorme (parzialmente trasparente) sull'attività di gioco che contiene la freccia (mi servirà un'immagine per ogni freccia per ciascun componente del gioco).Visualizza un overlay "help" su un layout Android

Modifica: C'è anche un problema nel fare questo per schermi di dimensioni diverse.

Qual è la migliore pratica su questo?

risposta

6

Ecco cosa farei in questo caso. Esso non può essere la soluzione migliore, ma dovrebbe funzionare, indipendentemente dalle dimensioni dello schermo:

fare quanto segue in un ciclo, una volta per ogni elemento:

  1. ottenere la posizione attuale del elemento sullo schermo.
  2. Disegna la tua freccia in una posizione accanto al tuo elemento. Puoi ottenere questa posizione ottenendo le coordinate X e Y dell'elemento e aggiungendo una certa quantità di spazio. Ad esempio, se l'elemento è 10, 10, traccia la freccia a 25, 25. Puoi tenere in considerazione la larghezza dell'elemento mentre decidi dove disegnare la freccia. Dovresti anche controllare se il lato sinistro o destro ha più spazio disponibile e disegnare su quel lato. Inoltre, puoi disegnare la freccia su un lato e il testo su un altro se l'elemento è vicino al centro.
  3. Dopo aver disegnato la freccia, è possibile mostrare la casella di testo con il contenuto della guida su un'altra parte dello schermo. È possibile memorizzare il contenuto della guida in XML e visualizzare la stringa appropriata per questo elemento.
  4. Rimuovere la freccia e la casella di testo in preparazione per l'elemento successivo.
+0

problemi potrebbero verificarsi se l'elemento che necessita di spiegazione è sul lato destro dello schermo, quindi è necessario controllare quanto spazio è lasciato sul lato destro ogni volta che si desidera inserire la freccia e il testo della guida – banzai86

+0

@ banzai86 Buona cattura . Ho modificato il punto 2 per riflettere questo. –

0

Suggerirei di dare un'occhiata a PopupWindow. Può visualizzare una vista arbitraria (il puntatore e la casella di testo) e può essere ancorata a una vista di tua scelta (quella che stai spiegando).

Problemi correlati