2015-10-16 38 views
7

我有一個放置在協調器佈局內的viewpager。在viewpager的特定片段中,我有一個回收器視圖和片段底部的視圖。問題是最初片段底部的視圖是隱藏的,只有當我向上滾動時纔可見。我希望視圖保持在屏幕的底部。在協調器佈局內視圖片段底部的棒視圖

文件名:activity_main.xml中

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     style="@style/ToolBarStyle" 
     android:layout_width="match_parent" 
     android:layout_height="?actionBarSize" 
     android:layout_alignParentTop="true" 
     android:background="@color/toolbarColor" 
     android:contentInsetEnd="16dp" 
     android:contentInsetRight="16dp" 
     android:minHeight="?actionBarSize" 
     android:paddingBottom="0dp" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

    <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/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="com.dekorate.android.Utils.AppBarLayoutBehavior" /> 
</android.support.design.widget.CoordinatorLayout> 
+0

您是否找到解決問題的方法?我唯一想做的就是將錨定視圖移出片段並進入CoordinatorLayout,但這對我來說不是一個可行的解決方案 – darnmason

+1

@darnmason在活動中實現AppBarLayout.OnOffsetChangedListener。在onOffsetChanged方法中,根據當前滾動的高度調整底部視圖的邊距。 – arkit

+0

乾杯,似乎工作得不錯! – darnmason

回答

0

在活動中落實AppBarLayout.OnOffsetChangedListener。在onOffsetChanged方法中,根據當前滾動的高度調整底部視圖的邊距。

@Override 
public void onOffsetChanged(AppBarLayout appBarLayout, int i) { 

    RelativeLayout.LayoutParams bottomLayoutParams = (RelativeLayout.LayoutParams)fragment.bottomLayout.getLayoutParams(); 
    bottomLayoutParams.setMargins(0,0,0,(actionBarHeight + i)); 
    fragment.bottomLayout.setLayoutParams(bottomLayoutParams); 

} 

這裏片段是你的片段和bottomLayout的實例是底部的觀點。