第一种方法
StickyDecoration decoration = StickyDecoration.Builder
.init(new GroupListener() {
@Override
public String getGroupName(int position) {
//组名回调
if (position < data.size() && position > -1) {
//获取组名,用于判断是否是同一组
return data.get(position).getSellerName();
}
return null;
}
})
//背景色
.setGroupBackground(ContextCompat.getColor(this, R.color.colorAccent))
//高度
.setGroupHeight(getResources().getDimensionPixelOffset(R.dimen.dp_35))
//分割线颜色
.setDivideColor(ContextCompat.getColor(this, R.color.colorPrimary))
//分割线高度 (默认没有分割线)
.setDivideHeight(getResources().getDimensionPixelOffset(R.dimen.dp_2))
//字体颜色 (默认黑色)
.setGroupTextColor(Color.RED)
//字体大小
.setGroupTextSize(getResources().getDimensionPixelOffset(R.dimen.sp_15))
// 边距 靠左时为左边距 靠右时为右边距
.setTextSideMargin(getResources().getDimensionPixelOffset(R.dimen.dp_10))
//点击事件,返回当前分组下的第一个item的position
.setOnClickListener(new OnGroupClickListener() {
@Override
public void onClick(int position, int id) {
//Group点击事件
String content = "onGroupClick --> " + data.get(position).getSellerName();
Toast.makeText(MainActivity.this, content, Toast.LENGTH_SHORT).show();
}
})
.build();
第二种方法
GroupListener groupListener = new GroupListener() {
@Override
public String getGroupName(int position) {
//获取分组名
return data.get(position).getSellerName();
}
};
StickyDecoration decoration = StickyDecoration.Builder
.init(groupListener)
//重置span(使用GridLayoutManager时必须调用)
//.resetSpan(mRecyclerView, (GridLayoutManager) manager)
.build();