public static IOverScrollDecor setUpOverScroll(ViewPager viewPager) { return new HorizontalOverScrollBounceEffectDecorator(new ViewPagerOverScrollDecorAdapter(viewPager)); }
public static IOverScrollDecor setUpOverScroll(HorizontalScrollView scrollView) { return new HorizontalOverScrollBounceEffectDecorator(new HorizontalScrollViewOverScrollDecorAdapter(scrollView)); }
@Test public void detach_decoratorIsAttached_detachFromView() throws Exception { // Arrange HorizontalOverScrollBounceEffectDecorator uut = new HorizontalOverScrollBounceEffectDecorator(mViewAdapter); // Act uut.detach(); // Assert verify(mView).setOnTouchListener(eq((View.OnTouchListener) null)); verify(mView).setOverScrollMode(View.OVER_SCROLL_ALWAYS); }
@Test public void detach_decoratorIsAttached_detachFromView() throws Exception { // Arrange HorizontalOverScrollBounceEffectDecorator uut = new HorizontalOverScrollBounceEffectDecorator(mViewAdapter); // Act uut.detach(); // Assert verify(mView).setOnTouchListener(eq((View.OnTouchListener) null)); verify(mView).setOverScrollMode(View.OVER_SCROLL_ALWAYS); }
/** * Set up the over-scroll over a generic view, assumed to always be over-scroll ready (e.g. * a plain text field, image view). * * @param view The view. * @param orientation One of {@link #ORIENTATION_HORIZONTAL} or {@link #ORIENTATION_VERTICAL}. * * @return The over-scroll effect 'decorator', enabling further effect configuration. */ public static IOverScrollDecor setUpStaticOverScroll(View view, int orientation) { switch (orientation) { case ORIENTATION_HORIZONTAL: return new HorizontalOverScrollBounceEffectDecorator(new StaticOverScrollDecorAdapter(view)); case ORIENTATION_VERTICAL: return new VerticalOverScrollBounceEffectDecorator(new StaticOverScrollDecorAdapter(view)); default: throw new IllegalArgumentException("orientation"); } }
protected HorizontalOverScrollBounceEffectDecorator getUUT(float touchDragRatioFwd, float touchDragRatioBck) { HorizontalOverScrollBounceEffectDecorator uut = new HorizontalOverScrollBounceEffectDecorator(mViewAdapter, touchDragRatioFwd, touchDragRatioBck, DEFAULT_DECELERATE_FACTOR); uut.setOverScrollStateListener(mStateListener); uut.setOverScrollUpdateListener(mUpdateListener); return uut; } }
/** * Set up the over-scroll effect over a specified {@link RecyclerView} view. * <br/>Only recycler-views using <b>native</b> Android layout managers (i.e. {@link LinearLayoutManager}, * {@link GridLayoutManager} and {@link StaggeredGridLayoutManager}) are currently supported * by this convenience method. * * @param recyclerView The view. * @param orientation Either {@link #ORIENTATION_HORIZONTAL} or {@link #ORIENTATION_VERTICAL}. * * @return The over-scroll effect 'decorator', enabling further effect configuration. */ public static IOverScrollDecor setUpOverScroll(RecyclerView recyclerView, int orientation) { switch (orientation) { case ORIENTATION_HORIZONTAL: return new HorizontalOverScrollBounceEffectDecorator(new RecyclerViewOverScrollDecorAdapter(recyclerView)); case ORIENTATION_VERTICAL: return new VerticalOverScrollBounceEffectDecorator(new RecyclerViewOverScrollDecorAdapter(recyclerView)); default: throw new IllegalArgumentException("orientation"); } }
protected HorizontalOverScrollBounceEffectDecorator getUUT() { HorizontalOverScrollBounceEffectDecorator uut = new HorizontalOverScrollBounceEffectDecorator(mViewAdapter); uut.setOverScrollStateListener(mStateListener); uut.setOverScrollUpdateListener(mUpdateListener); return uut; }