Comment dessiner la toile en ce qui concerne l'orientation du téléphone (paysage, portrait)?
-
29-09-2019 - |
Question
Il n'y a pas de problème avec le mode portrait, mais quand je fais de mon application en mode paysage, il ne semble pas la façon dont il est should.What aproche générale pour résoudre cette première idée problem.My remplace X et Y places.If je suis sur la bonne voie comment dois-je faire? Dois-je utiliser une instruction if au début de la fonction onDraw () et écrire tout le même code deux fois (une pour x, y et d'autres est pour y, x)?
La solution
Il ne devrait pas être nécessaire pour votre échanger les coordonnées X et Y dans votre dessin. Par défaut, lorsque les applications sont mises en rotation, sont donc les systèmes de coordonnées.
Autres conseils
On dirait que vous spécifiez largeurs et hauteurs absolues pour vos appels de dessin. Par exemple, si vous avez enregistré myWidth = 480 et myHeight = 800 au début, et faire tout votre dessin de cette façon, puis lorsque le dispositif est mis en rotation, pas les largeurs et la hauteur sont plus applicables.
Je pense que la solution pour vous ici est d'écouter callbacks changé de taille et de réinitialiser votre idée en conséquence de la largeur et la hauteur. Si vous dessinez directement dans une vue, vous voulez remplacer View.onSizeChanged ().