Java Code Examples for android.view.View#setRight()

The following examples show how to use android.view.View#setRight() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
public void customRequestLayout() {
    int left = getFirstItemLeft();
    int right;
    for (int i = findFirstVisibleItemPosition(); i < findLastVisibleItemPosition() + 1; i++) {

        // Column headers should have been already calculated.
        right = left + getCacheWidth(i);

        View columnHeader = findViewByPosition(i);
        columnHeader.setLeft(left);
        columnHeader.setRight(right);

        layoutDecoratedWithMargins(columnHeader, columnHeader.getLeft(), columnHeader.getTop
                (), columnHeader.getRight(), columnHeader.getBottom());

        // + 1 is for decoration item.
        left = right + 1;
    }
}
 
Example 2
Source Project: TableView   File: ColumnHeaderLayoutManager.java    License: MIT License 6 votes vote down vote up
public void customRequestLayout() {
    int left = getFirstItemLeft();
    int right;
    for (int i = findFirstVisibleItemPosition(); i < findLastVisibleItemPosition() + 1; i++) {

        // Column headers should have been already calculated.
        right = left + getCacheWidth(i);

        View columnHeader = findViewByPosition(i);
        columnHeader.setLeft(left);
        columnHeader.setRight(right);

        layoutDecoratedWithMargins(columnHeader, columnHeader.getLeft(), columnHeader.getTop
                (), columnHeader.getRight(), columnHeader.getBottom());

        // + 1 is for decoration item.
        left = right + 1;
    }
}
 
Example 3
@NonNull
private LayoutParams initParams(@NonNull View view, int left, int top) {
    int[] loc = new int[2];
    getLocationOnScreen(loc);

    final LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);
    left -= loc[0];
    top -= loc[1];
    layoutParams.leftMargin = left;
    layoutParams.topMargin = top;
    view.setLeft(left);
    view.setTop(top);
    if (view.getMeasuredWidth() != 0) {
        layoutParams.width = view.getMeasuredWidth();
        view.setRight(left + layoutParams.width);
    }
    if (view.getMeasuredHeight() != 0) {
        layoutParams.height = view.getMeasuredHeight();
        view.setBottom(top + layoutParams.height);
    }
    return layoutParams;
}
 
Example 4
Source Project: scene   File: SceneViewCompatUtilsApi21.java    License: Apache License 2.0 5 votes vote down vote up
@Override
public void setLeftTopRightBottom(View v, int left, int top, int right, int bottom) {
    v.setLeft(left);
    v.setTop(top);
    v.setRight(right);
    v.setBottom(bottom);
}
 
Example 5
Source Project: scene   File: ViewOtherAnimationBuilder.java    License: Apache License 2.0 5 votes vote down vote up
@Override
        public void set(View object, final Rect value) {
            //todo 优化,用setLeftTopRightBottom反射
//            ViewUtils.setLeftTopRightBottom(object, mLeft, mTop, mRight, mBottom);
            object.setLeft(value.left);
            object.setTop(value.top);
            object.setRight(value.right);
            object.setBottom(value.bottom);
        }
 
Example 6
private void layout(View header, RecyclerView parent) {
    RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) header.getLayoutParams();
    int left = parent.getPaddingLeft() + params.leftMargin;
    int top = parent.getPaddingTop() + params.topMargin;
    header.setLeft(left);
    header.setRight(left + header.getMeasuredWidth());
    header.setTop(top);
    header.setBottom(top + header.getMeasuredHeight());
}
 
Example 7
private void fit2(int xPosition, int yPosition, int columnCachedWidth, View column,
                  ColumnLayoutManager childLayoutManager) {
    int cellCacheWidth = getCacheWidth(yPosition, xPosition);
    View cell = childLayoutManager.findViewByPosition(xPosition);

    // Control whether the cell needs to be fitted by column header or not.
    if (cell != null) {

        if (cellCacheWidth != columnCachedWidth || mNeedSetLeft) {

            // This is just for setting width value
            if (cellCacheWidth != columnCachedWidth) {
                cellCacheWidth = columnCachedWidth;
                TableViewUtils.setWidth(cell, cellCacheWidth);

                setCacheWidth(yPosition, xPosition, cellCacheWidth);
            }

            // The left & right values of Column header can be considered. Because this
            // method will be worked
            // after drawing process of main thread.
            if (column.getLeft() != cell.getLeft() || column.getRight() != cell.getRight()) {
                // TODO: + 1 is for decoration item. It should be gotten from a generic
                // method  of layoutManager
                // Set right & left values
                cell.setLeft(column.getLeft());
                cell.setRight(column.getRight() + 1);
                childLayoutManager.layoutDecoratedWithMargins(cell, cell.getLeft(), cell
                        .getTop(), cell.getRight(), cell.getBottom());

                mNeedSetLeft = true;
            }
        }
    }
}
 
Example 8
/**
 * Returns an animator that animates the bounds of a single view.
 */
public static Animator getBoundsAnimator(View view, int fromLeft, int fromTop, int fromRight,
                                         int fromBottom, int toLeft, int toTop, int toRight, int toBottom) {
    view.setLeft(fromLeft);
    view.setTop(fromTop);
    view.setRight(fromRight);
    view.setBottom(fromBottom);

    return ObjectAnimator.ofPropertyValuesHolder(view,
            PropertyValuesHolder.ofInt(VIEW_LEFT, toLeft),
            PropertyValuesHolder.ofInt(VIEW_TOP, toTop),
            PropertyValuesHolder.ofInt(VIEW_RIGHT, toRight),
            PropertyValuesHolder.ofInt(VIEW_BOTTOM, toBottom));
}
 
Example 9
Source Project: TableView   File: CellLayoutManager.java    License: MIT License 5 votes vote down vote up
private void fit2(int xPosition, int yPosition, int columnCachedWidth, @NonNull View column,
                  @NonNull ColumnLayoutManager childLayoutManager) {
    int cellCacheWidth = getCacheWidth(yPosition, xPosition);
    View cell = childLayoutManager.findViewByPosition(xPosition);

    // Control whether the cell needs to be fitted by column header or not.
    if (cell != null) {

        if (cellCacheWidth != columnCachedWidth || mNeedSetLeft) {

            // This is just for setting width value
            if (cellCacheWidth != columnCachedWidth) {
                cellCacheWidth = columnCachedWidth;
                TableViewUtils.setWidth(cell, cellCacheWidth);

                setCacheWidth(yPosition, xPosition, cellCacheWidth);
            }

            // The left & right values of Column header can be considered. Because this
            // method will be worked
            // after drawing process of main thread.
            if (column.getLeft() != cell.getLeft() || column.getRight() != cell.getRight()) {
                // TODO: + 1 is for decoration item. It should be gotten from a generic
                // method  of layoutManager
                // Set right & left values
                cell.setLeft(column.getLeft());
                cell.setRight(column.getRight() + 1);
                childLayoutManager.layoutDecoratedWithMargins(cell, cell.getLeft(), cell
                        .getTop(), cell.getRight(), cell.getBottom());

                mNeedSetLeft = true;
            }
        }
    }
}
 
Example 10
private void setViewBounds(final View view, final int width, final int height)
{
    //TODO make this work for all versions
    view.setLeft(0);
    view.setRight(0);
    view.setRight(width);
    view.setBottom(height);
    final ViewParent parent = view.getParent();
    if (parent != null && ((View) parent).getRight() != 0 && ((View) parent).getBottom() != 0)
    {
        setViewBounds(((View) parent), width, height);
    }
}
 
Example 11
Source Project: android_9.0.0_r45   File: FastScroller.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void setValue(View object, int value) {
    object.setRight(value);
}
 
Example 12
private int fit(int xPosition, int yPosition, int left, int right, int columnCachedWidth) {
    CellRecyclerView child = (CellRecyclerView) findViewByPosition(yPosition);

    if (child != null) {
        ColumnLayoutManager childLayoutManager = (ColumnLayoutManager) child.getLayoutManager();

        int cellCacheWidth = getCacheWidth(yPosition, xPosition);
        View cell = childLayoutManager.findViewByPosition(xPosition);

        // Control whether the cell needs to be fitted by column header or not.
        if (cell != null) {

            if (cellCacheWidth != columnCachedWidth || mNeedSetLeft) {

                // This is just for setting width value
                if (cellCacheWidth != columnCachedWidth) {
                    cellCacheWidth = columnCachedWidth;
                    TableViewUtils.setWidth(cell, cellCacheWidth);

                    setCacheWidth(yPosition, xPosition, cellCacheWidth);
                }

                // Even if the cached values are same, the left & right value wouldn't change.
                // mNeedSetLeft & the below lines for it.
                if (left != IGNORE_LEFT && cell.getLeft() != left) {

                    // Calculate scroll distance
                    int scrollX = Math.max(cell.getLeft(), left) - Math.min(cell.getLeft(),
                            left);

                    // Update its left
                    cell.setLeft(left);

                    int offset = mHorizontalListener.getScrollPositionOffset();

                    // It shouldn't be scroll horizontally and the problem is gotten just for
                    // first visible item.
                    if (offset > 0 && xPosition == childLayoutManager
                            .findFirstVisibleItemPosition() && mCellRecyclerView
                            .getScrollState() != RecyclerView.SCROLL_STATE_IDLE) {

                        int scrollPosition = mHorizontalListener.getScrollPosition();
                        offset = mHorizontalListener.getScrollPositionOffset() + scrollX;

                        // Update scroll position offset value
                        mHorizontalListener.setScrollPositionOffset(offset);
                        // Scroll considering to the desired value.
                        childLayoutManager.scrollToPositionWithOffset(scrollPosition, offset);
                    }
                }

                if (cell.getWidth() != cellCacheWidth) {
                    if (left != IGNORE_LEFT) {
                        // TODO: + 1 is for decoration item. It should be gotten from a
                        // generic method  of layoutManager
                        // Set right
                        right = cell.getLeft() + cellCacheWidth + 1;
                        cell.setRight(right);

                        childLayoutManager.layoutDecoratedWithMargins(cell, cell.getLeft(),
                                cell.getTop(), cell.getRight(), cell.getBottom());
                    }

                    mNeedSetLeft = true;
                }
            }
        }
    }
    return right;
}
 
