/** * Apply a property transformation to the given page. For most use cases, this method should not be overridden. * Instead use {@link #transformPage(View, float)} to perform typical transformations. * * @param page * Apply the transformation to this page * @param position * Position of page relative to the current front-and-center position of the pager. 0 is front and * center. 1 is one full page position to the right, and -1 is one page position to the left. */ @Override public void transformPage(View page, float position) { onPreTransform(page, position); onTransform(page, position); onPostTransform(page, position); }
@Override protected void onPostTransform(View page, float position) { super.onPostTransform(page, position); //resolve problem: new page can't handle click event! if (position > -0.5f && position < 0.5f) { page.setVisibility(View.VISIBLE); } else { page.setVisibility(View.INVISIBLE); } } }
@Override protected void onTransform(View view, float position) { final float height = view.getHeight(); final float width = view.getWidth(); final float scale = min(position > 0 ? 1f : Math.abs(1f + position), 0.5f); view.setScaleX(scale); view.setScaleY(scale); view.setPivotX(width * 0.5f); view.setPivotY(height * 0.5f); view.setTranslationX(position > 0 ? width * position : -width * position * 0.25f); }
case R.id.AccordionTransformer: getSupportActionBar().setTitle("AccordionTransformer"); mBannerViewPager.setPageTransformer(new AccordionTransformer()); break; case R.id.BackgroundToForegroundTransformer: getSupportActionBar().setTitle("BackgroundToForegroundTransformer"); mBannerViewPager.setPageTransformer(new BackgroundToForegroundTransformer()); break; case R.id.CubeInTransformer: getSupportActionBar().setTitle("CubeInTransformer"); mBannerViewPager.setPageTransformer(new CubeInTransformer()); break; case R.id.CubeOutTransformer: getSupportActionBar().setTitle("CubeOutTransformer"); mBannerViewPager.setPageTransformer(new CubeOutTransformer()); break; case R.id.DefaultTransformer: getSupportActionBar().setTitle("DefaultTransformer"); mBannerViewPager.setPageTransformer(new DefaultTransformer()); break; case R.id.DepthPageTransformer: getSupportActionBar().setTitle("DepthPageTransformer"); mBannerViewPager.setPageTransformer(new DepthPageTransformer()); break; case R.id.FlipVerticalTransformer: getSupportActionBar().setTitle("FlipVerticalTransformer"); mBannerViewPager.setPageTransformer(new FlipVerticalTransformer()); break; case R.id.FlipHorizontalTransformer:
page.setPivotY(0); page.setTranslationY(0); page.setTranslationX(isPagingEnabled() ? 0f : -width * position); if (hideOffscreenPages()) { page.setAlpha(position <= -1f || position >= 1f ? 0f : 1f);
@Override protected void onTransform(View view, float position) { final float height = view.getHeight(); final float width = view.getWidth(); final float scale = min(position < 0 ? 1f : Math.abs(1f - position), 0.5f); view.setScaleX(scale); view.setScaleY(scale); view.setPivotX(width * 0.5f); view.setPivotY(height * 0.5f); view.setTranslationX(position < 0 ? width * position : -width * position * 0.25f); }
@Override protected void onTransform(View view, float position) { final float rotation = (position < 0 ? 30f : -30f) * Math.abs(position); view.setTranslationX(getOffsetXForRotation(rotation, view.getWidth(), view.getHeight())); view.setPivotX(view.getWidth() * 0.5f); view.setPivotY(0); view.setRotationY(rotation); }
@Override protected void onPostTransform(View page, float position) { super.onPostTransform(page, position); if (position > -0.5f && position < 0.5f) { page.setVisibility(View.VISIBLE); } else { page.setVisibility(View.INVISIBLE); } } }