diff --git a/entry/src/main/java/com/simplecityapps/recyclerview_fastscroll/sample/slice/MainAbilitySlice.java b/entry/src/main/java/com/simplecityapps/recyclerview_fastscroll/sample/slice/MainAbilitySlice.java index 6c7f678f43d3e941169631ed59668e00cc72fb77..ea5b8adfb3417de8a030f6abef611b89e1c0096a 100644 --- a/entry/src/main/java/com/simplecityapps/recyclerview_fastscroll/sample/slice/MainAbilitySlice.java +++ b/entry/src/main/java/com/simplecityapps/recyclerview_fastscroll/sample/slice/MainAbilitySlice.java @@ -26,6 +26,7 @@ public class MainAbilitySlice extends AbilitySlice { private float lastV; Point pt = new Point(); + @Override public void onStart(Intent intent) { super.onStart(intent); @@ -40,6 +41,7 @@ public class MainAbilitySlice extends AbilitySlice { Optional display = DisplayManager.getInstance().getDefaultDisplay(MainAbilitySlice.this); display.get().getSize(pt); + text1.setBindStateChangedListener(new Component.BindStateChangedListener() { @Override public void onComponentBoundToWindow(Component component) { @@ -52,6 +54,7 @@ public class MainAbilitySlice extends AbilitySlice { } }); + text2.setBindStateChangedListener(new Component.BindStateChangedListener() { @Override public void onComponentBoundToWindow(Component component) { @@ -65,51 +68,53 @@ public class MainAbilitySlice extends AbilitySlice { } }); pageslider.setProvider(new PagerAdapter(this)); - pageslider.addPageChangedListener(new PageSlider.PageChangedListener() { @Override public void onPageSliding(int i, float v, int i1) { - if(i1 < lastV&& lastV==1){ + if (v == 0 && i1 == 0) { + adjust(); + return; + } + if (i1 < lastV && lastV == 1) { lastV = 1; - }else{ + } else { lastV = i1; } System.out.println("addPageChangedListener onPageSliding " + i + "==" + lastV + "==" + i1); if (lastV > 0) { - if(v>0.5){ + if (v > 0.5) { text1.setTextColor(new Color(Color.getIntColor("#787878"))); text2.setTextColor(new Color(Color.getIntColor("#000000"))); text1.setTranslationX(0); - text2.setTranslationX(textLeft2-textLeft2*(v-0.5f)); - }else{ - text1.setTranslationX(textLeft1-textLeft1*v*2); + text2.setTranslationX(textLeft2 - textLeft2 * (v - 0.5f)); + } else { + text1.setTranslationX(textLeft1 - textLeft1 * v * 2); text2.setTranslationX(textLeft2); text1.setTextColor(new Color(Color.getIntColor("#000000"))); text2.setTextColor(new Color(Color.getIntColor("#787878"))); } } else { - if(v>0.5){ + if (v > 0.5) { text2.setTranslationX(textLeft2); - text1.setTranslationX(textLeft1*(v-0.5f)*2); + text1.setTranslationX(textLeft1 * (v - 0.5f) * 2); text1.setTextColor(new Color(Color.getIntColor("#000000"))); text2.setTextColor(new Color(Color.getIntColor("#787878"))); - }else{ - text2.setTranslationX(textLeft1+textLeft1*v*2); + } else { + text2.setTranslationX(textLeft1 + textLeft1 * v * 2); text1.setTranslationX(0); text1.setTextColor(new Color(Color.getIntColor("#787878"))); text2.setTextColor(new Color(Color.getIntColor("#000000"))); } } - - } @Override public void onPageSlideStateChanged(int i) { System.out.println("addPageChangedListener onPageSlideStateChanged " + i); + adjust(); } @Override @@ -128,4 +133,15 @@ public class MainAbilitySlice extends AbilitySlice { public void onForeground(Intent intent) { super.onForeground(intent); } + + + private void adjust() { + if (pageslider.getCurrentPage() == 0) { + text1.setTranslationX(textLeft1); + text2.setTranslationX(textLeft2); + } else { + text2.setTranslationX(textLeft1); + text1.setTranslationX(0); + } + } }