2017-02-10 73 views
1

後我有一些FloatingActionButtons在Android應用,在一個視圖,其中按鈕下面的內容是可滾動的錨定的標題欄的下方。在初始加載,視圖顯示正確,就像這樣:FloatingActionButton - 不正確的z索引滾動

enter image description here

當用戶滾動頁面上的內容,他們應該得到的是這樣的:

enter image description here

值得注意的是,剩餘上面的屏幕上的所有其他內容的按鈕。但是什麼實際上情況是這樣的:

enter image description here

當按鈕呈現不正確的標題欄的後面。我的佈局XML文件是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="au.com.suncoastpc.coastlive.activity.EventDetailsActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/app_bar_height" 
     android:fitsSystemWindows="true" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/toolbar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/AppTheme.PopupOverlay"/> 

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

    <LinearLayout 
     app:layout_anchor="@id/app_bar" 
     app:layout_anchorGravity="bottom|end" 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 


     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab_facebook" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="@dimen/fab_margin" 
      android:layout_marginBottom="@dimen/fab_margin" 
      app:backgroundTint="#3c5a99" 
      app:srcCompat="@drawable/icon_facebook"/> 
     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab_music" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="@dimen/fab_margin" 
      android:layout_marginBottom="@dimen/fab_margin" 
      android:layout_marginLeft="@dimen/fab_margin" 
      app:backgroundTint="#008800" 
      app:srcCompat="@drawable/icon_music"/> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="@dimen/fab_margin" 
      app:backgroundTint="#880000" 
      app:srcCompat="@drawable/icon_info"/> 
    </LinearLayout> 

    <include layout="@layout/content_event_details"/> 
</android.support.design.widget.CoordinatorLayout> 

...其中content_event_details佈局具有NestedScrollView作爲其根元素,它包含地圖,詳細的文字,並可以在上面的圖片可以看到其他用戶界面元素(基本上除標題欄和浮動按鈕之外的所有內容)。

如何使FloatingActionButtons始終保持在標題欄頂部?

回答

1

海蘭Aroth,

在您Appbar,添加機器人:海拔= 「4DP」 >>>

<android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/app_bar_height" 
     android:fitsSystemWindows="true" 
     android:elevation="4dp" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

,並在含有FAB你的LinearLayout, 添加機器人:海拔= 「6dp」 >>>

<LinearLayout 
     app:layout_anchor="@id/app_bar" 
     app:layout_anchorGravity="bottom|end" 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:elevation="6dp"> 

希望它有助於:)

+1

安卓setElevation - >安卓海拔 – wrkwrk

+0

完美的作品。儘管@wrkwrk指出,但在XML中使用的正確標籤是android:elevation,而不是android:setElevation。 – aroth

+0

Ohhhh我很抱歉 – Ritik