Domanda

Ho fatto un paio di applicazioni per Android, ma nessuno grafica utilizzata più di tanto. Ora sto cercando di fare un gioco vero e proprio. Ho alcuni bitmap che sono sulla mia tela. Il mio problema è che non sono sicuro dove inizializzare le loro posizioni. e negli avvenimenti OnTouch voglio per assicurarsi che le immagini bitmap non lo fanno al di fuori randagio lo schermo. Ad esempio, l'inizializzazione di una bitmap:

canvas.drawBitmap(glider.getGraphic(), 30, 20, null);

20 e 30 erano arbitrario. Ma voglio essere in grado di scrivere qualcosa di simile screen.getWidth () quindi so esattamente dove il bitmap è relativo al bordo dello schermo. Non riesco a trovare questo nel riferimento sviluppatori.

È stato utile?

Soluzione

Se stai solo cercando di ottenere le dimensioni dello schermo, date un'occhiata alla classe DisplayMetrics . È possibile ottenere un'istanza e le misure in questo modo:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenHeight = metrics.heightPixels;
int screenWidth = metrics.widthPixels;

tenere a mente questa è la dimensione dello schermo assoluto. Se stai facendo un gioco a schermo intero, questo funzionerà bene, ma in caso contrario, è necessario tenere a mente la dimensione della barra di notifica, e, eventualmente, la barra del titolo. Potrebbe essere meglio in quel caso per ottenere solo l'altezza del SurfaceView sé e usarlo per i vostri calcoli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top