android.support.v4.view.ViewCompat#setTranslationY ( )源码实例Demo

下面列出了android.support.v4.view.ViewCompat#setTranslationY ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: narrate-android   文件: BaseItemAnimator.java
@Override
public boolean animateMove(final RecyclerView.ViewHolder holder, int fromX, int fromY,
                           int toX, int toY) {
    final View view = holder.itemView;
    fromX += ViewCompat.getTranslationX(holder.itemView);
    fromY += ViewCompat.getTranslationY(holder.itemView);
    resetAnimation(holder);
    int deltaX = toX - fromX;
    int deltaY = toY - fromY;
    if (deltaX == 0 && deltaY == 0) {
        dispatchMoveFinished(holder);
        return false;
    }
    if (deltaX != 0) {
        ViewCompat.setTranslationX(view, -deltaX);
    }
    if (deltaY != 0) {
        ViewCompat.setTranslationY(view, -deltaY);
    }
    mPendingMoves.add(new MoveInfo(holder, fromX, fromY, toX, toY));
    return true;
}
 
源代码2 项目: GankGirl   文件: BaseItemAnimator.java
@Override
public boolean animateMove(final RecyclerView.ViewHolder holder, int fromX, int fromY,
                           int toX, int toY) {
    final View view = holder.itemView;
    fromX += ViewCompat.getTranslationX(holder.itemView);
    fromY += ViewCompat.getTranslationY(holder.itemView);
    resetAnimation(holder);
    int deltaX = toX - fromX;
    int deltaY = toY - fromY;
    if (deltaX == 0 && deltaY == 0) {
        dispatchMoveFinished(holder);
        return false;
    }
    if (deltaX != 0) {
        ViewCompat.setTranslationX(view, -deltaX);
    }
    if (deltaY != 0) {
        ViewCompat.setTranslationY(view, -deltaY);
    }
    mPendingMoves.add(new MoveInfo(holder, fromX, fromY, toX, toY));
    return true;
}
 
源代码3 项目: GankGirl   文件: BaseItemAnimator.java
private boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, RecyclerView.ViewHolder item) {
    boolean oldItem = false;
    if (changeInfo.newHolder == item) {
        changeInfo.newHolder = null;
    } else if (changeInfo.oldHolder == item) {
        changeInfo.oldHolder = null;
        oldItem = true;
    } else {
        return false;
    }
    ViewCompat.setAlpha(item.itemView, 1);
    ViewCompat.setTranslationX(item.itemView, 0);
    ViewCompat.setTranslationY(item.itemView, 0);
    dispatchChangeFinished(item, oldItem);
    return true;
}
 
源代码4 项目: AndroidChromium   文件: FloatLabelLayout.java
/**
 * Hide the label
 */
private void hideLabel(boolean animate) {
    if (animate) {
        float scale = mEditText.getTextSize() / mLabel.getTextSize();
        ViewCompat.setScaleX(mLabel, 1f);
        ViewCompat.setScaleY(mLabel, 1f);
        ViewCompat.setTranslationY(mLabel, 0f);

        ViewCompat.animate(mLabel)
                .translationY(mLabel.getHeight())
                .setDuration(ANIMATION_DURATION)
                .scaleX(scale)
                .scaleY(scale)
                .setListener(new ViewPropertyAnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(View view) {
                        mLabel.setVisibility(INVISIBLE);
                        mEditText.setHint(mHint);
                    }
                })
                .setInterpolator(mInterpolator).start();
    } else {
        mLabel.setVisibility(INVISIBLE);
        mEditText.setHint(mHint);
    }
}
 
private boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, ViewHolder item) {
    boolean oldItem = false;
    if (changeInfo.newHolder == item) {
        changeInfo.newHolder = null;
    } else if (changeInfo.oldHolder == item) {
        changeInfo.oldHolder = null;
        oldItem = true;
    } else {
        return false;
    }
    ViewCompat.setAlpha(item.itemView, 1);
    ViewCompat.setTranslationX(item.itemView, 0);
    ViewCompat.setTranslationY(item.itemView, 0);
    dispatchChangeFinished(item, oldItem);
    return true;
}
 
源代码6 项目: narrate-android   文件: BaseItemAnimator.java
private boolean endChangeAnimationIfNecessary(ChangeInfo changeInfo, RecyclerView.ViewHolder item) {
    boolean oldItem = false;
    if (changeInfo.newHolder == item) {
        changeInfo.newHolder = null;
    } else if (changeInfo.oldHolder == item) {
        changeInfo.oldHolder = null;
        oldItem = true;
    } else {
        return false;
    }
    ViewCompat.setAlpha(item.itemView, 1);
    ViewCompat.setTranslationX(item.itemView, 0);
    ViewCompat.setTranslationY(item.itemView, 0);
    dispatchChangeFinished(item, oldItem);
    return true;
}
 
/**
 * move the toolbarlayout (containing toolbar & tabs)
 * following the current scroll
 */
private void followScrollToolbarLayout(float yOffset) {
    if (mHeader.toolbar.getBottom() == 0) {
        return;
    }

    if (toolbarJoinsTabs()) {
        if (firstScrollValue == Float.MIN_VALUE) {
            firstScrollValue = yOffset;
        }

        float translationY = firstScrollValue - yOffset;

        if (translationY > 0) {
            translationY = 0;
        }

        log("translationY " + translationY);

        ViewCompat.setTranslationY(mHeader.toolbarLayout, translationY);
    } else {
        ViewCompat.setTranslationY(mHeader.toolbarLayout, 0);
        justToolbarAnimated = false;
    }

    followScrollToolbarIsVisible = (ViewCompat.getY(mHeader.toolbarLayout) >= 0);
}
 
源代码8 项目: styT   文件: MaterialFooterView.java
@Override
public void onComlete(MaterialRefreshLayout materialRefreshLayout) {
    if (materialWaveView != null) {
        materialWaveView.onComlete(materialRefreshLayout);
    }
    if (circleProgressBar != null) {
        circleProgressBar.onComlete(materialRefreshLayout);
        ViewCompat.setTranslationY(circleProgressBar, 0);
        ViewCompat.setScaleX(circleProgressBar, 0);
        ViewCompat.setScaleY(circleProgressBar, 0);
    }


}
 
源代码9 项目: KUtils-master   文件: BaseViewAnimator.java
/**
 * reset the view to default status
 *
 * @param target
 */
public void reset(View target) {
    ViewCompat.setAlpha(target, 1);
    ViewCompat.setScaleX(target, 1);
    ViewCompat.setScaleY(target, 1);
    ViewCompat.setTranslationX(target, 0);
    ViewCompat.setTranslationY(target, 0);
    ViewCompat.setRotation(target, 0);
    ViewCompat.setRotationY(target, 0);
    ViewCompat.setRotationX(target, 0);
}
 
@Override
public void onRefreshPositionChange(float scale, float moveXDistance, int refreshStatus, HTViewHolderTracker viewHolderTracker) {
    if (refreshStatus != HTBaseRecyclerView.RefreshStatus.REFRESH_PREPARE || viewHolderTracker.hasJustLeftIdlePosition()) {
        return;
    }
    float diffX = moveXDistance + mRefreshLoadView.getX() - mRefreshView.getMeasuredWidth();
    if (diffX > 0) {
        diffX = diffX >= maxXValue ? maxXValue : diffX;
        ViewCompat.setTranslationY(mRefreshLoadView.getChildAt(0), -diffX);
        ViewCompat.setTranslationY(mRefreshLoadView.getChildAt(1), diffX);
    } else {
        ViewCompat.setTranslationY(mRefreshLoadView.getChildAt(0), 0);
        ViewCompat.setTranslationY(mRefreshLoadView.getChildAt(1), 0);
    }
}
 
public FooterAbsListViewScrollListener(View footerView, Bundle savedState) {
    this.footerView = footerView;

    if (savedState != null) {
        paddingBottom = savedState.getInt("FOOTER_PADDING");
        translationY = savedState.getFloat("FOOTER_TRANSLATION_Y");
        ViewCompat.setTranslationY(footerView, translationY);
    }
}
 
源代码12 项目: FloatingSearchView   文件: MainActivity.java
@Override
protected void preAnimateAdd(RecyclerView.ViewHolder holder) {
    if(!mSearchView.isActivated()) return;
    ViewCompat.setTranslationX(holder.itemView, 0);
    ViewCompat.setTranslationY(holder.itemView, -holder.itemView.getHeight());
    ViewCompat.setAlpha(holder.itemView, 0);
}
 
源代码13 项目: actor-platform   文件: CustomItemAnimator.java
@Override
public boolean animateMove(final ViewHolder holder, int fromX, int fromY,
                           int toX, int toY) {
    if (holder instanceof AnimatorViewHolder) {
        if (!((AnimatorViewHolder) holder).performAnimation()) {
            return false;
        }
    }
    final View view = holder.itemView;
    fromX += ViewCompat.getTranslationX(holder.itemView);
    fromY += ViewCompat.getTranslationY(holder.itemView);
    resetAnimation(holder);
    int deltaX = toX - fromX;
    int deltaY = toY - fromY;
    if (deltaX == 0 && deltaY == 0) {
        dispatchMoveFinished(holder);
        return false;
    }
    if (deltaX != 0) {
        ViewCompat.setTranslationX(view, -deltaX);
    }
    if (deltaY != 0) {
        ViewCompat.setTranslationY(view, -deltaY);
    }
    mPendingMoves.add(new MoveInfo(holder, fromX, fromY, toX, toY));
    return true;
}
 
源代码14 项目: material-scrolling   文件: OverlayViewBehavior.java
@Override
protected void onScrolled(View target, int scrollY, int dy) {
    final int movingHeight = getFlexibleHeight() - until;
    ViewCompat.setTranslationY(target, -Math.min(scrollY, movingHeight));
    if (scrollY >= movingHeight) {
        target.setBackgroundColor(Color.rgb(33, 33, 33));
    } else {
        final int alpha = 255 * scrollY / movingHeight;
        target.setBackgroundColor(Color.argb(alpha, 33, 33, 33));
    }
}
 
源代码15 项目: GearLoadingProject   文件: GearLoadingLayout.java
private void selectShowAnimation(boolean showDialog) {
    if (mActivityContentView == null || isAnimating)
        return;

    if (showDialog) {
        mActivityContentView.addView(GearLoadingLayout.this);
    }

    this.showDialog = showDialog;
    float from = 0f;
    float to = 0f;
    boolean xAxis = false;
    boolean scaleDialog = false;


    switch (mShowMode) {
        case TOP:
            from = -mDialogHeight;
            to = 0;
            break;
        case BOTTOM:
            from = mDialogHeight;
            to = 0;
            break;
        case LEFT:
            from = -mDialogWidth;
            to = 0;
            xAxis = true;
            break;
        case RIGHT:
            from = mDialogWidth;
            to = 0;
            xAxis = true;
            break;
        case CENTER:
            scaleDialog = true;
            break;
        default:
            break;
    }

    setGearLayoutWrapperGravity();
    applyStyle();
    start();
    if (scaleDialog) {
        ViewCompat.setScaleX(mGearLayoutWrapper, showDialog ? 0 : 1);
        ViewCompat.setScaleY(mGearLayoutWrapper, showDialog ? 0 : 1);
        ViewCompat.animate(mGearLayoutWrapper).scaleX(showDialog ? 1 : 0).scaleY(showDialog ? 1 : 0).setDuration(showDialogDuration).withStartAction(startAction).withEndAction(endAction).start();
    } else {
        if (!xAxis) {
            ViewCompat.setTranslationY(mGearLayoutWrapper, showDialog ? from : to);
            ViewCompat.animate(mGearLayoutWrapper).translationY(showDialog ? to : from).setDuration(showDialogDuration).withStartAction(startAction).withEndAction(endAction).start();
        } else {
            ViewCompat.setTranslationX(mGearLayoutWrapper, showDialog ? from : to);
            ViewCompat.animate(mGearLayoutWrapper).translationX(showDialog ? to : from).setDuration(showDialogDuration).withStartAction(startAction).withEndAction(endAction).start();
        }
    }

    ViewCompat.setAlpha(mMainBackground, showDialog ? 0 : isEnableBlur ? 1 : mMainBackgroundAlpha);
    ViewCompat.animate(mMainBackground).alpha(showDialog ? isEnableBlur ? 1 : mMainBackgroundAlpha : 0).setDuration(showDialogDuration).start();
}
 
