2011-07-25 2 views
0

J'ai développé une application utilisant adobe flex 3. Il y a beaucoup de composants personnalisés dans cette application. J'ai développé ce produit en supposant une résolution d'écran minimale de 1024 * 768 et donc des largeurs codées en dur de quelques composants. Mais j'ai appris que le client utilise le produit sur un projecteur avec une résolution de 800 * 600.Application Flex 3 faite pour une résolution plus élevée (1024 * 768 ou plus) ne fonctionnant pas en résolution moindre (800 * 600)

Lorsque j'ai essayé d'exécuter l'application sur une résolution 800 * 600, je n'ai pas pu utiliser l'application car peu d'écrans ne sont pas complètement visibles.

Je prévois que si faire l'application pour 800 * 600, il ne sera pas bon sur une plus grande résolution.

Je voudrais savoir comment je peux résoudre ce problème avec un minimum d'effet? Je suis incapable de décider si je dois refaire la plupart des composants avec une résolution moindre.

[Modifier]

Sur la base des réponses, pour tester, j'ai changé la largeur et la hauteur d'un composant à 100%. Fondamentalement, ce composant est un TitleWindow avec un ControlBar en bas. et est utilisé pour popup. Le problème auquel je suis confronté est, le ControlBar n'est pas vu. L'application a VerticalScrollBar mais toujours incapable de faire défiler dans le popup. Sur défilement vertical, l'application défile mais pas la fenêtre contextuelle.

J'espère que vous comprenez mon problème et que vous pouvez suggérer une solution.

Merci

Anji

Répondre

1

Vous ne devriez pas utiliser des tailles hardcoded du tout. Utilisez percentWidth, percentHeight et les contraintes de mise en page.

+0

Merci pour votre réponse. Ouais j'aurais pu utiliser, mais au cours du développement, j'ai eu l'impression que la résolution minimale est de 1024 * 768 et les valeurs codées en dur de largeur et de hauteur pour quelques enfants dans un composant personnalisé. – Anji

+0

+1 Vous utilisez des valeurs de largeur/hauteur absolues, vous êtes presque toujours en difficulté. –

1

Une option consiste à utiliser des largeurs en pourcentage. Dans ActionScript, vous pouvez définir les propriétés percentWidth et percentHeight sur le composant. Dans MXML, vous pouvez simplement spécifier le signe de pourcentage dans la propriété de largeur ou la hauteur, comme ceci:

<mx:UIComponent width="100%" height="100%" /> 

Une autre option est de taille et la position de vos enfants dans updateDisplayList() en fonction de la taille du composant. Les valeurs passées dans updateDisplayList() sont la hauteur et la largeur du composant, telles que définies par le parent de ce composant.

Bien que MXML puisse le masquer, tous les composants sont parfois dimensionnés et positionnés leurs enfants dans updateDisplayList() en fonction de la taille définie par le parent.

+0

Merci pour votre réponse. J'ai mis à jour ma question. – Anji

+1

@Anji vous allez devoir montrer du code et/ou des captures d'écran pour plus d'aide. Je ne peux pas vous orienter dans une direction spécifique en fonction de vos mises à jour. – JeffryHouser

Questions connexes