9

Sto utilizzando il nuovo CoordinatorLayout dalla nuova libreria di supporto di progettazione di Google.ViewPager all'interno di CoordinatorLayout copre altre visualizzazioni su API> = 21

ho il seguente schema:

<android.support.design.widget.CoordinatorLayout> 

<android.support.design.widget.AppBarLayout> 

    <android.support.design.widget.CollapsingToolbarLayout 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      app:layout_collapseMode="parallax"/> 

     <android.support.v7.widget.Toolbar /> 

    </android.support.design.widget.CollapsingToolbarLayout> 

</android.support.design.widget.AppBarLayout> 

<LinearLayout 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" > 

    <android.support.design.widget.TabLayout /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewPager" /> 
</LinearLayout> 

<com.getbase.floatingactionbutton.FloatingActionsMenu 
    app:layout_anchor="@id/viewPager" 
    app:layout_anchorGravity="bottom|right|end" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    > 

    <com.getbase.floatingactionbutton.FloatingActionButton /> 

</com.getbase.floatingactionbutton.FloatingActionsMenu> 


</android.support.design.widget.CoordinatorLayout> 

Il problema è che il ViewPager sovrappone sempre in cima alla FloatingActionMenu su API >= 21, c'è una correzione per questo? Ho provato a utilizzare view.bringToFront() per risolvere questo problema, ma senza fortuna. Ho anche spostato il Views in giro, ancora senza fortuna. Cose che ho provato:

  • Spostando il FABMenu all'interno AppBarLayout
  • Spostando il FABMenu all'interno LinearLayout

Nessuna fortuna.

Qualcuno ha vissuto qualcosa di simile?

risposta

6

Questo è risultato essere un semplice problema di elevazione, stavo impostando l'elevazione come android:elevation=".." e questa era un'elevazione più bassa di un'altra vista, coprendo così il FloatingActionButtonMenu. Ciò si verifica solo su API >= 21.

2

anche se ti sembrava di aver trovato da soli la risposta, v'è una risorsa assolutamente incredibile qui: https://github.com/chrisbanes/cheesesquare

Questa è un'implementazione di viewpager all'interno di un layout di coordinatore che utilizza la libreria ufficiale di supporto di Google di design, insieme a tutte le altre chicche supportate da questa libreria (incluso un pannello laterale di navigazione estremamente facile da usare).

Perché sto condividendo questo? Perché il codice è pulito, utilizza una libreria ufficiale più recente ed è compatibile con le versioni precedenti. Ho trovato molto facile utilizzarlo come base per la mia applicazione e sto già ottenendo buoni riscontri sull'implementazione generale del progetto che segue da vicino le linee guida sui materiali.

L'esempio è stato scritto da una persona del team ufficiale di Android, quindi è anche affidabile in questo modo!

Spero che tu trovi questa utile (anche se non totalmente una risposta diretta alla tua domanda - ma comunque relativa).

Sono un nuovo utente che non è nemmeno in grado di postare commenti a causa di una bassa ripetenza, quindi l'assegnazione del rappresentante sarà davvero utile!

Grazie :)

+0

Questo non è correlato alla mia domanda. Stavo usando quella libreria da quando è uscita. Il sembrò derivare dall'impostazione dell'elevazione. – AndyRoid