Jump to content

Archived

This topic is now archived and is closed to further replies.

gyscos

[Archos 5 IT] Taille de l'application et autres problèmes...

Recommended Posts

Bonjour à tous !

J'ai récemment reçu un Archos 5 IT, pour lequel je développais une application depuis quelques temps, sur l'émulateur d'éclipse.

Décidant à présent de tester mon produit "en live", je balance mon application dessus, mais surprise : le rendu est différent...

(A noter : avant de jouer avec, je l'ai mis à jour vers Donut aujourd'hui).

Mon application est constituée d'une seule SurfaceView, qui se charge ensuite de tout dessiner.

Le principal problème est que l'image apparait trop grosse, et du coup déborde à droite et en bas...

Je lance donc un petit message de debug depuis mon appli, et ça me dit que la résolution attribuée à la surface est de 711x359... Contre une résolution attendue de 800x432 (800x480 - 48px à cause de la barre Archos).

Autre problème, peut-être lié : malgré mon

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

à la fin du onCreate de mon Activity, la bande allouée pour la barre d'état de l'application reste, elle ne contient juste plus la barre... cela me fait une petite barre noire au dessus de l'application, qui contribue à prendre de la place...

(getLeft et getTop depuis la SurfaceView me donnent 0 et 0, donc c'est bien une barre au dessus de l'appli)

Auriez-vous une idée de ce qui m'arrive ?

Merci encore à tous ceux qui pourront m'aider... :)

Share this post


Link to post
Share on other sites

Résolu : je programmais pour le SDK 1.5, alors que l'archos tournait en 1.6... J'ai changé le Manifest, et tout marche maintenant...

Quoique... je viens de remarquer qu'après avoir chargé mes images avec BitmapFactory.decodeRessource(), elles font 1.125 fois leur taille normale (c'est ce que dit bitmap.getWidth() et getHeight(), comparé à la taille des images dans gimp).

De plus, leur densité est de 180, alors que celle du canvas est 0.

Je ne sais pas exactement ce que cela signifie (180 dpi ? % ?) ni la valeur que prend le canvas au final... est-ce que ça pourrait venir de là ?

EDIT : finalement, c'était bien un problème de densité : BitmapFactory.Option() avait une valeur de inDensity de 160 mais inTargetDensity de 180...

J'ai donc mis inDensity à la même valeur que inTargetDensity avant de l'ajouter aux paramètres de decodeRessource, et ça marche bien ! :)

Share this post


Link to post
Share on other sites





×
×
  • Create New...