Domanda

Io sto usando un slidingDrawer nella mia applicazione che ha il suo gestore di posta sul fondo quando è in modalità verticale. Quando l'utente passa alla modalità orizzontale (widescreen) Mi piacerebbe avere il gestore situato sulla sinistra. Quando cambio l'orientamento da verticale ad orizzontale, il gestore è posizionato sul lato destro.

Ho definito il mio layout XML in questo modo:

<SlidingDrawer
    android:id="@+id/l_drawer"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:handle="@+id/l_handle"
    android:content="@+id/l_content"
    android:orientation="horizontal"
    android:layout_gravity="left"
    >

Qualcuno ha un'idea per come farlo scorrere da sinistra a destra?

È stato utile?

Soluzione

Non credo che si può, eccetto forse che afferrando il codice sorgente SlidingDrawer, apportare modifiche ad esso, e con la versione modificata. È allo stesso modo non è possibile effettuare una SlidingDrawer che scende dall'alto.

Altri suggerimenti

Ho trovato un modo semplice per farlo. Tutto quello che dovete fare è impostare la rotazione di 180 ° per la slidingDrawer, il contenuto e la maniglia. È allo stesso modo può fare uno SlidingDrawer che scende dalla cima, come ho fatto io qui .

Guardate i miei esempi qui, prima da destra a sinistra, per essere in grado di vedere le differenze.

<SlidingDrawer xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/slidingDrawer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_horizontal"
    android:handle="@+id/handle"
    android:content="@+id/content">
    <ImageView android:id="@+id/handle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher" />
    <ImageView android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FF0000"
        android:src="@drawable/ic_launcher" />
</SlidingDrawer>

Ora guarda cosa ho cambiato per renderlo scivolare fuori da sinistra.

<SlidingDrawer xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/slidingDrawer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center_horizontal"
    android:handle="@+id/handle"
    android:content="@+id/content"
    android:rotation="180">
    <LinearLayout android:id="@+id/handle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ImageView android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher"
            android:rotation="180" />
    </LinearLayout>
    <ImageView android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FF0000"
        android:src="@drawable/ic_launcher"
        android:rotation="180" />
</SlidingDrawer>

Si noti che ho anche creato un LinearLayout da impostare come manico, e non ho cambiato è la rotazione, ma ho cambiato la rotazione del suo bambino. Questo è stato per evitare che un piccolo problema che ho avuto, ma tutto sta funzionando benissimo ed è semplice.

Ho riscritto una classe a quella e ne ha fatto parte della mia libreria open source. Mi ci sono voluti quasi una settimana per farlo bene. Si prega di controllare il mio SlidingTray in Aniqroid libreria open source per Android.

http://aniqroid.sileria.com/doc/api

Trova il link per il download e la documentazione per la classe SlidingTray nel link qui sopra.

(Disclosure:. Sono il manutentore del progetto)

È possibile utilizzare il codice scritto in questa risposta: Android SlidingDrawer dall'alto

La soluzione fornita caratterizza modificando l'orientamento del Slidingdrawer in XML inoltre è semplice richiede solo 1 classe e alcune aggiunte in attrs.xml e stabile poiché è derivato da androidi Slidingdrawer da SDK. Ho anche discutere perché non ho scelto altri popolari libs / soluzioni trovate su internet / SO.

Accesso rapido al succo: MultipleOrientationSlidingDrawer (fonte & esempio) @ Gist

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top