Ho un'applicazione, in cui voglio implementare un doppio cassetto: uno da sinistra e uno da destra. Il cassetto sinistro è per la navigazione delle app, il cassetto destro è per il filtraggio dei risultati.DrawerLayout Double Drawer (Cassetti sinistro e destro contemporaneamente)
Così, il layout è simile a questo:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/light_grey"
android:orientation="vertical">
<GridView
android:id="@+id/gridview"
style="@style/GridViewStyle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:horizontalSpacing="7dp"
android:stretchMode="columnWidth"
android:verticalSpacing="7dp" />
</LinearLayout>
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#111"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
<ListView
android:id="@+id/right_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="#111"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>
Si può vedere chiaramente qui "left_drawer" e "right_drawer", e le loro rispettive gravità - "start" e "fine" E questo funziona davvero! Puoi estrarli entrambi.
Il problema è che quando implemento DrawerToggle, apre solo il cassetto sinistro e non chiude quello destro, quindi se il cassetto destro viene aperto e premo il pulsante DrawerToggle, i cassetti di sinistra si aprono ANCHE, e si sovrappone al cassetto giusto.
ci sono un paio di soluzioni i'am cercare di ottenere:
- fare lo stesso tasto DrawerToggle sul lato destro, con lo stesso comportamento e l'animazione come il lato sinistro.
- Rendere il cassetto sul lato opposto del cassetto che sto tentando di aprire, chiudere automaticamente (se il cassetto sinistro è aperto e si preme l'interruttore del cassetto destro e viceversa).
E non ho capito come fare, perché DrawerToggle accetta la stessa DrawerLayout come parametro, e non i singoli cassetti ...
Sto usando la libreria di supporto.
Qualcuno ha qualche idea? Grazie in anticipo.
dimenticato di dire che questo si avvale del supporto v7 appcompat lib http://developer.android.com/tools/support-library/features.html –
anche , se si desidera che il glyphe di muoversi per il cassetto a sinistra solo, si può fare nel metodo onDrawerSlide: \t \t \t \t \t se (drawerView == leftDrawer) super.onDrawerSlide (drawerView, slideOffset); –
@ DanielLópezLacalle Grazie per la tua risposta .. ho seguito il tuo codice e non ha dato alcun errore ma anche dopo che il suo dosaggio mostra qualcosa nella parte destra della mia barra delle azioni ... niente del tutto. – Abstract