Java Code Examples for android.view.View#getRight()
The following examples show how to use
android.view.View#getRight() .
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
Source Project: material-intro-screen File: CustomViewPager.java License: MIT License | 6 votes |
/** * Tests scrollability within child views of v given a delta of dx. * * @param v View to test for horizontal scrollability * @param checkV Whether the view v passed should itself be checked for scrollability (true), * or just its children (false). * @param dx Delta scrolled in pixels * @param x X coordinate of the active touch point * @param y Y coordinate of the active touch point * @return true if child views of v can be scrolled by delta of dx. */ protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { if (v instanceof ViewGroup) { final ViewGroup group = (ViewGroup) v; final int scrollX = v.getScrollX(); final int scrollY = v.getScrollY(); final int count = group.getChildCount(); // Count backwards - let topmost views consume scroll distance first. for (int i = count - 1; i >= 0; i--) { // TODO: Add versioned support here for transformed views. // This will not work for transformed views in Honeycomb+ final View child = group.getChildAt(i); if (x + scrollX >= child.getLeft() && x + scrollX < child.getRight() && y + scrollY >= child.getTop() && y + scrollY < child.getBottom() && canScroll(child, true, dx, x + scrollX - child.getLeft(), y + scrollY - child.getTop())) { return true; } } } return checkV && ViewCompat.canScrollHorizontally(v, -dx); }
Example 2
Source Project: Tweetin File: SlidingUpPanelLayout.java License: Apache License 2.0 | 6 votes |
/** * Tests scrollability within child views of v given a delta of dx. * * @param v View to test for horizontal scrollability * @param checkV Whether the view v passed should itself be checked for scrollability (true), * or just its children (false). * @param dx Delta scrolled in pixels * @param x X coordinate of the active touch point * @param y Y coordinate of the active touch point * @return true if child views of v can be scrolled by delta of dx. */ protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) { if (v instanceof ViewGroup) { final ViewGroup group = (ViewGroup) v; final int scrollX = v.getScrollX(); final int scrollY = v.getScrollY(); final int count = group.getChildCount(); // Count backwards - let topmost views consume scroll distance first. for (int i = count - 1; i >= 0; i--) { final View child = group.getChildAt(i); if (x + scrollX >= child.getLeft() && x + scrollX < child.getRight() && y + scrollY >= child.getTop() && y + scrollY < child.getBottom() && canScroll(child, true, dx, x + scrollX - child.getLeft(), y + scrollY - child.getTop())) { return true; } } } return checkV && ViewCompat.canScrollHorizontally(v, -dx); }
Example 3
Source Project: RecyclerViewAdapter File: RcvGridDecoration.java License: Apache License 2.0 | 6 votes |
public void drawHorizontal(Canvas c, RecyclerView recyclerView) { int childCount = recyclerView.getChildCount(); for (int i = 0; i < childCount; i++) { final View child = recyclerView.getChildAt(i); final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams(); final int left = child.getLeft() - params.leftMargin; final int right = child.getRight() + params.rightMargin + mDividerWidth; final int top = child.getBottom() + params.bottomMargin; final int bottom = top + mDividerHeight; if (mDividerDrawable != null) { mDividerDrawable.setBounds(left, top, right, bottom); mDividerDrawable.draw(c); } else if (mDividerPaint != null) { c.drawRect(left, top, right, bottom, mDividerPaint); } } }
Example 4
Source Project: AndroidSwipeLayout File: SwipeLayout.java License: MIT License | 6 votes |
@Override public boolean onDoubleTap(MotionEvent e) { if (mDoubleClickListener != null) { View target; View bottom = getCurrentBottomView(); View surface = getSurfaceView(); if (bottom != null && e.getX() > bottom.getLeft() && e.getX() < bottom.getRight() && e.getY() > bottom.getTop() && e.getY() < bottom.getBottom()) { target = bottom; } else { target = surface; } mDoubleClickListener.onDoubleClick(SwipeLayout.this, target == surface); } return true; }
Example 5
Source Project: RecyclerViewEvent File: DividerGridItemDecoration.java License: Apache License 2.0 | 5 votes |
public void drawHorizontal(Canvas c, RecyclerView parent) { int childCount = parent.getChildCount(); 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.getLeft() - params.leftMargin; final int right = child.getRight() + params.rightMargin + lineWidth; final int top = child.getBottom() + params.bottomMargin; final int bottom = top + lineWidth; mDivider.setBounds(left, top, right, bottom); mDivider.draw(c); } }
Example 6
Source Project: DragListView File: BoardView.java License: Apache License 2.0 | 5 votes |
public void scrollToColumn(int column, boolean animate) { if (mLists.size() <= column) { return; } View parent = (View) mLists.get(column).getParent(); MarginLayoutParams parentLayoutParams = (MarginLayoutParams) parent.getLayoutParams(); int newX = 0; switch (mSnapPosition) { case LEFT: newX = parent.getLeft() - parentLayoutParams.leftMargin; break; case CENTER: int indent = (getMeasuredWidth() - parent.getMeasuredWidth() - parentLayoutParams.leftMargin - parentLayoutParams.rightMargin) / 2; newX = parent.getLeft() - parentLayoutParams.leftMargin - indent; break; case RIGHT: newX = parent.getRight() + parentLayoutParams.rightMargin - getMeasuredWidth(); break; } int maxScroll = mRootLayout.getMeasuredWidth() - getMeasuredWidth(); newX = newX < 0 ? 0 : newX; newX = newX > maxScroll ? maxScroll : newX; if (getScrollX() != newX) { mScroller.forceFinished(true); if (animate) { mScroller.startScroll(getScrollX(), getScrollY(), newX - getScrollX(), 0, SCROLL_ANIMATION_DURATION); ViewCompat.postInvalidateOnAnimation(this); } else { scrollTo(newX, getScrollY()); } } int oldColumn = mCurrentColumn; mCurrentColumn = column; if (mBoardListener != null && oldColumn != mCurrentColumn) { mBoardListener.onFocusedColumnChanged(oldColumn, mCurrentColumn); } }
Example 7
Source Project: android-recipes-app File: ViewDragHelper.java License: Apache License 2.0 | 5 votes |
/** * Determine if the supplied view is under the given point in the * parent view's coordinate system. * * @param view Child view of the parent to hit test * @param x X position to test in the parent's coordinate system * @param y Y position to test in the parent's coordinate system * @return true if the supplied view is under the given point, false otherwise */ public boolean isViewUnder(View view, int x, int y) { if (view == null) { return false; } return x >= view.getLeft() && x < view.getRight() && y >= view.getTop() && y < view.getBottom(); }
Example 8
Source Project: CustomViewSets File: SnappyRecyclerView.java License: Apache License 2.0 | 5 votes |
@Override public void onScrollStateChanged(int state) { super.onScrollStateChanged(state); // If you tap on the phone while the RecyclerView is scrolling it will stop in the middle. // This code fixes this. This code is not strictly necessary but it improves the behaviour. if (state == SCROLL_STATE_IDLE) { LinearLayoutManager linearLayoutManager = (LinearLayoutManager) getLayoutManager(); // int screenWidth = Resources.getSystem().getDisplayMetrics().widthPixels; int screenWidth = getMeasuredWidth(); // views on the screen int lastVisibleItemPosition = linearLayoutManager.findLastVisibleItemPosition(); View lastView = linearLayoutManager.findViewByPosition(lastVisibleItemPosition); int firstVisibleItemPosition = linearLayoutManager.findFirstVisibleItemPosition(); View firstView = linearLayoutManager.findViewByPosition(firstVisibleItemPosition); // distance we need to scroll int leftMargin = (screenWidth - lastView.getWidth()) / 2; int rightMargin = (screenWidth - firstView.getWidth()) / 2 + firstView.getWidth(); int leftEdge = lastView.getLeft(); int rightEdge = firstView.getRight(); int scrollDistanceLeft = leftEdge - leftMargin; int scrollDistanceRight = rightMargin - rightEdge; if (leftEdge > screenWidth / 2) { smoothScrollBy(-scrollDistanceRight, 0); } else if (rightEdge < screenWidth / 2) { smoothScrollBy(scrollDistanceLeft, 0); } } }
Example 9
Source Project: DidiLayout File: DidiViewDragHelper.java License: Apache License 2.0 | 5 votes |
/** * Find the topmost child under the given point within the parent view's coordinate system. * The child order is determined using {@link Callback#getOrderedChildIndex(int)}. * * @param x X position to test in the parent's coordinate system * @param y Y position to test in the parent's coordinate system * @return The topmost child view under (x, y) or null if none found. */ public View findTopChildUnder(int x, int y) { final int childCount = mParentView.getChildCount(); for (int i = childCount - 1; i >= 0; i--) { final View child = mParentView.getChildAt(mCallback.getOrderedChildIndex(i)); if (x >= child.getLeft() && x < child.getRight() && y >= child.getTop() && y < child.getBottom()) { return child; } } return null; }
Example 10
Source Project: Y_DividerItemDecoration File: Y_DividerItemDecoration.java License: Apache License 2.0 | 5 votes |
private void drawChildRightVertical(View child, Canvas c, RecyclerView parent, @ColorInt int color, int lineWidthPx, int startPaddingPx, int endPaddingPx) { int topPadding = 0; int bottomPadding = 0; if (startPaddingPx <= 0) { //padding<0当作==0处理 //上下左右默认分割线的两头都出头一个分割线的宽度,避免十字交叉的时候,交叉点是空白 topPadding = -lineWidthPx; } else { topPadding = startPaddingPx; } if (endPaddingPx <= 0) { bottomPadding = lineWidthPx; } else { bottomPadding = -endPaddingPx; } RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child .getLayoutParams(); int top = child.getTop() - params.topMargin + topPadding; int bottom = child.getBottom() + params.bottomMargin + bottomPadding; int left = child.getRight() + params.rightMargin; int right = left + lineWidthPx; mPaint.setColor(color); c.drawRect(left, top, right, bottom, mPaint); }
Example 11
Source Project: AlbumSelector File: GridDividerDecorator.java License: Apache License 2.0 | 5 votes |
private void drawBottomDivider(Canvas c, RecyclerView parent) { final int childCount = parent.getChildCount(); 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.getLeft() - params.leftMargin; final int right = child.getRight() - params.rightMargin + mDividerSize; final int top = child.getBottom() + params.bottomMargin + Math.round(ViewCompat.getTranslationY(child)); final int bottom = top + mDividerSize; mDivider.setBounds(left, top, right, bottom); mDivider.draw(c); } }
Example 12
Source Project: AlbumSelector File: GridDividerDecorator.java License: Apache License 2.0 | 5 votes |
private void drawRightDivider(Canvas c, RecyclerView parent) { final int childCount = parent.getChildCount(); 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; final int right = left + mDividerSize; final int top = child.getTop() - params.topMargin; final int bottom = child.getBottom() + params.bottomMargin; mDivider.setBounds(left, top, right, bottom); mDivider.draw(c); } }
Example 13
Source Project: BigApp_Discuz_Android File: ViewDragHelper.java License: Apache License 2.0 | 5 votes |
/** * Tests scrollability within child views of v given a delta of dx. * * @param v View to test for horizontal scrollability * @param checkV Whether the view v passed should itself be checked for * scrollability (true), or just its children (false). * @param dx Delta scrolled in pixels along the X axis * @param dy Delta scrolled in pixels along the Y axis * @param x X coordinate of the active touch point * @param y Y coordinate of the active touch point * @return true if child views of v can be scrolled by delta of dx. */ protected boolean canScroll(View v, boolean checkV, int dx, int dy, int x, int y) { if (v instanceof ViewGroup) { final ViewGroup group = (ViewGroup) v; final int scrollX = v.getScrollX(); final int scrollY = v.getScrollY(); final int count = group.getChildCount(); // Count backwards - let topmost views consume scroll distance // first. for (int i = count - 1; i >= 0; i--) { // TODO: Add versioned support here for transformed views. // This will not work for transformed views in Honeycomb+ final View child = group.getChildAt(i); if (x + scrollX >= child.getLeft() && x + scrollX < child.getRight() && y + scrollY >= child.getTop() && y + scrollY < child.getBottom() && canScroll(child, true, dx, dy, x + scrollX - child.getLeft(), y + scrollY - child.getTop())) { return true; } } } return checkV && (ViewCompat.canScrollHorizontally(v, -dx) || ViewCompat.canScrollVertically(v, -dy)); }
Example 14
Source Project: light-novel-library_Wenku8_Android File: ViewDragHelper.java License: GNU General Public License v2.0 | 5 votes |
/** * Find the topmost child under the given point within the parent view's * coordinate system. The child order is determined using * {@link me.imid.swipebacklayout.lib.ViewDragHelper.Callback#getOrderedChildIndex(int)} * . * * @param x X position to test in the parent's coordinate system * @param y Y position to test in the parent's coordinate system * @return The topmost child view under (x, y) or null if none found. */ public View findTopChildUnder(int x, int y) { final int childCount = mParentView.getChildCount(); for (int i = childCount - 1; i >= 0; i--) { final View child = mParentView.getChildAt(mCallback.getOrderedChildIndex(i)); if (x >= child.getLeft() && x < child.getRight() && y >= child.getTop() && y < child.getBottom()) { return child; } } return null; }
Example 15
Source Project: letv File: ViewDragHelper.java License: Apache License 2.0 | 5 votes |
public View findTopChildUnder(int x, int y) { for (int i = this.mParentView.getChildCount() - 1; i >= 0; i--) { View child = this.mParentView.getChildAt(this.mCallback.getOrderedChildIndex(i)); if (x >= child.getLeft() && x < child.getRight() && y >= child.getTop() && y < child.getBottom()) { return child; } } return null; }
Example 16
Source Project: adt-leanback-support File: DetailsOverviewRowPresenter.java License: Apache License 2.0 | 4 votes |
private int getViewCenter(View view) { return (view.getRight() - view.getLeft()) / 2; }
Example 17
Source Project: ScrollableLayout File: PagerSlidingTabStrip.java License: MIT License | 4 votes |
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (isInEditMode() || tabCount == 0) { return; } final int height = getHeight(); // draw indicator line rectPaint.setColor(indicatorColor); // default: line below current tab View currentTab = tabsContainer.getChildAt(currentPosition); float lineLeft = currentTab.getLeft(); float lineRight = currentTab.getRight(); // if there is an offset, start interpolating left and right coordinates between current and next tab if (currentPositionOffset > 0f && currentPosition < tabCount - 1) { View nextTab = tabsContainer.getChildAt(currentPosition + 1); final float nextTabLeft = nextTab.getLeft(); final float nextTabRight = nextTab.getRight(); lineLeft = (currentPositionOffset * nextTabLeft + (1f - currentPositionOffset) * lineLeft); lineRight = (currentPositionOffset * nextTabRight + (1f - currentPositionOffset) * lineRight); } canvas.drawRect(lineLeft, height - indicatorHeight, lineRight, height, rectPaint); // draw underline rectPaint.setColor(underlineColor); canvas.drawRect(0, height - underlineHeight, tabsContainer.getWidth(), height, rectPaint); // draw divider dividerPaint.setColor(dividerColor); for (int i = 0; i < tabCount - 1; i++) { View tab = tabsContainer.getChildAt(i); canvas.drawLine(tab.getRight(), dividerPadding, tab.getRight(), height - dividerPadding, dividerPaint); } }
Example 18
Source Project: Cybernet-VPN File: ViewHelper.java License: GNU General Public License v3.0 | 4 votes |
@SuppressLint("NewApi") static int getRight(View v) { return (int) (v.getRight() + v.getTranslationX()); }
Example 19
Source Project: TvRecyclerView File: GridLayoutManager.java License: Apache License 2.0 | 4 votes |
int getOpticalRight(View view) { return view.getRight() - mDecorInsets.right; }
Example 20
Source Project: monero-wallet-android-app File: WeSwipeHelper.java License: MIT License | 4 votes |
private List<RecyclerView.ViewHolder> findSwapTargets(RecyclerView.ViewHolder viewHolder) { if (mSwapTargets == null) { mSwapTargets = new ArrayList<RecyclerView.ViewHolder>(); mDistances = new ArrayList<Integer>(); } else { mSwapTargets.clear(); mDistances.clear(); } final int margin = mCallback.getBoundingBoxMargin(); final int left = Math.round(mSelectedStartX + mDx) - margin; final int top = Math.round(mSelectedStartY + mDy) - margin; final int right = left + viewHolder.itemView.getWidth() + 2 * margin; final int bottom = top + viewHolder.itemView.getHeight() + 2 * margin; final int centerX = (left + right) / 2; final int centerY = (top + bottom) / 2; final RecyclerView.LayoutManager lm = mRecyclerView.getLayoutManager(); final int childCount = lm.getChildCount(); for (int i = 0; i < childCount; i++) { View other = lm.getChildAt(i); if (other == viewHolder.itemView) { continue; //myself! } if (other.getBottom() < top || other.getTop() > bottom || other.getRight() < left || other.getLeft() > right) { continue; } final RecyclerView.ViewHolder otherVh = mRecyclerView.getChildViewHolder(other); if (mCallback.canDropOver(mRecyclerView, mSelected, otherVh)) { // find the index to add final int dx = Math.abs(centerX - (other.getLeft() + other.getRight()) / 2); final int dy = Math.abs(centerY - (other.getTop() + other.getBottom()) / 2); final int dist = dx * dx + dy * dy; int pos = 0; final int cnt = mSwapTargets.size(); for (int j = 0; j < cnt; j++) { if (dist > mDistances.get(j)) { pos++; } else { break; } } mSwapTargets.add(pos, otherVh); mDistances.add(pos, dist); } } return mSwapTargets; }