IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Redimensionnement de conteneurs [Flex4]


Sujet :

Flex

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut Redimensionnement de conteneurs
    Bonjour,

    je suis en train de créer un composant censé positionner dynamiquement des points sur un fond de plan (des places dans une salle pour être précis).
    Lorsque le fond de plan est plus grand que le composant, des ascenseurs permettent le défilement.

    Le fond de plan et les places sont positionnés dans un <s:Group/> avec un BasicLayout (donc positionnement absolu).
    Mon problème : lorsque je scrolle, les coordonnées semblent être à une échelle différente pour l'image et les points.

    Pour le constater, voir les pièces jointes.
    J'ai un fond de plan avec une échelle numérotée de 1 à 20 (pour bien repérer où sont mes points).
    Sans scroll, mon petit bonhomme est entre le 5 et le 6. Après un peu de scroll, on le retrouve presque en face du 7.
    Le comportement est reproductible également avec un scroll horizontal.

    Y a-t-il une raison logique à ça ? (j'imagine que oui )

    Les points (places) sont positionnés dynamiquement par le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Création des nouvelles places.
    for each (var sd:SeatData in _seats)
    {
      seat=new Seat();
      seat.seatData=sd; // Alimentation des données du composant.
      roomContainer.addElement(seat);
    }
    seatData contient entre autres les coordonnées en X et en Y qui contraignent le composant Seat.

    Le code (allégé) du composant contenant le fond de plan et les places :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       xmlns:components="sia.gestion.components.*"
                       xmlns:seat="sia.gestion.components.seat.*"
                       width="100%"
                       height="100%">
        <s:Scroller width="100%"
                    height="100%">
            <s:Group id="roomContainer"
                     horizontalScrollPosition="0"
                     verticalScrollPosition="0">
     
                <s:layout>
                    <s:BasicLayout/>
                </s:layout>
                <mx:Image id="fondPlanImage"
                          x="0"
                          y="0"
                          z="0"/>
            </s:Group>
        </s:Scroller>
    </s:BorderContainer>
    Merci pour vos réponses

    Alban
    Images attachées Images attachées    
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    J'ai l'impression que le problème vient des dimensions des conteneurs.
    Dans mon exemple :
    - le scroller a des dimensions de 835x320 ;
    - le group a des dimensions de 820x305 (15 px de moins, ça colle avec la largeur des barres de défilement) ;
    - l'image a des dimensions de 875x443.

    Arrêtez-moi si je pars dans les choux, mais étant donné ce que je souhaite obtenir :
    - le scroller devrait avoir la taille de ce qui est visible ;
    - le group et l'image devraient avoir exactement la même taille (les places sont positionnées dans le group avec leur coordonnées en pixels par rapport au coin supérieur gauche de l'image).

    Sauf que...
    Quand je donne les mêmes dimensions au group (binding de width et height sur l'image), le tout "sort" du scroller (qui ne scrolle plus). J'imagine que c'est à ce niveau que me fourvoie...

    (note : mon image est chargée dynamiquement depuis un service web, je ne connais pas a priori ses dimensions)
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Problème résolu par le caractère non-déterministe de l'informatique. J'ai recodé mon composant (presque à l'identique) et le souci a disparu.

    Comprendra qui pourra...
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Existe-t-il un conteneur déplaçable et redimensionnable ?
    Par pascollin dans le forum GTK+ avec Python
    Réponses: 3
    Dernier message: 10/09/2009, 14h07
  2. Réponses: 0
    Dernier message: 02/09/2009, 15h13
  3. redimensionnement conteneur / contenu
    Par arnlig3550 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 02/02/2009, 14h34
  4. Usercontrol redimensionné dans conteneur
    Par pink976 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 28/04/2008, 14h23
  5. Redimensionner JButton dans son conteneur
    Par chico_du_33 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 09/12/2006, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo