Example usage for android.view View getTranslationX

List of usage examples for android.view View getTranslationX

Introduction

In this page you can find the example usage for android.view View getTranslationX.

Prototype

@ViewDebug.ExportedProperty(category = "drawing")
public float getTranslationX() 

Source Link

Document

The horizontal location of this view relative to its #getLeft() left position.

Usage

From source file:Main.java

public static int getSlideOutXDistance(View view) {
    return (int) view.getTranslationX();
}

From source file:com.facebook.litho.utils.IncrementalMountUtils.java

private static void maybePerformIncrementalMountOnView(int scrollingParentWidth, int scrollingParentHeight,
        View view) {
    final View underlyingView = view instanceof WrapperView ? ((WrapperView) view).getWrappedView() : view;

    if (!(underlyingView instanceof LithoView)) {
        return;//from ww w  .j  a  va 2s  .c om
    }

    final LithoView lithoView = (LithoView) underlyingView;
    if (!lithoView.isIncrementalMountEnabled()) {
        return;
    }

    if (view != underlyingView && view.getHeight() != underlyingView.getHeight()) {
        throw new IllegalStateException(
                "ViewDiagnosticsWrapper must be the same height as the underlying view");
    }

    final int translationX = (int) view.getTranslationX();
    final int translationY = (int) view.getTranslationY();
    final int top = view.getTop() + translationY;
    final int bottom = view.getBottom() + translationY;
    final int left = view.getLeft() + translationX;
    final int right = view.getRight() + translationX;

    if (left >= 0 && top >= 0 && right <= scrollingParentWidth && bottom <= scrollingParentHeight
            && lithoView.getPreviousMountBounds().width() == lithoView.getWidth()
            && lithoView.getPreviousMountBounds().height() == lithoView.getHeight()) {
        // View is fully visible, and has already been completely mounted.
        return;
    }

    final Rect rect = acquireRect();
    rect.set(Math.max(0, -left), Math.max(0, -top), Math.min(right, scrollingParentWidth) - left,
            Math.min(bottom, scrollingParentHeight) - top);

    if (rect.isEmpty()) {
        // View is not visible at all, nothing to do.
        release(rect);
        return;
    }

    lithoView.performIncrementalMount(rect);

    release(rect);
}

From source file:com.ruesga.rview.widget.DividerItemDecoration.java

public void drawHorizontal(Canvas c, RecyclerView parent) {
    final int top = parent.getPaddingTop() + mStartMargin;
    final int bottom = parent.getHeight() - parent.getPaddingBottom() - mEndMargin;
    final int childCount = parent.getChildCount() - 1;
    for (int i = 0; i < childCount; i++) {
        final View child = parent.getChildAt(i);
        final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
        final int left = child.getRight() + params.rightMargin + Math.round(child.getTranslationX());
        final int right = left + mDivider.getIntrinsicHeight();
        mDivider.setBounds(left, top, right, bottom);
        mDivider.draw(c);/* ww  w.j a  v  a2s. c o m*/
    }
}

From source file:com.granita.tasks.groupings.BaseTaskViewDescriptor.java

@SuppressLint("NewApi")
protected void resetFlingView(View view) {
    View flingContentView = getView(view, getFlingContentViewId());
    if (flingContentView == null) {
        flingContentView = view;// w  ww  .  ja v a 2s  . c  om
    }

    if (android.os.Build.VERSION.SDK_INT >= 14) {
        if (flingContentView.getTranslationX() != 0) {
            flingContentView.setTranslationX(0);
            flingContentView.setAlpha(1);
        }
    } else {
        LayoutParams layoutParams = (LayoutParams) flingContentView.getLayoutParams();
        if (layoutParams.leftMargin != 0 || layoutParams.rightMargin != 0) {
            layoutParams.setMargins(0, layoutParams.topMargin, 0, layoutParams.bottomMargin);
            flingContentView.setLayoutParams(layoutParams);
        }
    }
}

From source file:com.tmall.wireless.tangram.ext.SwipeItemTouchListener.java

private View findFixedChildViewUnder(MotionEvent event) {
    final int x = (int) event.getX();
    final int y = (int) event.getY();
    final List<View> fixedViews = getLayoutManager().getFixedViews();
    int count = fixedViews.size();
    for (int i = count - 1; i >= 0; --i) {
        View child = fixedViews.get(i);
        float translationX = child.getTranslationX();
        float translationY = child.getTranslationY();
        if (x >= (float) child.getLeft() + translationX && x <= (float) child.getRight() + translationX
                && y >= (float) child.getTop() + translationY
                && y <= (float) child.getBottom() + translationY) {
            return child;
        }/* www  . ja  v  a2  s  .c om*/
    }

    return null;
}

From source file:com.android.clear.reminder.ItemAnimator.java

