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

Composants graphiques Android Discussion :

Positionnement dynamique dans un relative layout


Sujet :

Composants graphiques Android

  1. #1
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut Positionnement dynamique dans un relative layout
    Bonjour,

    Je souhaite positionner un objet à gauche d'un ImageView. En xml, il n'y apas de problème, j'utilise le code suivant:
    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
    24
     
     <RelativeLayout
                android:id="@+id/main"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
     			<ImageView
     			    android:id="@+id/bulle"
     			    android:layout_width="wrap_content"
     			    android:layout_height="wrap_content"
     			    android:layout_marginTop="50dp"
     			    android:adjustViewBounds="true"
     			    android:maxHeight="100dp"
     			    android:maxWidth="100dp"
     			    android:src="@drawable/bullet11"  />
     
     			<ImageView
     			    android:id="@+id/left"
     			    android:layout_width="wrap_content"
     			    android:layout_height="wrap_content"
     			    android:layout_toLeftOf="@+id/bulle"
     			    android:adjustViewBounds="true"
     			    android:maxWidth="320dp"
     			    android:src="@drawable/left" />
     </RelativeLayout>
    Mon problème est qu'en réalité, le composant que je dois afficher est un descendant de View que j'ai créé pour afficher des gifs animées.
    Je dois donc l'instancier dynamiquement et surtout le positionner dynamiquement.
    J'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    RelativeLayout emplacement=( RelativeLayout ) findViewById(R.id.main );
    MyGifView animation=new MyGifView(this.getBaseContext(),R.drawable.gifanim);
    		LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    		params.setMargins(0,0, 0,0);
     
    		animation.setLayoutParams(params);
    		setContentView(animation, params);
    mais je n'obtiens pas le résultat escompté, l'image occupe tout l'écran. Je n'ai pas trouvé d'équivalent à "android:layout_toLeftOf" dans les classes LayoutParams et View.
    Quelqu'un pourrait-il m'aider? Pour info, je cible android 4.0
    7 fois à terre, 8 fois debout

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Pourquoi ne pas directement utiliser le MyGifView dans le XML de layout ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  3. #3
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Parce que, sauf erreur de ma part, l'application refusait de s'exécuter car MyGifView n'est pas un type valide.
    J'ai donc opté pour le chargement dynamique.
    En continuant à chercher, j'ai trouvé LayoutParams.addRule qui devrait me permettre d'avancer. ça donne quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    params.addRule(RelativeLayout.LEFT_OF,R.id.relativeLayout1);
    Je vais essayer...
    7 fois à terre, 8 fois debout

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Pourtant on peut très bien rajouter une view custom directement dans le layout XML, cela ne pose aucun soucis...

    Quel est l'erreur obtenue ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Désolé de ne pas avoir répondu plus tôt, mais j'ai fait tellement d'A/R entre mes différents tests que je ne savais plus quel était le problème lorsque je rajoutais le custom view dans le layout xml

    J'ai donc réessayé et voilà mon problème:
    "Unfortunately, UI as stopped" et paf, l'appli se ferme.
    7 fois à terre, 8 fois debout

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Et paf... doit y avoir un logcat avec l'erreur....

    Il y a bien tous les constructeurs de View dans MyGifView ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Et paf... doit y avoir un logcat avec l'erreur....
    Ouaip

    InflateException: Binary XML file line #12: Error inflating class MyGifView

    Les constructeurs existent bien et je les ai allégés jusqu'à ce qu'ils ne contiennent plus que super(context)
    Par contre comme je le disais dans mon premier post, si je le créé dynamiquement, avant de faire setContentView, il n'y a pas d'erreur (sauf que ça "bouffe" tout l'écran)
    7 fois à terre, 8 fois debout

  8. #8
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Pourrais tu nous montrer ton fichier xml ?
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  9. #9
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Voici le fichier xml
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".T11b_appel" >
     
          <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentRight="false" >
    	<MyGifView
                android:id="@+id/animation"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/main"
                 />
     
            <RelativeLayout
                android:id="@+id/main"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="67" >
     
     			<ImageView
     			    android:id="@+id/bulle"
     			    android:layout_width="wrap_content"
     			    android:layout_height="wrap_content"
     			    android:layout_marginTop="50dp"
     			    android:adjustViewBounds="true"
     			    android:maxHeight="100dp"
     			    android:maxWidth="100dp"
     			    android:src="@drawable/bullet11appel1" />
              </RelativeLayout>
    </LinearLayout>
    </RelativeLayout>
    ça se précise:
    J'ai vu un message, en "Graphical Layout", que je n'avais pas eu jusqu'à maintenant:
    The following classes could not be found:
    - MyGifView (Change to test.MyGifView, Fix Build Path, Edit XML)
    en cliquant sur Change to test.MyGifView, j'ai eu le message d'erreur suivant:
    java.lang.NullPointerException
    Custom view MyGifView is not using the 2- or 3-argument View constructors; XML attributes will not work
    Exception details are logged in Window > Show View > Error Log
    Pourtant, lors d'une création dynamique, je n'ai pas d'erreur. Par ailleurs, le code suivant pour "repositionner" mon composant créé dynamiquement ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    params.setMargins(0,0, 0,0);
    params.addRule(RelativeLayout.LEFT_OF,R.id.main);
     
    animation.setLayoutParams(params);
    setContentView(animation, params);
    L'animation occupe tous l'écran et je ne trouve pas d'équivalent à adjustViewBounds que j'utilise sur les imageView
    7 fois à terre, 8 fois debout

  10. #10
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Créer quand même tes trois contructor par défault , il s'avérerait que le fichier xml en ai besoin !

    Dans la documentation officielle
    View(Context context)
    Simple constructor to use when creating a view from code.
    View(Context context, AttributeSet attrs)
    Constructor that is called when inflating a view from XML.
    View(Context context, AttributeSet attrs, int defStyle)
    Perform inflation from XML and apply a class-specific base style.
    Du coup il te faut le deuxième constructor .

    De quoi est composé ton GifView ? et de quelle classe il hérite ?
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  11. #11
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    J'ai rajouté les constructeurs sans succès. Mon GifView est très basique. Il hérite de view et dans l'évènement onDraw, lance un gif animé sous forme de "Movie".
    Voici le code:
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    public class MyGifView extends View {
    	Movie movie,movie1;
    	InputStream is=null,is1=null;
    	long moviestart;
    	public MyGifView(Context context) {
    	super(context);
    	}
     
    	public MyGifView(Context context,AttributeSet attrs) {
    		super(context,attrs);
    	}
     
    	public MyGifView(Context context,AttributeSet attrs, int defStyle) {
    		super(context,attrs,defStyle);
    	}
     
    	public MyGifView(Context context,int ressource)
    	{
    		super(context);
     
    		is=context.getResources().openRawResource(ressource);
    		movie=Movie.decodeStream(is);
    	}
     
    	@Override
    	protected void onDraw(Canvas canvas) {
     
    	canvas.drawColor(Color.WHITE);
    	super.onDraw(canvas);
    	if (is!=null)
    	{
    	long now=android.os.SystemClock.uptimeMillis();
    	System.out.println("now="+now);
    	if (moviestart == 0) { // first time
    	moviestart = now;
     
    	}
    	System.out.println("\tmoviestart="+moviestart);
    	int relTime = (int)((now - moviestart) % movie.duration()) ;
    	System.out.println("time="+relTime+"\treltime="+movie.duration());
    	movie.setTime(relTime);
    	movie.draw(canvas,this.getWidth()/2-20,this.getHeight()/2-40);
    	}
    	this.invalidate();
     
    	}
    }
    C'est un code que j'ai récupéré tel quel dans un tuto sans trop l'avoir approfondi et en le collant dans ce post, je me dis que mon problème de positionnement vient peut-être de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    movie.draw(canvas,this.getWidth()/2-20,this.getHeight()/2-40);
    7 fois à terre, 8 fois debout

  12. #12
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Hmm rajoute le pakage devant ta MyGifView du Xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <com.mypakage.MyGifView
                android:id="@+id/animation"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toLeftOf="@+id/main"
                 />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    movie.draw(canvas,this.getWidth()/2-20,this.getHeight()/2-40);
    qu'est ce que tu veux réellement avoir à l'écran ?

    Car là tu ne dessine que sur la moitié de ton espace de ta vue avec en plus 20 en largeur et 40 en hauteur en mois :s.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  13. #13
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Hmm rajoute le pakage devant ta MyGifView du Xml
    Curieusement ça fonctionne

    Tout à l'heure il m'avait proposé de le faire tout seul en cliquant sur Fix mais j'avais l'erreur suivante
    java.lang.NullPointerException
    Custom view MyGifView is not using the 2- or 3-argument View constructors; XML attributes will not work
    Exception details are logged in Window > Show View > Error Log
    Apparemment, il n'avait pas mis le chemin complet.
    Reste la 2nde partie de mon problème:
    Mon écran est orienté en Landscape avec un RelativeLayout qui occupe 2/3 de la place. Mon GifView occupe le 1/3 gauche.
    Je voudrais que mon animation reste confinée dans ce 1/3 gauche.
    J'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    movie.draw(canvas,this.getWidth()/2-20,this.getHeight()/2-40);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    movie.draw(canvas,100,100);
    pour essayer de le forcer dans un carré de 100x100 mais sans succès
    7 fois à terre, 8 fois debout

  14. #14
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Je pense qu'il faut conserver getWidth()/getHeight()

    Il ne faut surtout pas commencer à rentrer au niveau du pixel (surtout sur android avec la quantité d'écrans possibles: 100 pixels, chez moi, ca correspond a 1/5 de l'écran en portrait, et 1/8ème de l'écran en landscape !!).

    Par contre, la taille de la GifView soit gérée au niveau du layout.
    Dans le LinearLayout is suffit de mettre un total_weight de 3 par exemple
    et un weight de 1 pour la GifView et de 2 pour le relative layout.

    C'est ce qu'on appelle une interface "fluide"
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  15. #15
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Merci beaucoup pour tous tes conseils
    Citation Envoyé par nicroman
    Dans le LinearLayout is suffit de mettre un total_weight de 3 par exemple
    et un weight de 1 pour la GifView et de 2 pour le relative layout.
    Je n'ai pas trouvé total_weight mais j'ai pu mettre weightsum=3.
    par contre, j'ai dû inverser les poids: 2 pour gifview et 1 pour le relative layout, mais ça marche!
    Enfin, si je garde getWidth()/getHeight() j'ai un espace blanc à la place de mon animation. par contre je la vois en partie si je mets
    getWidth()/4 et getHeight()/4
    Je suis en train d'approfondir tout ça
    7 fois à terre, 8 fois debout

  16. #16
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Ce n'est pas total_weight mais sum_weight il me semble
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  17. #17
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Citation Envoyé par Higgins Voir le message
    Enfin, si je garde getWidth()/getHeight() j'ai un espace blanc à la place de mon animation. par contre je la vois en partie si je mets
    getWidth()/4 et getHeight()/4
    Je suis en train d'approfondir tout ça
    Si je mets getWidth()/8 et getHeight()/8, je vois presque toute mon animation mais si j'augmente le diviseur (16 puis 32 par exemple) ça ne change plus rien à l'affichage.
    Comme dirait l'autre: la vérité est ailleurs
    7 fois à terre, 8 fois debout

  18. #18
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Après lecture de la doc
    http://developer.android.com/referen... float, float)

    ce n'est pas la taille et la hauteur qu'il te demande mais sa position en haut à gauche.

    Donc tu peux mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    movie.draw(canvas,0,0);
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  19. #19
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    J'avais pas regardé. C'est beaucoup mieux effectivement.

    Par contre, je n'ai pas vu d'équivalent à adjustViewBounds que j'utilise sur les imageView. Existe-t-il un moyen de forcer l'image à s'adapter à la taille de son conteneur?
    7 fois à terre, 8 fois debout

  20. #20
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    android:scale...

    Mais je pense que si tu fais le "draw" toi-même, il va falloir le gérer dans le draw (regarder le code de ImageView par exemple, qui stocke le mDrawMatrix nécessaire au scaling).

    D'ailleurs GifView hérite probablement de ImageView... dans ce cas, pourquoi ne pas 'simplement' demander à être appelé toutes les X ms (en fonction des frames), et juste faire un setDrawable() sur l'image-view ?
    Comme cela, toutes les fonctions de padding/scaling/draw seront gérées par l'image-view (en l'occurence le drawable).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [1.x] Menu dynamique dans un layout
    Par Jiraiya42 dans le forum Débuter
    Réponses: 0
    Dernier message: 29/08/2011, 18h30
  2. [CakePHP] [CakePHP] Elément dynamique dans le layout
    Par pc.bertineau dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 14/05/2009, 15h25
  3. [jsp] include dynamique dans une jsp
    Par petitelulu dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/03/2005, 07h59
  4. Réponses: 6
    Dernier message: 24/09/2004, 13h10
  5. [D7] Tableaux dynamiques dans un record
    Par bobby-b dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2004, 23h23

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