Je veux vraiment implémenter cela (la navigation latérale) dans une application personnelle, est-ce que quelqu'un sait comment Google a réussi à le faire?
Ils semblent avoir écarté la fenêtre actuelle et installé leur propre navigation par avion.
Je veux vraiment implémenter cela (la navigation latérale) dans une application personnelle, est-ce que quelqu'un sait comment Google a réussi à le faire?
Ils semblent avoir écarté la fenêtre actuelle et installé leur propre navigation par avion.
Réponses:
En fait, il existe un moyen de le faire. Même sans implémenter le vôtre
ActionBar
.Jetez un œil à la
hierachyviewer
! (Situé dans le répertoire des outils)Il y a le
DecorView
, etLinearLayout
un enfant. Celui-ciLinearLayout
contient à la fois leActionBar
contenu et l'autre. Ainsi, vous pouvez simplement appliquer certainsFrameLayout.LayoutParams
à cetteLinearLayout
et obtenir un peu d' espace sur le côté gauche de cette façon. Ensuite, vous pouvez remplir cet espace avec votre menu-ListView et superposer l'autre contenu avec un FrameLayout, qui, lorsqu'il est cliqué, réduit le menu. Alors, voici un peu de code:Tout d'abord, la classe pour réduire / développer (SlideMenu.java):
Quelques méthodes d'aide (pour moi, dans static Functions.java):
Ensuite, les mises en page:
Disposition du menu (res / layout / menu.xml)
Disposition des éléments de la liste (res / layout / menu_listitem.xml):
Comment l'utiliser:
Dans votre
onCreate()
:Dans le gestionnaire de votre bouton d'accueil ActionBar:
C'est tout!
Et maintenant, une petite capture d'écran en action:
Autant que je sache, cela fonctionne. Si vous rencontrez des problèmes ou que mes explications ne sont pas claires, contactez-moi!
MODIFIER:
ExtendedViewPager
&ExtendedPagerStrip
:ExtendedViewPager:
ExtendedPagerTabStrip:
Je l'utilise
SlideMenu
pour une activité avec unViewPager
avecPagerTabStrip
pour des onglets comme Talk, Market, etc. Vous ne pouvez pas désactiver ces vues de manière simple, donc les deux classes ci-dessus les étendent simplement pour arrêter l'onTouch
événement lorsqu'il est désactivé.la source
Il y a plusieurs tentatives pour le faire, mais je n'ai pas encore trouvé de bibliothèque ou de code source sur la façon de l'implémenter avec succès avec la barre d'action à tous les niveaux de l'API. Une lib prometteuse est ici
https://github.com/jfeinstein10/SlidingMenu
voici une vidéo de l' exemple d'application .
voici le lien de l'application Google Play .
Cela fonctionne avec ActionbarSherlock. Vous devrez créer la bibliothèque SlidingMenu avec ABS pour la faire fonctionner. Fonctionne et a fière allure!
la source
A fait un tour d'horizon de l' implémentation d'origine et ajouté une analyse XML ainsi que
autodetection
d'un éventuel présentactionbar
, donc cela fonctionne avec le natif ainsi qu'une barre d'action de support telle queActionBarSherlock
.Le tout est maintenant un projet de bibliothèque avec un exemple d'application et est décrit dans Menu coulissant pour Android Merci à scirocco pour l'idée initiale et le code!
la source
Si vous utilisez un niveau d'API supérieur à 11, vous pouvez utiliser une approche beaucoup plus simple inspirée de la réponse donnée par @Scirocco
L'idée ici est d'utiliser
ValueAnimator
cela transforme et pas seulement d'animer la mise en page principale avec la barre d'action, afin que vous puissiez interagir avec la vue gonflée que vous souhaitez utiliser comme panneau coulissant. Vous devez remplacer les valeurs codées en dur par quelque chose qui est utile à votre application.J'espère que ça aide :)
la source
Eh bien, actuellement, je travaille sur un projet et je suis tombé sur le menu coulissant, j'ai cherché sur Google mais je suis très déçu de voir que personne n'a donné un morceau de code ou un indice sur la façon de commencer à créer un menu coulissant, mais chacun a donné un lien vers certains Les projets / bibliothèques de github à utiliser, j'ai décidé de le faire moi-même et enfin j'ai mon propre menu coulissant prêt ...
J'ai passé deux jours dessus
1. sur la réalisation d'animations de glissement
2. sur le faire fonctionner avec toutes les résolutions d'écran
C'est vraiment facile et simple une fois que vous avez une idée des animations , j'en ai lu quelques-unes, ce n'est pas judicieux de réinventer la roue (les personnes qui se réfèrent au code source github du menu coulissant), mais je crois que vous devriez au moins une fois essayez de créer le vôtre pour avoir une idée de son fonctionnement et de son fonctionnement:
c'est donc une image de la façon dont mon menu coulissant fonctionnera
1.Find.xml
//later in the code it will be refer as findLayout
2.Filter.xml
//later in code refer as FilterLayout
Dans find.xml, j'ai inclus filter.xml initialement qui est invisible
Maintenant FilterAnimation.java
Maintenant Find.java
Voici les animations res / anim
1.filter_slide_in.xml
2.filter_slide_out.xml
3.other_slide_in.xml
4.other_slide_out.xml
Là, vous obtenez un menu coulissant complet et fonctionnel, et vous pouvez le personnaliser pour répondre à vos besoins, si quelqu'un a encore des problèmes de configuration, n'hésitez pas à demander, je me sens ravi de vous aider :)
la source
J'ai créé ma propre solution pour faire glisser la vue et révéler un menu en dessous, car de nombreuses autres solutions semblaient ne pas fonctionner sur les anciennes versions d'Android ou manquaient d'instructions appropriées pour le faire fonctionner.
Ma solution présente les fonctionnalités suivantes:
La solution utilise une disposition personnalisée, appelée SlidingMenuLayout, à laquelle vous devez ajouter 2 vues. La première vue que vous ajoutez est le menu, la seconde est la vue principale.
Le moyen le plus simple d'ajouter la mise en page à votre projet existant consiste à remplacer la
setContentView()
méthode de votre activité :Dans cet exemple,
MenuView
est la vue qui affichera réellement le menu. C'est à vous de mettre en œuvre cette vue.Enfin, vous pouvez ajouter un bouton (généralement dans le coin supérieur gauche de votre vue principale), qui appelle
openMenu()
oucloseMenu()
sur la mise en page selon le cas.Le code de
SlidingMenuLayout
se trouve sur la page du projet GitHub .la source
Pour ceux d'entre vous qui utilisent la bibliothèque SlidingMenu ( https://github.com/jfeinstein10/SlidingMenu ), il existe un moyen de le brancher et cela semble fonctionner! Avec l'aide de @Scirocco, mettez ceci dans votre
onCreate
pour l'activité:en gros, il remplace la
linearlayout
vue du décor par leslidingmenu
place.Remarque: je ne l'ai testé qu'à la légère, mais cela semble fonctionner.
la source
c'est ma classe s'étend
SlidingPaneLayout
. Peut glisser avec actiola source