2013-01-06 4 views

Répondre

0

Vous devez étendre SlidingDrawer et désactiver le gestionnaire d'événements associé, par ex.

public class ClickOnlySlidingDrawer extends MySlidingDrawer { 

    ... 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent event) { 
     return false; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     return false; 
    } 
} 
+0

Quelle est la différence entre cela et faire quelque chose comme 'drawer.setOnTouchListener (nouveau OnTouchListener() { \t public boolean onInterceptTouchEvent (événement MotionEvent) { \t de return false;} \t \t onTouchEvent public boolean (événement MotionEvent) { \t return false; \t} ' – user1923613

+0

Essayé votre solution et cela aide, btw. Merci! Ma question précédente est juste pour moi d'apprendre. – user1923613

+0

le comportement de onInterceptTouchEvent est bien documenté dans les documents android sdk. vous avez besoin de lire cela, il est difficile de le décrire dans de simples commentaires. –

0

vous pouvez également verrouiller le composant et utiliser à la place .toggle comme ici

mySlidingDrawer.lock(); // .unlock() 
handle.setOnClickListener(new OnClickListener(){ 

@Override 
public void onClick(View v) { 
    mySlidingDrawer.toggle(); 

    } 

}); 
Questions connexes