2016-06-25 123 views
2

我有一個選項卡式佈局,我想在底部有一個粘滯按鈕。 當佈局大於屏幕尺寸時,我可以向上滾動,並且工具欄也會向上滾動以將選項卡對齊爲最頂層元素。當我滾動時,按鈕也會向上滾動,因爲底部有一個填充區域,以便在啓動時保持其狀態。Android底部粘貼按鈕在滾動上向下移動

Before ScrollAfter Scroll (Button moves up)

activity_main.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:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="io.sampleapp.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingTop="@dimen/appbar_padding_top" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/AppTheme.PopupOverlay"> 

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

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 



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

fragment_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="io.sampleapp.MainActivity$PlaceholderFragment"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/mRecyclerview" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <Button 
     android:id="@+id/bottomButton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="54dp" 
     android:background="#555555" 
     android:text="dummy" 
     android:textColor="#ffffff" /> 

</RelativeLayout> 
+0

那麼,什麼是預期?第一個截圖還是第二個? – Rajkiran

+0

@Rajkiran當我滾動按鈕不應該向上移動。它應該在底部 –

+0

爲什麼你在底部填充54dp?爲了補償導航欄? – Rajkiran

回答

1

我覺得按鈕外應CoordinatorLayout標籤,試圖從fragment_main.xml刪除的按鈕,並把它添加到activity_main.xml,如:在其他片段

<android.support.v4.view.ViewPager 

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

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

<Button 
    android:id="@+id/bottomButton" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginBottom="54dp" 
    android:background="#555555" 
    android:text="dummy" 
    android:textColor="#ffffff" /> 

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

,如果你不需要按鍵就可以使它看不見。

+0

我沒有測試過,如果有任何問題,請讓我現在 –

1

把你的按鈕RecyclerView之外。

+0

它在它自己之外 –

+0

對不起,我看不到它適當。它已經在外面了。 –

1

我可以說可能是你正在試圖達到一個用例,而沒有遵循適當的材料設計指導方針。

爲什麼不使用FAB又名FloatingActionButton

1

我建議,除去保證金底部按鈕,添加保證金底部高度相同的recyclerview作爲按鈕的高度