MrFlo Posté(e) 22 mars 2013 Share Posté(e) 22 mars 2013 Bonjour ! Voilà mon soucis : je suis en plein apprentissage du Java pour Android, et j'ai réalisé un petit morpion, avec la contrainte de pouvoir choisir le nombre de case de mon plateau, et que la UI (taille du plateau et des cases) se calcule dynamiquement. Je fais tout en pur Java, pas de XML. Problème : en mode "portrait", l'affichage se fait correctement, mais en mode "paysage" le plateau est cropé en bas ! pourtant la taille récupérée est bien la même dans les deux cas. Je code sous Eclipse, et j'ai testé aussi bien sur un émulateur que sur une tablette, et le problème est le même. ESt-ce que qqun a une idée de pourquoi ? Au besoin, je fournis du code. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 25 mars 2013 Share Posté(e) 25 mars 2013 La taille récupérée ne devrait pas être la même selon l'orientation, c'est peut être là ton problème. Un extrait de ton code aiderait effectivement à comprendre... Lien vers le commentaire Partager sur d’autres sites More sharing options...
MrFlo Posté(e) 25 mars 2013 Auteur Share Posté(e) 25 mars 2013 Salut, alors j'utilise les méthodes ci-dessous : private static int getWidth(Context mContext){ int width=0; WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB_MR2){ Point size = new Point(); display.getSize(size); // ERROR HERE - BEWARE OF API CHECK width = size.x; Log.i("GetWidth", "méthode 1"); } else{ width = display.getWidth(); // deprecated Log.i("GetWidth", "méthode 2"); } return width; } private static int getHeight(Context mContext){ int height=0; WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB_MR2){ Point size = new Point(); display.getSize(size); // ERROR HERE - BEWARE OF API CHECK height = size.y; }else{ height = display.getHeight(); // deprecated } return height; } j'ai vérifié dans la première fonction, et le programme passe bien dans le premier Log.i. Cela dit, la seconde méthode (display.getWidth()) donne le même résultat. une idée ?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.