@Override public void transformPage(View page, float position) { final float width = page.getWidth(); final float height = page.getHeight(); final float rotation = ROT_MOD * position * -1.25f; ViewHelper.setPivotX(page,width * 0.5f); ViewHelper.setPivotY(page,height); ViewHelper.setRotation(page,rotation); } }
@Override public void scrollInvisible(View view, float position) { ViewHelper.setPivotX(view, view.getMeasuredWidth()); ViewHelper.setPivotY(view, view.getMeasuredHeight() * 0.5f); ViewHelper.setRotationY(view, 0); }
@Override public void scrollLeft(View view, float position) { ViewHelper.setPivotX(view, view.getMeasuredWidth()); ViewHelper.setPivotY(view, view.getMeasuredHeight() * 0.5f); ViewHelper.setRotationY(view, mMaxRotation * position); }
@Override public void scrollInvisible(View view, float position) { ViewHelper.setPivotX(view, view.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(view, view.getMeasuredHeight()); ViewHelper.setRotation(view, 0); }
@Override protected void onTransform(View view, float position) { final float width = view.getWidth(); final float height = view.getHeight(); final float rotation = ROT_MOD * position * -1.25f; ViewHelper.setPivotX(view,width * 0.5f); ViewHelper.setPivotY(view,height); ViewHelper.setRotation(view,rotation); }
@Override public void scrollLeft(View view, float position) { float rotation = (mMaxRotation * position); ViewHelper.setPivotX(view, view.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(view, view.getMeasuredHeight()); ViewHelper.setRotation(view, rotation); }
@Override protected void onTransform(View view, float position) { // Rotate the fragment on the left or right edge ViewHelper.setPivotX(view,position > 0 ? 0 : view.getWidth()); ViewHelper.setPivotY(view,0); ViewHelper.setRotation(view,-90f * position); }
@Override public void scrollRight(View view, float position) { ViewHelper.setPivotX(view, 0); ViewHelper.setPivotY(view, view.getMeasuredHeight() * 0.5f); ViewHelper.setRotationY(view, mMaxRotation * position); }
@Override protected void onTransform(View view, float position) { final float rotation = 180f * position; ViewHelper.setAlpha(view,rotation > 90f || rotation < -90f ? 0 : 1); ViewHelper.setPivotY(view,view.getHeight()*0.5f); ViewHelper.setPivotX(view,view.getWidth() * 0.5f); ViewHelper.setRotationY(view,rotation); }
@Override protected void onTransform(View view, float position) { final float width = view.getWidth(); final float rotation = ROT_MOD * position; ViewHelper.setPivotX(view,width * 0.5f); ViewHelper.setPivotY(view,0f); ViewHelper.setTranslationX(view,0f); ViewHelper.setRotation(view,rotation); }
@Override public void transformPage(View page, float position) { final float width = page.getWidth(); final float rotation = ROT_MOD * position; ViewHelper.setPivotX(page,width * 0.5f); ViewHelper.setPivotY(page,0f); ViewHelper.setTranslationX(page,0f); ViewHelper.setRotation(page,rotation); } }
@Override public void onPull(float scaleOfLayout) { scaleOfLayout = scaleOfLayout > 1.0f ? 1.0f : scaleOfLayout; //缩放动画 ViewHelper.setPivotY(mBabyImage, mBabyImage.getMeasuredHeight()); // 设置中心点 ViewHelper.setPivotX(mBabyImage, mBabyImage.getMeasuredWidth() / 2); ObjectAnimator animPX = ObjectAnimator.ofFloat(mBabyImage, "scaleX", 0, 1).setDuration(300); animPX.setCurrentPlayTime((long) (scaleOfLayout * 300)); ObjectAnimator animPY = ObjectAnimator.ofFloat(mBabyImage, "scaleY", 0, 1).setDuration(300); animPY.setCurrentPlayTime((long) (scaleOfLayout * 300)); }
@Override public void scrollLeft(View view, float position) { ViewHelper.setTranslationX(view, -view.getWidth() * position); ViewHelper.setPivotX(view,view.getWidth() * 0.5f); ViewHelper.setPivotY(view, view.getHeight() * 0.5f); ViewHelper.setScaleX(view, 1 + position); ViewHelper.setScaleY(view, 1 + position); ViewHelper.setAlpha(view, 1 + position); }
@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); ViewHelper.setScaleX(view,scale); ViewHelper.setScaleY(view,scale); ViewHelper.setPivotX(view,width * 0.5f); ViewHelper.setPivotY(view,height * 0.5f); ViewHelper.setTranslationX(view,position > 0 ? width * position : -width * position * 0.25f); }
@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); ViewHelper.setScaleX(view,scale); ViewHelper.setScaleY(view,scale); ViewHelper.setPivotX(view,width*0.5f); ViewHelper.setPivotY(view,height*0.5f); ViewHelper.setTranslationX(view,position < 0 ? width * position : -width * position * 0.25f); }
@Override public void scrollRight(View view, float position) { ViewHelper.setTranslationX(view, -view.getWidth() * position); ViewHelper.setPivotX(view,view.getWidth() * 0.5f); ViewHelper.setPivotY(view, view.getHeight() * 0.5f); ViewHelper.setScaleX(view, 1 - position); ViewHelper.setScaleY(view, 1 - position); ViewHelper.setAlpha(view, 1 - position); }
@Override public void scrollLeft(View view, float position) { ViewHelper.setTranslationX(view, -view.getWidth() * position); ViewHelper.setPivotX(view, view.getWidth() * 0.5f); ViewHelper.setPivotY(view, view.getHeight() * 0.5f); ViewHelper.setScaleX(view, 1 + position); ViewHelper.setScaleY(view, 1 + position); if (position < -0.95f) { ViewHelper.setAlpha(view, 0); } else { ViewHelper.setAlpha(view, 1); } }
protected void animateScroll(int position, float positionOffset) { if (mState != State.IDLE) { mRot = (float) (1 - Math.cos(2 * Math.PI * positionOffset)) / 2 * 30.0f; ViewHelper.setRotationY(this, mState == State.GOING_RIGHT ? mRot : -mRot); ViewHelper.setPivotX(this, getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(this, getMeasuredHeight() * 0.5f); } }
@Override protected void onFinishInflate() { super.onFinishInflate(); mNeedle = (ImageView) findViewById(R.id.player_needle); mAlbumCover = (ImageView) findViewById(R.id.player_disc_image); mDiscLayout = (RelativeLayout) findViewById(R.id.player_disc_container); ViewHelper.setPivotX(mNeedle, mNeedlePivotX); ViewHelper.setPivotY(mNeedle, mNeedlePivotY); }
@Override public void onPull(float scaleOfLayout) { if(scaleOfLayout < 0.7f) scaleOfLayout = 0.7f; if(scaleOfLayout > 1.0f) scaleOfLayout = 1.0f; //旋转动画 ViewHelper.setPivotX(mPointerImage, mPointerImage.getMeasuredWidth()/2); // 设置中心点 ViewHelper.setPivotY(mPointerImage, mPointerImage.getMeasuredHeight()/2); ObjectAnimator animPY = ObjectAnimator.ofFloat(mPointerImage, "rotation", 0, 250).setDuration(300); animPY.setCurrentPlayTime((long) (scaleOfLayout * 1000 - 700)); }