我有一个带有网格图像的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"/>
答案 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放在滚动视图中,但我不确定它是一个好方法,但它会起作用。