Frage

Ich habe mit diesem für ein paar Tage jetzt rumgespielt, hoffentlich jemand hier kann mir lend a hand.

Ich habe ein einfaches zweispaltige Layout, die linke Seite ist eine Navigationsleiste mit den Tasten, die rechte Seite ist ein Content-Panel. Wenn der Benutzer eine der Tasten tippt (sagt sie, der dritter nach unten), würde Ich mag einen schwebenden Blick auf den rechts neben der Schaltfläche ausgerichtet haben, aber auf dem Inhaltsbereich schweben. Hier ist ein Bild zu zeigen, was ich meine: Layout

Alles, was ich habe versucht, schiebt das Floating-Menü in der Navigationsleiste oder im Content-Panel, das nicht das, was ich will. Irgendwelche Ideen? Hier ist im Grunde, was ich habe, so weit:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_alignParentLeft="true"
        android:id="@+id/navigation_bar"
    >
        <FrameLayout 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.14"
        >
            <ImageButton 
                android:id="@+id/button1_btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/icon"
                android:layout_gravity="center"
            />
        </FrameLayout>
        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.14"
        >
            <ImageButton 
                android:id="@+id/button2_btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/icon"
                android:layout_gravity="center"
            />
        </FrameLayout>
    </LinearLayout>
    <FrameLayout
        android:id="@+id/content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="0.14"
        android:layout_toRightOf="@id/navigation_bar"
    >
    </FrameLayout>
</RelativeLayout>
War es hilfreich?

Lösung

Ein FrameLayout ermöglicht es Ihnen, einen Blick zu haben, eine andere Ansicht überlappt. Ich bin sicher, dass es nicht sinnvoll ist, sie mit nur einem Kind Blick zu haben, wie Sie in Ihrem Beispiel haben. Versuchen Sie, eine FrameLayout auf höchstem Niveau hat, mit „statischen“ Blick als erstes Kind-Element, und das Floating-Menü als zweites Kind.

Die Entwickler Dokumente einen guten Überblick haben die Layout-Typen, es könnte Ihnen den Einstieg erleichtern.

Andere Tipps

RelativeLayout ist das, was Sie wollen.
FrameLayout muss nur ein Kind, und deshalb wird, in der Regel nur für einen Platzhalter verwendet, wo andere Layouts später kommen (wie der Hauptrahmen der Aktivität).
AbsoluteLayout ist veraltet und sollte nicht verwendet werden.

RelativeLayout erlaubt es, die Ansichten zu Überschneidungen, und erlaubt es tun, so ziemlich, was Sie wollen.

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