9

Korzystam z nowej CoordinatorLayout z nowej biblioteki wsparcia projektu Google.ViewPager wewnątrz CoordinatorLayout obejmuje inne widoki interfejsu API> = 21

Mam następujący układ:

<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> 

Problemem jest to, że ViewPager zawsze nakłada na górze FloatingActionMenu na API >= 21, czy istnieje rozwiązanie tego? Próbowałem użyć view.bringToFront(), aby to naprawić, ale bez powodzenia. Przesunąłem również Views, wciąż bez powodzenia. Czego próbowałem:

  • Przesuwanie FABMenu wewnątrz AppBarLayout
  • Przesuwanie FABMenu wewnątrz LinearLayout

bez powodzenia.

Czy ktoś doświadczył czegoś podobnego?

Odpowiedz

6

To był prosty problem z elewacją, ustawiałem wysokość jako android:elevation=".." i była to niższa rzędna niż w innym widoku, obejmując w ten sposób FloatingActionButtonMenu. To zdarza się tylko na API >= 21.

2

chociaż wydawało się, że znalazłem odpowiedź siebie, jest absolutnie niesamowity zasób tutaj: https://github.com/chrisbanes/cheesesquare

Jest to realizacja viewpager wewnątrz układu koordynatora, który korzysta z oficjalnego wsparcia biblioteki google projekt, wraz ze wszystkimi inne gadżety obsługiwane przez tę bibliotekę (w tym niezwykle łatwy w użyciu panel boczny nawigacji).

Dlaczego to udostępniam? Ponieważ kod jest czysty, korzysta z oficjalnej najnowszej biblioteki i jest kompatybilny wstecz. Zauważyłem, że bardzo łatwo jest użyć tego jako bazy do mojej aplikacji i już dostaję dobrą opinię na temat ogólnej implementacji projektu, która ściśle przestrzega wytycznych materiałowych.

Przykład jest napisany przez osobę z oficjalnego zespołu androidów, więc jest również niezawodny w ten sposób!

Mam nadzieję, że okaże się to przydatne (choć nie jest to całkowicie bezpośrednia odpowiedź na Twoje pytanie - ale mimo to powiązane).

Jestem nowym użytkownikiem, który nie może publikować komentarzy z powodu niskiego powtórzenia, więc przyznanie rep będzie bardzo pomocne!

Dzięki :)

+0

To nie jest w ogóle związane z moim pytaniem. Używałem tej biblioteki odkąd wyszło. Wydawało się, że wynika z ustawienia wysokości. – AndyRoid

Powiązane problemy