Closed yykou closed 3 years ago
因为外层嵌套ScrollView,ScrollView里的子view高度会撑开到内容的最大,这时候页面滑动的是ScrollView而不是RecyclerView,所以就不会有吸顶效果了。
那可否再给这个带吸顶效果的RecyclerView 再添加头部呢?我这边RecyclerView顶部还有一小部分布局要展示,滑动的时候要和RecyclerView一起滑动
那可否再给这个带吸顶效果的RecyclerView 再添加头部呢?我这边RecyclerView顶部还有一小部分布局要展示,滑动的时候要和RecyclerView一起滑动
GroupedRecyclerViewAdapter是分组的,你可以把上面的布局作为第一个组,这个组只保留组尾来显示上面的布局。
第一个分组怎么实现只保留组尾?子项数据怎么能从第二组开始显示?
主要是对这几个方法的复写,这是思路的伪代码,具体你根据自己的业务处理。
@Override
public int getGroupCount() {
return count + 1;
}
@Override
public int getChildrenCount(int groupPosition) {
if (groupPosition == 0){
// 第一组没有子项
return 0;
} else {
// 原逻辑 注意groupPosition要减1
}
}
@Override
public boolean hasHeader(int groupPosition) {
if (groupPosition == 0){
// 第一组没有头部
return false;
} else {
return true;
}
}
@Override
public boolean hasFooter(int groupPosition) {
if (groupPosition == 0){
// 第一组保留头部
return true;
} else {
return false;
}
}
好的 ,感谢作者,问题已解决。
布局:
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent">
<com.startiasoft.long_run_planing.widget.sticky.StickyHeaderLayout android:id="@+id/sticky_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/point_history" android:layout_marginTop="5dp">
adapter继承了GroupedRecyclerViewAdapter
问题描述:如果去掉外层的ScrollView,吸顶效果是正常的,加上之后就无效了