Comment montrer le DrawerLayout lorsque vous faites glisser de gauche à droite, n'importe où?

fond

google a introduit le DrawerLayout, qui affiche un menu sur la gauche de l'écran lorsque vous cliquez sur les boutons "up" de la barre d'action.

parce que la bibliothèque n'est pas encore supporté sur actionBarSherlock, il y a déjà un moyen de le surmonter à l'aide de ce projet .

il a déjà des variantes sur de nombreuses applications: courants, gmail, hangouts, youtube...

la question

sur les "courants" de l'application (et youtube) , lorsque l'utilisateur glisse (le plus à gauche) de la page de gauche à droite , le DrawerLayout apparaît, n'importe où le doigt a commencé à la toucher .

comment puis-je obtenir le même effet? peut-être que je devrais utiliser onInterceptTouchEvent ?

il n'y a pas beaucoup de documentation et les tutoriels de ce cool de faire les choses , autres que ce lien (ok et cette une trop) . ils disent (dans le cadre de "Donner à l'utilisateur un coup d'oeil rapide") que sur 20dp sur la gauche est utilisé pour cette fonctionnalité, mais je peux voir que les "courants" travailler avec une zone beaucoup plus vaste.

il semble que la bibliothèque n'est pas encore tout à fait fini, et donc la mise en page du fichier xml ne peut pas même être montré dans les visuels de l'INTERFACE utilisateur de l'éditeur...


EDIT: il semble que la bibliothèque est en open source. le code est disponible sur :

.../android-sdk\sources\android-18\android\support\v4\widget\DrawerLayout.java
.../android-sdk\sources\android-18\android\support\v4\widget\SlidingPaneLayout.java
.../android-sdk\sources\android-18\android\support\v4\app\ActionBarDrawerToggle.java

maintenant, la question est de savoir comment le faire fonctionner comme je l'ai écrit, de sorte qu'il pourrait fonctionner comme sur youtube , ce qui nous permet de personnaliser la façon dont elle regarde et pour permettre le défilement.

Je ne suis pas sûr si j'ai bien compris, je suis en utilisant la Navigation tiroir aussi, et Il fonctionne toujours sans paramètres supplémentaires. Je suis en train de travailler sur un projet avec: ABS + Navigation Tiroir + Fragments + GMaps et je n'ai eu aucun problème de glissement à droite ou à gauche tiroir à partir de la plus à gauche ou la plus à droite de l'écran entier. Êtes-vous en déclarant les tiroirs du xml en tant que recommandé?
je suis en utilisant ce que j'ai posté. vous dites que je n'ai pas besoin de chercher à ce projet, et il suffit d'utiliser ce que google a? cela fonctionne très bien avec ABS , et qu'il ne me permettent de personnaliser la façon dont les à présent, il va déclencher le défilement de la navigation de tiroir (par exemple à partir du milieu de l'écran) ? si oui, comment? l'exemple d'application qu'ils n'ont qu'permet de faire défiler lorsque vous commencez à toucher le plus à gauche de l'écran...
Eh bien, Im absolument sûr d'ABS + de navigation tiroir intégrer sans aucun problème, sans aucune aide supplémentaire comme le projet que vous avez posté. Aussi loin que la zone de l'écran qui est reconnu lorsque vous faites glisser le tiroir à apparaître, il est assez mince, et je ne suis pas sûr si peut être modifié de telle sorte que le glissement de la bibliothèque peut (aucun, le bord, la totalité de l'écran). L'exemple que vous donnez (youtube) n'est pas valide, Il n'utilise pas de nav tiroir, je dirais qu'ils utilisent coulissantes menu lib. Google+ est-ce que l'utilisation de la nouvelle nav tiroir, et si vous essayez, zone de l'écran pour glisser est même mince bordure gauche.
youtube dispose d'un tiroir de navigation. peut-être qu'il n'a pas le même aspect, mais il fonctionne. peut-être que vous devriez mettre à jour l'application. sinon, vous pouvez essayer de "courants" par google. de toute façon, ma question est comment puis-je le rendre personnalisable, de sorte que je peux contrôler où pour déclencher la navigation tiroir de défilement?
Ok j'ai trouvé la réponse. n'est malheureusement pas possible. Juste 20dp à partir du bord: Give the user a quick peek If the user touches the very left edge of the screen (within 20 dp from the left), have the drawer peek out as soon as the finger makes contact with the display. This promotes accidental discovery and provides richer feedback. Regarder ici. Dans ce cas, vous devez avoir une autre façon de déterminer le toucher dans la zone de signalisation wnt et de déclencher le tiroir en utilisant mDrawerLayout.openDrawer(mDrawer)

OriginalL'auteur android developer | 2013-07-17