Frage

Ich bin mit einem slidingDrawer in meiner Anwendung, die seine Handler am Boden, wenn im Portrait-Modus platziert hat. Wenn der Benutzer wechselt in den Landscape-Modus (mit großem Bildschirm) Ich möchte den Handler auf der linken Seite haben. Wenn ich die Ausrichtung von vertikal in horizontal zu ändern, wird die Behandlungsroutine auf der rechten Seite platziert.

Ich habe mein Layout XML wie folgt 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 eine Idee für hat, wie es machen von links nach rechts schieben?

War es hilfreich?

Lösung

Ich glaube nicht, Sie können, außer vielleicht durch die SlidingDrawer Quellcode greifen, so dass Änderungen daran und Ihre modifizierte Version. Sie können in ähnlicher Weise keine SlidingDrawer machen, die von oben herab.

Andere Tipps

Ich habe eine einfache Art und Weise zu tun, dass gefunden. Alles, was Sie tun müssen, ist die Rotation von 180 ° für den slidingDrawer, den Inhalt und den Griff zu setzen. Sie können in ähnlicher Weise eine SlidingDrawer machen, die von oben herab, wie ich es tat hier .

Sehen Sie sich meine Beispiele hier zunächst von rechts nach links, in der Lage sein, die Unterschiede zu sehen.

<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 sieh mal, was ich zu machen, änderte sich von links schieben aus.

<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 erstellt auch ein Linearlayout als Griff zu setzen, und nicht änderte es Drehung, aber ich änderte die Drehung davon Kind. Das war ein kleines Problem zu verhindern, die ich hatte, aber alles funktioniert gut und es ist einfach.

Ich habe eine Klasse, dass neu geschrieben und es als Teil meiner Open-Source-Bibliothek gemacht. Es dauerte fast eine Woche ist es richtig zu machen. Bitte beachten Sie auch meine SlidingTray in Aniqroid Open-Source-Bibliothek für Android.

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

Hier finden Sie den Download-Link und die Dokumentation für SlidingTray Klasse in dem obigen Link.

(Disclosure:. Ich bin der Betreuer des Projekts)

können Sie den Code in dieser Antwort gepostet verwenden: Android SlidingDrawer von oben

Die bereitgestellte Lösung bietet die Ausrichtung des Slidingdrawer in xml Einstellung auch dann ist es einfach nur 1 Klasse und einige Ergänzungen in attrs.xml erfordern und stabil, da es von Androids Slidingdrawer von SDK abgeleitet wird. Ich diskutiere auch, warum ich nicht andere populäre libs / Lösungen im Internet / SO gefunden gewählt haben.

Quicklink auf das Wesentliche: MultipleOrientationSlidingDrawer (Quelle & Beispiel) @ Kern

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top