Canvas di Android – Disegna un buco

È ansible realizzare la seguente image in Android con canvas?

Immagine con foro

  • Come disegnare il poligono pieno?
  • Ho bisogno di riempire il field di text in modo programmato in una pagina web aperta all'interno di un WebView. Come?
  • Android: View.getTag / setTag e IllegalArgumentException
  • Come memorizzare nuovi valori nel file csv esistente in Android?
  • Come restituire l'object JSON da PHP per leggere da Android App
  • Il gradiente Android build System.getEnv ("RELEASE_PASSWORD") restituisce null
  • Voglio avere un foro e non solo un Cerchio sopra lo strato rosso che è giallo colorato. Ho provato questo (e fallito) con il seguente codice nel mio onDraw() :

     canvas.drawBitmap(yellow, 0, 0, paint); canvas.drawBitmap(red, 0, 200, paint); Paint p = new Paint(); p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); canvas.drawCircle(300, 300, radius, p); 

    Ma quando uso questo codice, fa un buco attraverso entrambi i bitmap. Alla fine, questa applicazione dovrebbe essere un labirinto con una palla, buchi e altre cose. Quando la palla cadrebbe in un foro dovrebbe apparire sotto il bitmap rosso. È ansible realizzare questo?

    Risposta:

    Se qualcuno dovrebbe avere lo stesso problema: utilizzare View e non SurfaceView. Quella era colpa mia, perché il bg di un SurfaceView non poteva essere trasparente.

  • Attiva il menu CAB quando su OnClickEvent su Android
  • Rimuovi decimali da un numero visualizzato in un TextView
  • GCM Error = MissingRegistration che invia messaggi tramite JSON
  • Come posso cambiare la lingua della mia applicazione?
  • Riga colors alternativa di Android in ListView
  • invia richiesta utilizzando json in android
  • One Solution collect form web for “Canvas di Android – Disegna un buco”

    Penso che tu sia incapace di capire come funzionano le telecamere / bitmap. Non ci sono strati o oggetti memorizzati (a less che non li memorizzi). È solo un pixel per rappresentazione pixel dell'image visualizzata. Un cerchio giallo su un quadrato rosso è quello che hai mostrato nell'image sopra.

    Se vuoi veramente uno strato rosso, devi comporre due bitmap. Disegnare il foro sopra il quadrato rosso in una bitmap, disegnare il livello giallo in una bitmap. Sulla canvas, disegnare la bitmap gialla, quindi sulla bitmap "rosso quadrato con foro".

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.