14
14
import java .util .List ;
15
15
16
16
public abstract class ParallaxRecyclerAdapter <T > extends RecyclerView .Adapter <RecyclerView .ViewHolder > {
17
- private static final float SCROLL_MULTIPLIER = 0.5f ;
17
+ private float mScrollMultiplier = 0.5f ;
18
18
19
19
public static class VIEW_TYPES {
20
20
public static final int NORMAL = 1 ;
@@ -62,7 +62,7 @@ public interface OnParallaxScroll {
62
62
* @param of offset in px
63
63
*/
64
64
public void translateHeader (float of ) {
65
- float ofCalculated = of * SCROLL_MULTIPLIER ;
65
+ float ofCalculated = of * mScrollMultiplier ;
66
66
if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .HONEYCOMB && of < mHeader .getHeight ()) {
67
67
mHeader .setTranslationY (ofCalculated );
68
68
} else if (of < mHeader .getHeight ()) {
@@ -76,7 +76,7 @@ public void translateHeader(float of) {
76
76
final RecyclerView .ViewHolder holder = mRecyclerView .findViewHolderForAdapterPosition (0 );
77
77
float left ;
78
78
if (holder != null ) {
79
- left = Math .min (1 , ((ofCalculated ) / (mHeader .getHeight () * SCROLL_MULTIPLIER )));
79
+ left = Math .min (1 , ((ofCalculated ) / (mHeader .getHeight () * mScrollMultiplier )));
80
80
}else {
81
81
left = 1 ;
82
82
}
@@ -238,4 +238,20 @@ public void setClipY(int offset) {
238
238
invalidate ();
239
239
}
240
240
}
241
+ /**
242
+ * Set parallax scroll multiplier.
243
+ *
244
+ * @param mul The multiplier
245
+ */
246
+ public void setScrollMultiplier (float mul ) {
247
+ this .mScrollMultiplier = mul ;
248
+ }
249
+
250
+ /**
251
+ * Get the current parallax scroll multiplier.
252
+ *
253
+ */
254
+ public float getScrollMultiplier () {
255
+ return this .mScrollMultiplier ;
256
+ }
241
257
}
0 commit comments