Wie macht man einen Android SlidingDrawer aus der linken Seite?

Ich benutze einen slidingDrawer in meiner Anwendung, die ihre Handler an der Unterseite platziert hat, wenn im Hochformatmodus. Wenn der Benutzer in den Landschaftsmodus (Widescreen) wechselt, möchte ich den Handler auf der linken Seite haben. Wenn ich die Orientierung von vertikal nach horizontal ändere, wird der Handler auf der rechten Seite platziert.

Ich habe mein Layout XML so definiert:

 <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" > 

Wer hat eine Idee, wie man es von links nach rechts gleiten lässt?

  • Wie man SlidingDrawer transparent macht
  • Hinzufügen einer Schaltfläche zu einem SlidingDrawer-Handle?
  • Wie schließt ich die Tastatur, wenn die Navigationsschublade öffnet?
  • SlidingDrawer versteckt nach Bild in SurfaceView
  • CustomDrawerLayout von vier Bildschirm Seiten Ausgabe mit Fling Geste und Erkennung
  • TabLayout und ViewPager -Tabs funktioniert nicht nach dem Swiping zwischen Schiebe-Schubladen
  • Ausgabe mit Schubschublade und Animationen
  • SlidingDrawer veraltet
  • 4 Solutions collect form web for “Wie macht man einen Android SlidingDrawer aus der linken Seite?”

    Ich glaube nicht, dass Sie können, außer vielleicht, indem Sie den SlidingDrawer Quellcode SlidingDrawer , Änderungen daran vornehmen und Ihre modifizierte Version verwenden. Sie können auch nicht einen SlidingDrawer , der von oben herabsteigt.

    Ich habe einen einfachen Weg gefunden. Alles, was Sie tun müssen, ist, die Drehung von 180º für den SlidingDrawer, den Inhalt und den Griff einzustellen. Du kannst auch einen SlidingDrawer machen, der von oben herabsteigt, wie ich es hier gemacht habe .

    Schau auf meine Beispiele hier, zuerst von rechts nach links, um die Unterschiede sehen zu können.

     <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> 

    Nun schau mal, was ich gewechselt habe, um es von links zu schieben.

     <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> 

    Beachten Sie, dass ich auch ein LinearLayout erstellt habe, um als Griff zu setzen, und hat es nicht geändert Rotation, aber ich änderte die Rotation des Kindes. Dies war, um eine kleine Frage zu verhindern, die ich hatte, aber alles funktioniert gut und es ist einfach.

    Ich habe eine Klasse dazu geschrieben und machte es Teil meiner Open-Source-Bibliothek. Es hat mich fast eine Woche gebraucht, um es richtig zu machen. Bitte schauen Sie sich meine SlidingTray in Aniqroid Open-Source-Bibliothek für Android.

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

    Finden Sie den Download-Link und die Dokumentation für die SlidingTray-Klasse im obigen Link.

    (Offenlegung: Ich bin der Betreuer des Projekts.)

    Du kannst den in dieser Antwort geposteten Code verwenden: Android SlidingDrawer von oben?

    Die mitgelieferte Lösung bietet die Ausrichtung der Slidingdrawer in xml auch die einfache Erfordernis nur 1 Klasse und einige Ergänzungen in attrs.xml und stabil, da es von Androids Slidingdrawer aus SDK abgeleitet ist. Ich bespreche auch, warum ich keine anderen populären libs / Lösungen gefunden habe, die im Internet / SO gefunden wurden.

    Quicklink zum Gist: MultipleOrientationSlidingDrawer (Quelle & Beispiel) @ Gist

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.