9

Я использую новый CoordinatorLayout из новой библиотеки поддержки дизайна Google.ViewPager внутри CoordinatorLayout охватывает другие виды API> = 21

У меня есть следующий макет:

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

Проблема заключается в том, что ViewPager всегда накладывается поверх FloatingActionMenu на API >= 21, есть исправление для этого? Я попытался использовать view.bringToFront(), чтобы исправить это, но не повезло. Я также переместил Views, но все равно не повезло. Вещи, которые я пробовал:

  • Перемещение FABMenu внутри AppBarLayout
  • Перемещение по FABMenu внутри LinearLayout

не повезло.

Кто-нибудь испытал что-то подобное?

ответ

6

Это оказалось простой вопрос о высоте, я установил высоту как android:elevation="..", и это была более низкая отметка, чем другой вид, покрывая, таким образом, FloatingActionButtonMenu. Это происходит только на API >= 21.

2

хотя вы, похоже, нашли ответ самому, есть совершенно удивительный ресурс здесь: https://github.com/chrisbanes/cheesesquare

Это реализация ViewPager внутри макета координатора, который использует официальную библиотеку поддержки проектирования Google, вместе со всеми другие лакомства, поддерживаемые этой библиотекой (включая чрезвычайно удобную навигационную панель).

Почему я делюсь этим? Поскольку код чист, используется официальная последняя библиотека и обратно совместима. Мне было очень легко использовать это в качестве основы для моего приложения, и я уже получаю хорошие отзывы об общей реализации проекта, который внимательно следит за материальными рекомендациями.

Пример написан человеком из официальной команды андроидов, поэтому он также является таким же надежным!

Надеюсь, вы найдете это полезным (хотя и не полностью прямым ответом на ваш вопрос, но тем не менее связанным).

Я новый пользователь, который не может даже отправлять комментарии из-за низкой репутации, поэтому награждение представителя будет действительно полезно!

Спасибо :)

+0

Это совсем не связано с моим вопросом. Я использовал эту библиотеку, так как она появилась. Казалось, что это связано с установлением высоты. – AndyRoid

Смежные вопросы