如何同时滚动recylcerView和底部按钮

时间:2016-08-08 08:53:13

标签: android android-recyclerview

我有一个带有网格图像的recylcer视图,我在回收站视图的底部有一个按钮。此按钮应位于recyclerview的底部,而不是父级的底部。

我尝试了recyclelerView的代码。但是按钮保持为父母底部而不是与回收者视图一起滚动。

<android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:text="@string/hello_blank_fragment"/>

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。

我可以使用Button创建一个单独的视图,并且可以在recyclerView Adapter中添加。但是会出现一个问题 - 由于我的布局管理器是GridLayout管理器并且跨度为2,所以我必须在当前时将跨度更改为1视图是按钮。

视图为按钮时跨度的变化如下:

final GridLayoutManager mGridManager = new GridLayoutManager(getActivity(),2);

mGridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        return adapter.isPositionHeader(position) ? mGridManager.getSpanCount() : 1;
    }
});
recyclerView.setLayoutManager(mGridManager);
recyclerView.setAdapter(adapter);

此代码我不得不在recyclerView Adapter中添加,这下面的代码表示当按钮是视图返回true时,否则返回false

public boolean isPositionHeader(int position) {
    if(ADD_SOURCE_BUTTON == getItemViewType(position)){
        return true;
    } else {
        return false;
    }
}

答案 1 :(得分:0)

我不确定这是一个好方法,但它对我有用。 尝试将RecyclerView放在ScrollView中,并将按钮放在RecyclerView下面。它现在可以正常工作。之前它有一些滚动问题,但现在由谷歌修改我认为我们可以将RecyclerView放在滚动视图中,但我不确定它是一个好方法,但它会起作用。