Canvas di Android – Disegna un buco

È ansible realizzare la seguente image in Android con canvas?

Immagine con foro

  • Come posso visualizzare l'Album Art utilizzando MediaStore.Audio.Albums.ALBUM_ART?
  • TabLayout (libreria di design di Android) Colore del text
  • Stato del frammento del cassetto di navigazione di Android
  • Come modificare le Immagini delle tabs nel TabHost
  • Imansible sincronizzare il progetto Gradle
  • Come aggiornare l'elenco di liste di Android?
  • 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.

  • Android SDK di Facebook: generare hash di release key
  • Come leggere i dettagli del tag NFC rilevati (contenuto NDEF) in android?
  • Come memorizzare il text in output vocale come file WAV?
  • Come salvare lo stato durante il cambio di orientamento in Android se lo stato è fatto delle mie classi?
  • Stato attività di salvataggio in onPause
  • La fatturazione Google in-App, IllegalArgumentException: l'intento di servizio deve essere esplicito, dopo l'aggiornamento a Android L Dev Preview
  • 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.