Skip to content

Commit 28a22c2

Browse files
committed
code review 2
1 parent e08f0aa commit 28a22c2

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

omegarecyclerviewlibs/src/main/java/com/omega_r/libs/omegarecyclerview/OmegaRecyclerView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.omega_r.libs.omegarecyclerview.sticky_decoration.BaseStickyDecoration;
2424
import com.omega_r.libs.omegarecyclerview.sticky_decoration.StickyAdapter;
2525
import com.omega_r.libs.omegarecyclerview.sticky_decoration.HeaderStickyDecoration;
26-
import com.omega_r.libs.omegarecyclerview.sticky_decoration.StickyMiddleDecoration;
26+
import com.omega_r.libs.omegarecyclerview.sticky_decoration.MiddleStickyDecoration;
2727
import com.omega_r.libs.omegarecyclerview.swipe_menu.SwipeMenuHelper;
2828

2929
import java.util.ArrayList;
@@ -269,7 +269,7 @@ protected BaseStickyDecoration provideStickyDecoration(@NonNull RecyclerView.Ada
269269
if (stickyAdapter == null) return null;
270270
switch (mStickyMode) {
271271
case StickyAdapter.Mode.MIDDLE:
272-
return new StickyMiddleDecoration(stickyAdapter);
272+
return new MiddleStickyDecoration(stickyAdapter);
273273
case StickyAdapter.Mode.HEADER:
274274
default:
275275
return new HeaderStickyDecoration(stickyAdapter);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.omega_r.libs.omegarecyclerview.sticky_decoration;
2+
3+
import android.view.View;
4+
5+
import androidx.annotation.NonNull;
6+
import androidx.annotation.Nullable;
7+
import androidx.recyclerview.widget.RecyclerView;
8+
9+
public class MiddleStickyDecoration extends StickyDecoration {
10+
11+
public MiddleStickyDecoration(@NonNull StickyAdapter adapter) {
12+
super(adapter);
13+
}
14+
15+
@Override
16+
protected int getStickerTop(boolean isReverseLayout, View child, View sticker, int layoutPos) {
17+
int top = (int) child.getY();
18+
if (!isReverseLayout && layoutPos == 0 && top > 0) {
19+
return Math.max(0, top - mItemSpace);
20+
}
21+
return Math.max(0, top);
22+
}
23+
24+
@Override
25+
int getOffset(@Nullable RecyclerView.ViewHolder stickyHolder, int stickerHeight, View next) {
26+
return (int) (next.getY() - stickerHeight);
27+
}
28+
29+
}

0 commit comments

Comments
 (0)