Come disegnare tela per quanto riguarda l'orientamento del telefono (paesaggio, ritratto)?
-
29-09-2019 - |
Domanda
Non c'è nessun problema con la modalità verticale, ma quando provo la mia applicazione sulla modalità orizzontale non sembra come should.What è aproach generale per risolvere questa prima idea problem.My sta sostituendo X e Y places.If io sono sulla strada giusta come devo fare questo? Devo usare un'istruzione if all'inizio della funzione OnDraw () e scrivere tutto il codice stesso due volte (una per x, y ed altro è per la y, x)?
Soluzione
Non ci dovrebbe essere alcun bisogno per il vostro per scambiare le coordinate X e Y nel disegno. Per default, quando vengono ruotati applicazioni, quindi sono i sistemi di coordinate.
Altri suggerimenti
Sembra che si sta specificando larghezze e altezze assolute per le chiamate di disegno. Per esempio, se è stato salvato myWidth = 480 e myHeight = 800 nella fase iniziale, e fare tutto il disegno in questo modo, poi, quando il dispositivo viene ruotato, le larghezze e altezza non sono più valide.
Credo che la soluzione per voi è quello di ascoltare dimensioni cambiato callback e reimpostare la vostra idea di larghezza e l'altezza di conseguenza. Se si sta disegnando direttamente in una vista, si desidera ignorare View.onSizeChanged ().