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:

  • Wie man JSON-Array ohne Objekt in Retrofit analysiert?
  • Aktivitätserkennung in Android funktioniert nicht
  • Android: Stoppen / Starten des Dienstes je nach WiFi-Status?
  • Set View Text in der Mitte in Spinner in android
  • Mobile Website Facebook Login mit Facebook App für Login Details
  • Leider hat die Kamera aufgehört
  •  <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?

  • Warum ist der Intel x86 Emulator Beschleuniger (HAXM Installer) zeigt nicht kompatibel mit Windows?
  • ASyncTasks blockieren andere
  • Wie kann ich den CLI-Befehl anzeigen, der von einer Gradle-Task in Android Studio ausgeführt wird?
  • Typeface.ITALIC funktioniert nicht an Galaxy Note 2
  • SimpleCursorAdapter's alter Konstruktor veraltet .. wirklich?
  • Wie erkennt man meine Bildschirmorientierung im Portrait-gesperrten Bildschirm in Android?
  • 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.