Example 13
@Override
public void set(View view, Integer right) {
    view.setRight(right);
}
 
Example 14
Source Project: TableView   File: CellLayoutManager.java    License: MIT License 4 votes vote down vote up
private int fit(int xPosition, int yPosition, int left, int right, int columnCachedWidth) {
    CellRecyclerView child = (CellRecyclerView) findViewByPosition(yPosition);

    if (child != null) {
        ColumnLayoutManager childLayoutManager = (ColumnLayoutManager) child.getLayoutManager();

        int cellCacheWidth = getCacheWidth(yPosition, xPosition);
        View cell = childLayoutManager.findViewByPosition(xPosition);

        // Control whether the cell needs to be fitted by column header or not.
        if (cell != null) {

            if (cellCacheWidth != columnCachedWidth || mNeedSetLeft) {

                // This is just for setting width value
                if (cellCacheWidth != columnCachedWidth) {
                    cellCacheWidth = columnCachedWidth;
                    TableViewUtils.setWidth(cell, cellCacheWidth);

                    setCacheWidth(yPosition, xPosition, cellCacheWidth);
                }

                // Even if the cached values are same, the left & right value wouldn't change.
                // mNeedSetLeft & the below lines for it.
                if (left != IGNORE_LEFT && cell.getLeft() != left) {

                    // Calculate scroll distance
                    int scrollX = Math.max(cell.getLeft(), left) - Math.min(cell.getLeft(),
                            left);

                    // Update its left
                    cell.setLeft(left);

                    int offset = mHorizontalListener.getScrollPositionOffset();

                    // It shouldn't be scroll horizontally and the problem is gotten just for
                    // first visible item.
                    if (offset > 0 && xPosition == childLayoutManager
                            .findFirstVisibleItemPosition() && getCellRecyclerViewScrollState() != RecyclerView.SCROLL_STATE_IDLE) {

                        int scrollPosition = mHorizontalListener.getScrollPosition();
                        offset = mHorizontalListener.getScrollPositionOffset() + scrollX;

                        // Update scroll position offset value
                        mHorizontalListener.setScrollPositionOffset(offset);
                        // Scroll considering to the desired value.
                        childLayoutManager.scrollToPositionWithOffset(scrollPosition, offset);
                    }
                }

                if (cell.getWidth() != cellCacheWidth) {
                    if (left != IGNORE_LEFT) {
                        // TODO: + 1 is for decoration item. It should be gotten from a
                        // generic method  of layoutManager
                        // Set right
                        right = cell.getLeft() + cellCacheWidth + 1;
                        cell.setRight(right);

                        childLayoutManager.layoutDecoratedWithMargins(cell, cell.getLeft(),
                                cell.getTop(), cell.getRight(), cell.getBottom());
                    }

                    mNeedSetLeft = true;
                }
            }
        }
    }
    return right;
}
 
Example 15
private Animator prepareBoundsAnimator(View child, ChildBounds bounds) {
    int startLeft = bounds.start.left;
    int startTop = bounds.start.top;
    int startRight = bounds.start.right;
    int startBottom = bounds.start.bottom;

    int endLeft = bounds.end.left;
    int endTop = bounds.end.top;
    int endRight = bounds.end.right;
    int endBottom = bounds.end.bottom;

    int changeCount = 0;

    if (startLeft != endLeft) {
        child.setLeft(startLeft);
        changeCount++;
    }
    if (startTop != endTop) {
        child.setTop(startTop);
        changeCount++;
    }
    if (startRight != endRight) {
        child.setRight(startRight);
        changeCount++;
    }
    if (startBottom != endBottom) {
        child.setBottom(startBottom);
        changeCount++;
    }

    if (changeCount == 0) {
        return null;
    }

    PropertyValuesHolder pvh[] = new PropertyValuesHolder[changeCount];
    int pvhIndex = -1;

    if (startLeft != endLeft) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("left", startLeft, endLeft);
    }
    if (startTop != endTop) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("top", startTop, endTop);
    }
    if (startRight != endRight) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("right", startRight, endRight);
    }
    if (startBottom != endBottom) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("bottom", startBottom, endBottom);
    }

    return ObjectAnimator.ofPropertyValuesHolder(child, pvh);
}
 
