protected void updateViews(int scrollY, boolean animated) { // If it's ListView, onScrollChanged is called before ListView is laid out (onGlobalLayout). // This causes weird animation when onRestoreInstanceState occurred, // so we check if it's laid out already. // if (!mReady) { // return; // } // Translate header ViewHelper.setTranslationY(headerViewContent, getHeaderTranslationY(scrollY)); }
@Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (toolbarScrollFlags == 0) { return; } ViewHelper.setTranslationY(gradient, verticalOffset); ViewHelper.setAlpha(gradient, 1 - (float) Math.abs(verticalOffset) / (float) appBarLayout.getTotalScrollRange()); switch (progressBarPosition) { case BOTTON_OF_TOOLBAR: ViewHelper.setTranslationY(progressBar, Math.max(verticalOffset, progressBarHeight - appBarLayout.getTotalScrollRange())); break; case TOP_OF_WEBVIEW: ViewHelper.setTranslationY(progressBar, verticalOffset); break; case TOP_OF_TOOLBAR: case BOTTOM_OF_WEBVIEW: default: break; } if (menuLayout.getVisibility() == View.VISIBLE && Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ViewHelper.setTranslationY(menuLayout, Math.max(verticalOffset, -getResources().getDimension(R.dimen.defaultMenuLayoutMargin))); } }
@Override public void onReveal(View child, SwipeLayout.DragEdge edge, float fraction, int distance) { View star = child.findViewById(R.id.star); float d = child.getHeight() / 2 - star.getHeight() / 2; ViewHelper.setTranslationY(star, d * fraction); ViewHelper.setScaleX(star, fraction + 0.6f); ViewHelper.setScaleY(star, fraction + 0.6f); } });
@Override public void run() { ViewHelper.setRotation(mShapeLoadingView, 180f); ViewHelper.setTranslationY(mShapeLoadingView, 0f); ViewHelper.setScaleX(mIndicationIm, 0.2f); mStopped = false; freeFall(); } };
@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); }
public static void reset(View view) { ViewHelper.setAlpha(view, 1); ViewHelper.setScaleX(view, 1); ViewHelper.setScaleY(view, 1); ViewHelper.setTranslationX(view, 0); ViewHelper.setTranslationY(view, 0); ViewHelper.setRotation(view, 0); ViewHelper.setRotationY(view, 0); ViewHelper.setRotationX(view, 0); }
@Override public void transformPage(View page, float position) { ViewHelper.setTranslationX(page, 0); if (position <= -1.0F || position >= 1.0F) { ViewHelper.setAlpha(page, 0.0F); } else if (position == 0.0F) { ViewHelper.setAlpha(page, 1.0F); } else { // position is between -1.0F & 0.0F OR 0.0F & 1.0F ViewHelper.setAlpha(page, 1.0F - Math.abs(position)); } } }
/** * Lifting view * * @param view The animation target * @param baseRotation initial Rotation X in 3D space * @param duration aniamtion duration */ @Deprecated public static void liftingFromBottom(View view, float baseRotation, int duration){ ViewHelper.setRotationX(view, baseRotation); ViewHelper.setTranslationY(view, view.getHeight() / 3); ViewPropertyAnimator .animate(view) .setInterpolator(new AccelerateDecelerateInterpolator()) .setDuration(duration) .rotationX(0) .translationY(0) .start(); }
@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 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); } }
private void showInternal(){ mView.show(); ViewHelper.setTranslationX(mView, (mParentView.getWidth() - mView.getWidth()) / 2); ViewHelper.setAlpha(mView, 0f); ViewHelper.setTranslationY(mView, -mView.getHeight() + mTranslationY); //mView.setVisibility(View.VISIBLE); ViewPropertyAnimator.animate(mView).alpha(1f).translationY(25 + mTranslationY) .setInterpolator(new DecelerateInterpolator()) .setListener(null) .setDuration(300).setStartDelay(0).start(); mVisible = true; }
@Override public void run() { ViewHelper.setTranslationX(mView, (mParentView.getWidth() - mView.getWidth()) / 2); ViewHelper.setTranslationY(mView, -mView.getHeight() + mTranslationY); mInflated = true; if(!mToastCanceled && mShowCalled) showInternal(); } },1);
private void setAnimation(View viewToAnimate, int position) { { ViewHelper.setAlpha(viewToAnimate, .0f); com.nineoldandroids.view.ViewPropertyAnimator.animate(viewToAnimate).alpha(1).setDuration(250).start(); lastPosition = 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); }
* (float) (getMeasuredHeight() - getMeasuredHeight() * Math.cos(mRot * Math.PI / 180.0f)); ViewHelper.setPivotX(left, left.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(left, up ? 0 : left.getMeasuredHeight()); ViewHelper.setTranslationY(left, mTrans); ViewHelper.setRotation(left, mRot); * (float) (getMeasuredHeight() - getMeasuredHeight() * Math.cos(mRot * Math.PI / 180.0f)); ViewHelper.setPivotX(right, right.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(right, up ? 0 : right.getMeasuredHeight()); ViewHelper.setTranslationY(right, mTrans); ViewHelper.setRotation(right, mRot);
@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); }
left.setVisibility(View.VISIBLE); mTrans = positionOffsetPixels; ViewHelper.setPivotX(left, left.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(left, left.getMeasuredHeight() * 0.5f); ViewHelper.setTranslationX(left, mTrans); ViewHelper.setRotationX(left, mRot); + positionOffsetPixels; ViewHelper .setPivotX(right, right.getMeasuredWidth() * 0.5f); ViewHelper.setPivotY(right, right.getMeasuredHeight() * 0.5f); ViewHelper.setTranslationX(right, mTrans); ViewHelper.setRotationX(right, mRot);
@Override public boolean onScroll(float y) { boolean intercept = super.onScroll(y); ViewHelper.setTranslationY(loadBox, 0.97f * y - loadBox.getHeight()); if (!isLockState()) { ViewHelper.setRotation(progress, y * y * 48 / 31250); } path.reset();// 重置path if (y == 0) { invalidate(); return intercept; } // 贝赛尔曲线的起始点 path.moveTo(0, 0); // 设置贝赛尔曲线的操作点以及终止点 path.quadTo(width / 2, 1.94f * y, width, 0); invalidate(); return intercept; } }