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 :

layout > changement de fragment & soucis Listener


Sujet :

Composants graphiques Android

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 172
    Points : 70
    Points
    70
    Par défaut layout > changement de fragment & soucis Listener
    Bonjour à tous,

    Je reviens une fois de plus requérir votre expertise:
    Je developpe actuellement une application pour tablette et voici les faits puis le soucis:

    > fait :
    > 1er écran composé de 2 fragments A et B
    > je remove un Layout du fragment B
    > je l'add à l'AbsoluteLayout englobant toute l'activité
    > je fais disparaitre A & B
    > apparition des fragments C & D
    > j'anime le layout pour le glisser dans C

    >à la fin de l'anim : je re-remove le layout pour le replacer dans le fragment B (son origine)


    Graphiquement tout est correct mais quand je reclique sur ce layout (ce qui devrait relancer l'animation réalisée une 1ere fois)

    rien ne se passe!

    l'event ne semble pas arrivé jusqu'à ce layout et je ne sais pas comment faire pour résoudre cela

    un peu d'aide serait la bienvenue
    d'avance merci

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Du code serait plus explicite.

    De plus AbsoluteLayout est totalement déprécié par la doc officielle.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 172
    Points : 70
    Points
    70
    Par défaut
    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
    public void onSousMenuClick(String title) {
     
    		this.animatedLayout = (RelativeLayout) findViewById(R.id.animated_layout);
     
    		int[] location = new int[] {0,0};
    		this.animatedLayout.getLocationOnScreen(location);
    		Log.v("x coord", ""+location[0]);
    		Log.v("y coord", ""+location[1]);
     
    		this.takeNreplaceLayout = (RelativeLayout) findViewById(R.id.takenreplace_layout);
    		this.takeNreplaceLayout.removeView(animatedLayout); 
     
    		AbsoluteLayout.LayoutParams lay_params = new AbsoluteLayout.LayoutParams(animatedLayout.getWidth(), animatedLayout.getHeight(), location[0], location[1]);
    		this.animatedLayout.setLayoutParams(lay_params);
    		this.theAbsoluteLayout.addView(animatedLayout);
     
    		/**layoutMenuContent > liste deroulante ou insérer l'animated layout*/
    		layoutMenuContent.setVisibility(View.VISIBLE);
     
    		FragmentTransaction ft = getFragmentManager().beginTransaction();
    		ft.show(fragmentMenuContent);
    		ft.show(fragmentContent);		
    		layoutMenuSousMenu.setVisibility(View.GONE);
    		layoutSousMenu.setVisibility(View.GONE);
    		ft.hide(fragmentMenuSousMenu);  
    		ft.hide(fragmentSousMenu); 
    		//ft.addToBackStack("");
    		ft.commit();
     
    		startAnimation(R.id.animated_layout, R.anim.animation_homesousmenu_2 , true);
    	}
     
    	public void afterAnimationEffect() {		
    		this.m_expandableList = (ExpandableListView) layoutMenuContent.findViewById(R.id.expandableHome);
    		this.m_expandableList.expandGroup(1);
     
    		/**on remet le layout dans son container d'origine */
    		this.theAbsoluteLayout.removeView(animatedLayout);
    		this.takeNreplaceLayout.addView(animatedLayout); 		
    	}
    comme on le voit dans le code, je me suis senti obligé d'utiliser un AbsouluteLayout même si je le sais déprécié.
    j'avais besoin de replacer le layout "découpé" au même endroit de l'ecran une fois ajouté ailleurs.

    la methode afteranimationeffect() est appelée dans l'animationListener:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    animation.setAnimationListener(new AnimationListener() {
    			@Override
    			public void onAnimationEnd(Animation animation) {
    				afterAnimationEffect();
    			}
    [...]

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2012
    Messages : 172
    Points : 70
    Points
    70
    Par défaut
    EDIT : après plusieurs test, il s'avere que (trés bizarrement) l'event est bien créé mais est BLOQUé

    > je clique sur le layout
    > l'animation ne se lance pas

    > 30 sec après, je clique sur un autre composant et l'animation se lance!

    Comment puis je forcer cet event à se "débloquer" lui même?

    J'avoue ne pas comprendre ce qui le bloque

Discussions similaires

  1. Problème avec QComboBox, layout et changement de map
    Par Far_Away dans le forum Débuter
    Réponses: 1
    Dernier message: 11/02/2011, 23h49
  2. Comment eviter le changement de & en &amps lors d'une transformation?
    Par hutuchong dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 10/12/2009, 18h17
  3. [ORACLEXE]Changement de Port pour le listener
    Par patriceharel dans le forum Administration
    Réponses: 1
    Dernier message: 14/05/2009, 16h07
  4. Réponses: 6
    Dernier message: 22/06/2007, 15h51
  5. Classe de boutons avec changement de listeners
    Par guipom dans le forum Composants
    Réponses: 2
    Dernier message: 25/01/2005, 12h26

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