2010-06-09 5 views
4

comment différencier les écrans 480X800 et 480X854. Nous avons une option pour mettre une image dans le dossier hdpi. Dans mon cas, l'image 480X800 ne supporte pas l'image 480X854. il montre un espace vide en bas. Une idée?comment différencier les écrans 480X800 et 480X854 dans Android?

Édition: je règle l'image en arrière-plan. sur ma mise en page j'ai des vues d'image transparentes avec des marges. Si je clique sur la vue de l'image, je fais une tâche. mais entre ces deux écrans. Je peux ajuster la valeur pour un. dans un autre, l'image était légèrement recouverte. alors que puis-je faire? peux-tu comprendre mon problème? aidez s'il vous plaît.

Répondre

1

Vous pouvez extraire la résolution du processus en cours, mais vous ne pouvez pas extraire la résolution exacte. Comme je sais, il n'y a aucun moyen de différencier les deux "grands" écrans, le mieux que vous pouvez espérer est de supporter n'importe quelle taille avec votre application.

Si vous affichez une image (et en supposant que vous ayez rendu l'application disponible pour toutes les tailles d'écran), faites en sorte que l'image soit aussi grande que la plus grande résolution et que l'autre bit ne s'affiche pas. Si le fichier image est petit, vous ne devriez pas avoir de problème.

BTW, j'ai résolu le problème d'abord en rendant la disposition de l'application accessible à toutes les résolutions d'écran, et la personnalisation pour les résolutions inférieures.

espérons que cela a aidé!

4

Vous ne devriez pas vraiment faire la différence entre les deux; vous devriez faire un effort pour supporter juste la densité de chaque écran plutôt que des résolutions d'écran spécifiques. Sinon, vous vous retrouverez dans un pétrin lorsque des appareils avec des résolutions d'écran encore différentes sortiront. C'est pourquoi nous avons des images de neuf patchs! :)

Voir aussi cette question:
What resolution should my Android splash screens be?

Si vous avez absolument besoin de faire la différence entre les deux, vous pouvez utiliser les qualificatifs de ressources long and notlong. par exemple. WVGA est values-hdpi-notlong et FWVGA est values-hdpi-long.
Apparemment this isn't correct, qui est all the more reason à pas et de créer des ressources génériques qui peuvent gérer les petits changements de résolution.

+0

WVGA et FWVGA les deux sont des valeurs relèvent de la normale longue. Cochez cette case: http://developer.android.com/guide/topics/resources/providing-resources.html#table2 Y a-t-il un autre moyen de différencier WVGA et FWVGA? – Praveen

+0

Oh, en effet; Je me demande si cela a changé ou si je l'ai imaginé. Dans ce cas, il se peut qu'il n'y ait pas de façon (non déconseillée) de le faire. –

1

droit de Christopher, vous devez rendre votre application flexible, mais si vous avez besoin de la résolution de l'écran réel que vous pouvez utiliser:

 
Display d = ((WindowManager)activity.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
int width = d.getWidth(); 
int height = d.getHeight(); 

De là, vous pouvez rééchelonner ou zoom avant/arrière au besoin ou tout simplement utiliser 9patch. Cela dépend de l'application bien sûr, mais vous pouvez envisager de mettre 480x854 image dans votre dossier res/et assurez-vous qu'il semble juste sur 480x800 juste centré.

+0

Je définis l'image comme arrière-plan. sur ma mise en page j'ai des vues d'image transparentes avec des marges. Si je clique sur la vue de l'image, je fais une tâche. mais entre ces deux écrans. Je peux ajuster la valeur pour un. dans un autre, l'image était légèrement recouverte. alors que puis-je faire? peux-tu comprendre mon problème? aidez s'il vous plaît. – Praveen

1

Créer un dossier layout-hdpi-854x480

Questions connexes