Example 16
private Animator prepareBoundsAnimator(View child, ChildBounds bounds) {
    int startLeft = bounds.start.left;
    int startTop = bounds.start.top;
    int startRight = bounds.start.right;
    int startBottom = bounds.start.bottom;

    int endLeft = bounds.end.left;
    int endTop = bounds.end.top;
    int endRight = bounds.end.right;
    int endBottom = bounds.end.bottom;

    int changeCount = 0;

    if (startLeft != endLeft) {
        child.setLeft(startLeft);
        changeCount++;
    }
    if (startTop != endTop) {
        child.setTop(startTop);
        changeCount++;
    }
    if (startRight != endRight) {
        child.setRight(startRight);
        changeCount++;
    }
    if (startBottom != endBottom) {
        child.setBottom(startBottom);
        changeCount++;
    }

    if (changeCount == 0) {
        return null;
    }

    PropertyValuesHolder pvh[] = new PropertyValuesHolder[changeCount];
    int pvhIndex = -1;

    if (startLeft != endLeft) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("left", startLeft, endLeft);
    }
    if (startTop != endTop) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("top", startTop, endTop);
    }
    if (startRight != endRight) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("right", startRight, endRight);
    }
    if (startBottom != endBottom) {
        pvh[++pvhIndex] = PropertyValuesHolder.ofInt("bottom", startBottom, endBottom);
    }

    return ObjectAnimator.ofPropertyValuesHolder(child, pvh);
}
 
Example 17
Source Project: fontster   File: ViewUtils.java    License: Apache License 2.0 4 votes vote down vote up
public static void reveal(Activity activity, View view, View sourceView, int colorRes) {
  if (activity == null || view == null || sourceView == null) return;
  if (isLollipop()) {
    final ViewGroupOverlay groupOverlay =
        (ViewGroupOverlay) activity.getWindow().getDecorView().getOverlay();

    final Rect displayRect = new Rect();
    view.getGlobalVisibleRect(displayRect);

    // Make reveal cover the display and status bar.
    final View revealView = new View(activity);
    revealView.setTop(displayRect.top);
    revealView.setBottom(displayRect.bottom);
    revealView.setLeft(displayRect.left);
    revealView.setRight(displayRect.right);
    revealView.setBackgroundColor(ContextCompat.getColor(activity, colorRes));
    groupOverlay.add(revealView);

    final int[] clearLocation = new int[2];
    sourceView.getLocationInWindow(clearLocation);
    clearLocation[0] += sourceView.getWidth() / 2;
    clearLocation[1] += sourceView.getHeight() / 2;

    final int revealCenterX = clearLocation[0] - revealView.getLeft();
    final int revealCenterY = clearLocation[1] - revealView.getTop();

    final double x1_2 = Math.pow(revealView.getLeft() - revealCenterX, 2);
    final double x2_2 = Math.pow(revealView.getRight() - revealCenterX, 2);
    final double y_2 = Math.pow(revealView.getTop() - revealCenterY, 2);
    final float revealRadius = (float) Math.max(Math.sqrt(x1_2 + y_2), Math.sqrt(x2_2 + y_2));

    try {
      final Animator revealAnimator =
          ViewAnimationUtils.createCircularReveal(revealView,
              revealCenterX, revealCenterY, 0.0f, revealRadius);
      revealAnimator.setDuration(
          activity.getResources().getInteger(android.R.integer.config_mediumAnimTime));

      final Animator alphaAnimator = ObjectAnimator.ofFloat(revealView, View.ALPHA, 0.0f);
      alphaAnimator.setDuration(
          activity.getResources().getInteger(android.R.integer.config_shortAnimTime));
      alphaAnimator.addListener(new AnimatorListenerAdapter() {
        @Override public void onAnimationEnd(Animator animation) {
          super.onAnimationEnd(animation);
          view.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.abc_fade_in));
          view.setVisibility(View.VISIBLE);
        }
      });

      final AnimatorSet animatorSet = new AnimatorSet();
      animatorSet.play(revealAnimator).before(alphaAnimator);
      animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
      animatorSet.addListener(new AnimatorListenerAdapter() {
        @Override public void onAnimationEnd(Animator animator) {
          groupOverlay.remove(revealView);
        }
      });

      animatorSet.start();
    } catch (IllegalStateException e) {
      Timber.i("View is detached - not animating");
    }
  } else {
    view.setVisibility(View.VISIBLE);
  }
}