2012-12-16 7 views
0

Dans mon application, j'utilise deux bibliothèques externes (Sliding menu et Horizontal Listview). Le premier implémente un effet de menu coulissant comme l'application Facebook et ça marche bien, je peux déclencher le mouvement en balayant ou en cliquant sur un bouton. Le second implémente une listview horizontale que je peux faire défiler à droite ou à gauche. En utilisant les deux, je peux voir la liste, mais le mouvement du défilement ne fonctionne pas. Comment puis-je le résoudre? Je suppose que le menu «vole» l'action de balayage.Menu latéral coulissant Android et listview horizontal

Si vous avez besoin de code, il suffit de demander.

EDIT: En fait cela fonctionne! Je dois juste mettre le doigt sur la vue horizontale et balayer un peu haut/bas et puis je peux balayer vers la gauche/droite. Quelle pourrait être la cause de ce comportement?

Répondre

2

Il existe une solution très simple! Réglez simplement OnTouchListener pour votre HorizontalListView, désactivez le menu sling sur ACTION_DOWN et réactivez-le sur ACTION_UP.

getActivity().findViewById(R.id.my_horizontal_list_view).setOnTouchListener(

    new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      if (event.getAction() == MotionEvent.ACTION_DOWN) { 
       ((SlidingFragmentActivity) getActivity()).getSlidingMenu().setSlidingEnabled(false); 
      } 

      if (event.getAction() == MotionEvent.ACTION_UP) { 
       ((SlidingFragmentActivity) getActivity()).getSlidingMenu().setSlidingEnabled(true); 
      } 

      return false; 
     } 
    } 
); 
+0

Pas trop élégant, mais de travail merci! –