@Override
public boolean animateMove(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
    endAnimation(holder);/*from   w  ww . j a v  a2  s  .  c o m*/

    final int deltaX = toX - fromX;
    final int deltaY = toY - fromY;
    final long moveDuration = getMoveDuration();

    if (deltaX == 0 && deltaY == 0) {
        dispatchMoveFinished(holder);
        return false;
    }

    final View view = holder.itemView;
    final float prevTranslationX = view.getTranslationX();
    final float prevTranslationY = view.getTranslationY();
    view.setTranslationX(-deltaX);
    view.setTranslationY(-deltaY);

    final ObjectAnimator moveAnimator;
    if (deltaX != 0 && deltaY != 0) {
        final PropertyValuesHolder moveX = PropertyValuesHolder.ofFloat(TRANSLATION_X, 0f);
        final PropertyValuesHolder moveY = PropertyValuesHolder.ofFloat(TRANSLATION_Y, 0f);
        moveAnimator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, moveX, moveY);
    } else if (deltaX != 0) {
        final PropertyValuesHolder moveX = PropertyValuesHolder.ofFloat(TRANSLATION_X, 0f);
        moveAnimator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, moveX);
    } else {
        final PropertyValuesHolder moveY = PropertyValuesHolder.ofFloat(TRANSLATION_Y, 0f);
        moveAnimator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, moveY);
    }

    moveAnimator.setDuration(moveDuration);
    moveAnimator.setInterpolator(AnimatorUtils.INTERPOLATOR_FAST_OUT_SLOW_IN);
    moveAnimator.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationStart(Animator animator) {
            dispatchMoveStarting(holder);
        }

        @Override
        public void onAnimationEnd(Animator animator) {
            animator.removeAllListeners();
            mAnimators.remove(holder);
            view.setTranslationX(prevTranslationX);
            view.setTranslationY(prevTranslationY);
            dispatchMoveFinished(holder);
        }
    });
    mMoveAnimatorsList.add(moveAnimator);
    mAnimators.put(holder, moveAnimator);

    return true;
}

From source file:com.sysdata.widget.accordion.ItemAnimator.java

@Override
public boolean animateMove(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
    endAnimation(holder);/*from ww w. j  a  v a 2 s.c  o m*/

    final int deltaX = toX - fromX;
    final int deltaY = toY - fromY;
    final long moveDuration = getMoveDuration();

    if (deltaX == 0 && deltaY == 0) {
        dispatchMoveFinished(holder);
        return false;
    }

    final View view = holder.itemView;
    final float prevTranslationX = view.getTranslationX();
    final float prevTranslationY = view.getTranslationY();
    view.setTranslationX(-deltaX);
    view.setTranslationY(-deltaY);

    final ObjectAnimator moveAnimator;
    if (deltaX != 0 && deltaY != 0) {
        final PropertyValuesHolder moveX = PropertyValuesHolder.ofFloat(TRANSLATION_X, 0f);
        final PropertyValuesHolder moveY = PropertyValuesHolder.ofFloat(TRANSLATION_Y, 0f);
        moveAnimator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, moveX, moveY);
    } else if (deltaX != 0) {
        final PropertyValuesHolder moveX = PropertyValuesHolder.ofFloat(TRANSLATION_X, 0f);
        moveAnimator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, moveX);
    } else {
        final PropertyValuesHolder moveY = PropertyValuesHolder.ofFloat(TRANSLATION_Y, 0f);
        moveAnimator = ObjectAnimator.ofPropertyValuesHolder(holder.itemView, moveY);
    }

    moveAnimator.setDuration(moveDuration);
    moveAnimator.setInterpolator(new FastOutSlowInInterpolator());
    moveAnimator.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationStart(Animator animator) {
            dispatchMoveStarting(holder);
        }

        @Override
        public void onAnimationEnd(Animator animator) {
            animator.removeAllListeners();
            mAnimators.remove(holder);
            view.setTranslationX(prevTranslationX);
            view.setTranslationY(prevTranslationY);
            dispatchMoveFinished(holder);
        }
    });
    mMoveAnimatorsList.add(moveAnimator);
    mAnimators.put(holder, moveAnimator);

    return true;
}

From source file:android.support.transition.Slide.java

@Override
public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues,
        TransitionValues endValues) {/*from   w  ww .j av a2  s  .co  m*/
    if (endValues == null) {
        return null;
    }
    int[] position = (int[]) endValues.values.get(PROPNAME_SCREEN_POSITION);
    float endX = view.getTranslationX();
    float endY = view.getTranslationY();
    float startX = mSlideCalculator.getGoneX(sceneRoot, view);
    float startY = mSlideCalculator.getGoneY(sceneRoot, view);
    return TranslationAnimationCreator.createAnimation(view, endValues, position[0], position[1], startX,
            startY, endX, endY, sDecelerate);
}

From source file:android.support.transition.Slide.java

@Override
public Animator onDisappear(ViewGroup sceneRoot, View view, TransitionValues startValues,
        TransitionValues endValues) {/*from w  ww.  j a  v  a2s  .c o  m*/
    if (startValues == null) {
        return null;
    }
    int[] position = (int[]) startValues.values.get(PROPNAME_SCREEN_POSITION);
    float startX = view.getTranslationX();
    float startY = view.getTranslationY();
    float endX = mSlideCalculator.getGoneX(sceneRoot, view);
    float endY = mSlideCalculator.getGoneY(sceneRoot, view);
    return TranslationAnimationCreator.createAnimation(view, startValues, position[0], position[1], startX,
            startY, endX, endY, sAccelerate);
}

From source file:com.tmall.wireless.tangram.ext.SwipeItemTouchListener.java

private View findScrollableChildViewUnder(MotionEvent event) {
    final int x = (int) event.getX();
    final int y = (int) event.getY();
    final int first = getLayoutManager().findFirstVisibleItemPosition();
    final int last = getLayoutManager().findLastVisibleItemPosition();
    for (int i = 0; i <= last - first; i++) {
        View child = getLayoutManager().getChildAt(i);
        if (child instanceof ViewGroup) {
            float translationX = child.getTranslationX();
            float translationY = child.getTranslationY();
            if (x >= (float) child.getLeft() + translationX && x <= (float) child.getRight() + translationX
                    && y >= (float) child.getTop() + translationY
                    && y <= (float) child.getBottom() + translationY) {
                if (findCanScrollView(child) != null) {
                    return child;
                }//w  w w.ja  v  a2  s.  c om
            }
        }
    }
    return null;
}