源代码16 项目: material-scrolling   文件: ParallaxBehavior.java
@Override
protected void computeTranslation(final View target, final int scrollY, final int y) {
    ViewCompat.setTranslationY(target, -scrollY / parallaxRate);
}
 
源代码17 项目: SpringHeader   文件: ViewOffsetHelper.java
private static void tickleInvalidationFlag(View view) {
    final float x = ViewCompat.getTranslationX(view);
    ViewCompat.setTranslationY(view, x + 1);
    ViewCompat.setTranslationY(view, x);
}
 
源代码18 项目: RecyclerViewLib   文件: FromTopItemAnimator.java
@Override
protected boolean prepHolderForAnimateAdd(ViewHolder holder) {
    int bottom = holder.itemView.getBottom();
    ViewCompat.setTranslationY(holder.itemView, - bottom);
    return true;
}
 
源代码19 项目: letv   文件: DefaultItemAnimator.java
public void endAnimation(ViewHolder item) {
    int i;
    View view = item.itemView;
    ViewCompat.animate(view).cancel();
    for (i = this.mPendingMoves.size() - 1; i >= 0; i--) {
        if (((MoveInfo) this.mPendingMoves.get(i)).holder == item) {
            ViewCompat.setTranslationY(view, 0.0f);
            ViewCompat.setTranslationX(view, 0.0f);
            dispatchMoveFinished(item);
            this.mPendingMoves.remove(i);
        }
    }
    endChangeAnimation(this.mPendingChanges, item);
    if (this.mPendingRemovals.remove(item)) {
        ViewCompat.setAlpha(view, 1.0f);
        dispatchRemoveFinished(item);
    }
    if (this.mPendingAdditions.remove(item)) {
        ViewCompat.setAlpha(view, 1.0f);
        dispatchAddFinished(item);
    }
    for (i = this.mChangesList.size() - 1; i >= 0; i--) {
        ArrayList<ChangeInfo> changes = (ArrayList) this.mChangesList.get(i);
        endChangeAnimation(changes, item);
        if (changes.isEmpty()) {
            this.mChangesList.remove(i);
        }
    }
    for (i = this.mMovesList.size() - 1; i >= 0; i--) {
        ArrayList<MoveInfo> moves = (ArrayList) this.mMovesList.get(i);
        int j = moves.size() - 1;
        while (j >= 0) {
            if (((MoveInfo) moves.get(j)).holder == item) {
                ViewCompat.setTranslationY(view, 0.0f);
                ViewCompat.setTranslationX(view, 0.0f);
                dispatchMoveFinished(item);
                moves.remove(j);
                if (moves.isEmpty()) {
                    this.mMovesList.remove(i);
                }
            } else {
                j--;
            }
        }
    }
    for (i = this.mAdditionsList.size() - 1; i >= 0; i--) {
        ArrayList<ViewHolder> additions = (ArrayList) this.mAdditionsList.get(i);
        if (additions.remove(item)) {
            ViewCompat.setAlpha(view, 1.0f);
            dispatchAddFinished(item);
            if (additions.isEmpty()) {
                this.mAdditionsList.remove(i);
            }
        }
    }
    if (this.mRemoveAnimations.remove(item)) {
    }
    if (this.mAddAnimations.remove(item)) {
    }
    if (this.mChangeAnimations.remove(item)) {
    }
    if (this.mMoveAnimations.remove(item)) {
        dispatchFinishedWhenDone();
    } else {
        dispatchFinishedWhenDone();
    }
}
 
源代码20 项目: RecyclerViewLib   文件: GarageDoorItemAnimator.java
@Override
protected boolean prepHolderForAnimateAdd(ViewHolder holder) {
    ViewCompat.setRotationX(holder.itemView, 90);
    ViewCompat.setTranslationY(holder.itemView, - (holder.itemView.getMeasuredHeight() / 2));
    return true;
}
 
 同类方法