9
votes

DrawerLayout Android échoue lors de l'utilisation des gravites supérieures et inférieures

Je joue simplement avec le nouveau Dreamlayout récemment inclus dans Bibliothèque de support. J'ai implémenté juste un exemple simple avec plusieurs tiroirs, tandis que j'utilisais le début et la fin en tant que gravité, tout cela a fonctionné comme un charme, mais en essayant d'ajouter un tiroir avec des gravites supérieures ou inférieures, il se bloque.

est-ce possible. Pour l'utiliser pour les tiroirs glissants de haut et / ou de bas? p>

ci-dessous est le code complet de mon activité et de la disposition XML dans un état de travail; Si j'essaie de changer ceci: p> xxx pré>

dans ceci (évolution de layout_width, layout_height et layout_gravity): p> xxx pré>

et la ligne: p> xxx pré>

info ci-dessus: p> xxx pré>

est lorsque je reçois l'erreur suivante: p>

    <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <TextView android:id="@+id/text"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:text="Hi!"
                />
    </RelativeLayout>

    <ListView android:id="@+id/left_drawer"
              android:layout_width="240dp"
              android:layout_height="match_parent"
              android:layout_gravity="start"
              android:choiceMode="singleChoice"
              android:divider="@android:color/transparent"
              android:dividerHeight="0dp"
              android:background="#44aa00"/>

    <ListView android:id="@+id/right_drawer"
              android:layout_width="240dp"
              android:layout_height="match_parent"
              android:layout_gravity="end"
              android:choiceMode="singleChoice"
              android:divider="@android:color/transparent"
              android:dividerHeight="0dp"
              android:background="#007799"/>

</android.support.v4.widget.DrawerLayout>


3 commentaires

J'ai demandé à @ roman-nurik à ce sujet dans son G + POST À propos de la présentation du tiroir et Il a souligné que: "Non, certainement pas destiné à être utilisé avec des gravites verticales" Je suppose donc qu'il ne reste plus à essayer d'essayer de faire fonctionner cela. Toute alternative à mettre en œuvre des tiroirs verticaux?


mabe tu pourrais utiliser Slidaydrawer?


Jetez un coup d'œil à Github.com/ali-Rezaei/slidingDrawer qui permet de glisser de n'importe quel côté par quelques lignes de code.


3 Réponses :


1
votes

the Menu-tiroir Bibliothèque par Simon Vig Therkildsen fonctionne bien comme un tiroir de menu coulissant standard mais soutient également les tiroirs supérieurs et inférieurs. Son exemple d'application présente des exemples sur la manière de mettre en œuvre le menu avec des gravites supérieures / inférieures.


0 commentaires

11
votes

Nous avons récemment mis en œuvre cette fonctionnalité dans l'application UMANO et l'a ouvert la source:

https://github.com/umano/androidslidinguppanel


1 commentaires

Il semble que seuls les supports ne font que glisser du fond, ne pas glisser du haut comme la question posée.



7
votes

Il n'y a pas de référence officielle pour Dreamlayout pour utiliser "Bottom" ou "Top" Gravity - Source

vide public Opendrawer (Int Gravity)

Ouvrez le tiroir spécifié en l'animant hors de vue.

Paramètres Gravity

Gravity.Left Pour déplacer le tiroir gauche ou la gravité.right pour la droite. Gravitycompat.start ou gravitycompat.end peut également être utilisé.

Si vous souhaitez utiliser d'autres effets visuels - utilisez une autre bibliothèque


0 commentaires