2016-04-19 7 views

Antwort

1

Angenommen, layout1 ist das Layout im Hintergrund und layout2 ist das Layout, das über layout1 verschoben werden kann.

Sie könnten eine ScrollView erstellen, bei der das erste Element die gleiche Höhe von layout1 und voller Breite hat. Machen Sie dieses Element transparent, damit layout1 sichtbar und anklickbar ist und legen Sie layout2 darunter.

Nun fügen Sie layout1 und die ScrollView in ein FrameLayout ein. Wenn ScrollView genug Inhalt hat, können Sie es scrollen.

Es würde so etwas wie:

<FrameLayout> 
    <Layout1/> 
    <ScrollView> 
    <LinearLayout> 
     <View/> // Same height as Layout 1 and width is match_parent 
     <Layout2/> 
    </LinearLayout> 
    </ScrollView> 
</FrameLayout> 
+0

Was wäre effizienter, Ihre Methode oder die, die Francesc mit BottomSheets vorgeschlagen hat? Danke – BVtp

+0

Es hängt von der Komplexität dessen ab, was Sie erreichen möchten. Wenn Sie nur ein Layout über ein anderes schieben müssen, würde ich für das gehen, was ich vorgeschlagen habe. Die Verwendung des BottomSheets scheint für diesen Fall übertrieben zu sein, da Sie es so einstellen müssten, dass es nur scrollt. Wenn Sie planen, etwas Komplexeres zu bauen. Mit Animationen und so Sachen ... Die BottomSheets und CoordinatorLayout sind besser geeignet, da Sie Ihr eigenes Verhalten machen und Scroll-Events hören können. – Gauthier

+0

Nun, ich brauche eine Rasterliste von Elementen im gleitenden Fragment. Jede Ansicht in diesem Raster würde sein eigenes Bild und ein paar Texte haben. Die Rasterliste würde jedoch in Form von Reihen von horizontal scrollbaren Rasterlisten vorliegen. Das bedeutet, dass das gleitende Fragment einige Rasterlisten haben würde, die horizontal scrollbar wären. Zählt das für etwas "Komplexes"? Was würden Sie in diesem Fall wählen? Vielen Dank – BVtp