Java Code Examples for android.view.View#getHeight()
The following examples show how to use
android.view.View#getHeight() .
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 File: TwoWayGridView.java From recent-images with MIT License | 6 votes |
@Override protected int computeVerticalScrollOffset() { if (mFirstPosition >= 0 && getChildCount() > 0 && mScrollVertically) { final View view = getChildAt(0); final int top = view.getTop(); int height = view.getHeight(); if (height > 0) { final int numColumns = mNumColumns; final int whichRow = mFirstPosition / numColumns; final int rowCount = (mItemCount + numColumns - 1) / numColumns; return Math.max(whichRow * 100 - (top * 100) / height + (int) ((float) getScrollY() / getHeight() * rowCount * 100), 0); } } return 0; }
Example 2
Source File: AnimatorProxy.java From KJFrameForAndroid with Apache License 2.0 | 5 votes |
private void transformMatrix(Matrix m, View view) { final float w = view.getWidth(); final float h = view.getHeight(); final boolean hasPivot = mHasPivot; final float pX = hasPivot ? mPivotX : w / 2f; final float pY = hasPivot ? mPivotY : h / 2f; final float rX = mRotationX; final float rY = mRotationY; final float rZ = mRotationZ; if ((rX != 0) || (rY != 0) || (rZ != 0)) { final Camera camera = mCamera; camera.save(); camera.rotateX(rX); camera.rotateY(rY); camera.rotateZ(-rZ); camera.getMatrix(m); camera.restore(); m.preTranslate(-pX, -pY); m.postTranslate(pX, pY); } final float sX = mScaleX; final float sY = mScaleY; if ((sX != 1.0f) || (sY != 1.0f)) { m.postScale(sX, sY); final float sPX = -(pX / w) * ((sX * w) - w); final float sPY = -(pY / h) * ((sY * h) - h); m.postTranslate(sPX, sPY); } m.postTranslate(mTranslationX, mTranslationY); }
Example 3
Source File: HeaderPositionCalculator.java From ZhiHu-TopAnswer with Apache License 2.0 | 5 votes |
private boolean isStickyHeaderBeingPushedOffscreen(RecyclerView recyclerView, View stickyHeader) { View viewAfterHeader = getFirstViewUnobscuredByHeader(recyclerView, stickyHeader); int firstViewUnderHeaderPosition = recyclerView.getChildAdapterPosition(viewAfterHeader); if (firstViewUnderHeaderPosition == RecyclerView.NO_POSITION) { return false; } boolean isReverseLayout = mOrientationProvider.isReverseLayout(recyclerView); if (firstViewUnderHeaderPosition > 0 && hasNewHeader(firstViewUnderHeaderPosition, isReverseLayout)) { View nextHeader = mHeaderProvider.getHeader(recyclerView, firstViewUnderHeaderPosition); mDimensionCalculator.initMargins(mTempRect1, nextHeader); mDimensionCalculator.initMargins(mTempRect2, stickyHeader); if (mOrientationProvider.getOrientation(recyclerView) == LinearLayoutManager.VERTICAL) { int topOfNextHeader = viewAfterHeader.getTop() - mTempRect1.bottom - nextHeader.getHeight() - mTempRect1.top; int bottomOfThisHeader = recyclerView.getPaddingTop() + stickyHeader.getBottom() + mTempRect2.top + mTempRect2.bottom; if (topOfNextHeader < bottomOfThisHeader) { return true; } } else { int leftOfNextHeader = viewAfterHeader.getLeft() - mTempRect1.right - nextHeader.getWidth() - mTempRect1.left; int rightOfThisHeader = recyclerView.getPaddingLeft() + stickyHeader.getRight() + mTempRect2.left + mTempRect2.right; if (leftOfNextHeader < rightOfThisHeader) { return true; } } } return false; }
Example 4
Source File: ELinkageScrollLayout.java From ELinkageScroll with Apache License 2.0 | 5 votes |
/** * 判断target是否可滚动 * * @param target * @return */ private boolean isTargetScrollable(View target) { LinkageScrollHandler linkageScrollHandler = getLinkageScrollHandler(target); boolean isScrollable = linkageScrollHandler.isScrollable(); return isScrollable && (target.getHeight() >= getHeight()); }
Example 5
Source File: ViewUtil.java From SimpleProject with MIT License | 5 votes |
/** * 点击点是否在指定View内 * @param view * @param x * @param y * @return */ public static boolean pointInView(View view, int x, int y) { int[] position = new int[2]; view.getLocationOnScreen(position); int right = view.getWidth() + position[0]; int bottom = view.getHeight() + position[1]; return x >= position[0] && x <= right && y >= position[1] && y < bottom; }
Example 6
Source File: VerticalViewPager.java From Slide with GNU General Public License v3.0 | 5 votes |
@Override public void transformPage(View view, float position) { if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. view.setAlpha(0); } else if (position <= 0) { // [-1,0] // Use the default slide transition when moving to the left page view.setAlpha(1); // Counteract the default slide transition view.setTranslationX(view.getWidth() * -position); //set Y position to swipe in from top float yPosition = position * view.getHeight(); view.setTranslationY(yPosition); view.setScaleX(1); view.setScaleY(1); } else if (position <= 1) { // [0,1] view.setAlpha(1); // Counteract the default slide transition view.setTranslationX(view.getWidth() * -position); // Scale the page down (between MIN_SCALE and 1) float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position)); view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); } else { // (1,+Infinity] // This page is way off-screen to the right. view.setAlpha(0); } }
Example 7
Source File: MyScrollView.java From prayer-times-android with Apache License 2.0 | 5 votes |
/** * @return Returns true this ScrollView can be scrolled */ private boolean canScroll() { View child = getChildAt(0); if (child != null) { int childHeight = child.getHeight(); return getHeight() < (childHeight + getPaddingTop() + getPaddingBottom()); } return false; }
Example 8
Source File: ZoomOutPageTransformer.java From iBeebo with GNU General Public License v3.0 | 5 votes |
public void transformPage(View view, float position) { int pageWidth = view.getWidth(); int pageHeight = view.getHeight(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. view.setAlpha(0); } else if (position <= 1) { // [-1,1] // Modify the default slide transition to shrink the page as well float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position)); float vertMargin = pageHeight * (1 - scaleFactor) / 2; float horzMargin = pageWidth * (1 - scaleFactor) / 2; if (position < 0) { view.setTranslationX(horzMargin - vertMargin / 2); } else { view.setTranslationX(-horzMargin + vertMargin / 2); } // Scale the page down (between MIN_SCALE and 1) view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); // Fade the page relative to its size. view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA)); } else { // (1,+Infinity] // This page is way off-screen to the right. view.setAlpha(0); } }
Example 9
Source File: ParallaxBackLayout.java From ParallaxBackLayout with MIT License | 5 votes |
@Override public void onViewReleased(View releasedChild, float xvel, float yvel) { final int childWidth = releasedChild.getWidth(); final int childHeight = releasedChild.getHeight(); boolean fling = false; int left = mInsets.left, top = 0; if ((mTrackingEdge & EDGE_LEFT) != 0) { if (Math.abs(xvel) > mFlingVelocity) { fling = true; } left = xvel >= 0 && (fling || mScrollPercent > mScrollThreshold) ? childWidth + mInsets.left : mInsets.left; } if ((mTrackingEdge & EDGE_RIGHT) != 0) { if (Math.abs(xvel) > mFlingVelocity) { fling = true; } left = xvel <= 0 && (fling || mScrollPercent > mScrollThreshold) ? -childWidth + mInsets.left : mInsets.left; } if ((mTrackingEdge & EDGE_TOP) != 0) { if (Math.abs(yvel) > mFlingVelocity) { fling = true; } top = yvel >= 0 && (fling || mScrollPercent > mScrollThreshold) ? childHeight : 0; } if ((mTrackingEdge & EDGE_BOTTOM) != 0) { if (Math.abs(yvel) > mFlingVelocity) { fling = true; } top = yvel <= 0 && (fling || mScrollPercent > mScrollThreshold) ? -childHeight + getSystemTop() : 0; } mDragHelper.settleCapturedViewAt(left, top); invalidate(); }
Example 10
Source File: BasePopupWindow.java From FilterTabView with Apache License 2.0 | 5 votes |
/** * 适配Android7.0 * * @param anchor */ @Override public void showAsDropDown(View anchor) { setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); refreshData(); if (Build.VERSION.SDK_INT >= 25) { Rect rect = new Rect(); anchor.getGlobalVisibleRect(rect); int mHeight = Utils.getScreenHeight(mContext) - rect.bottom; setHeight(mHeight); super.showAsDropDown(anchor); } else if (Build.VERSION.SDK_INT == 24) { int[] a = new int[2]; anchor.getLocationInWindow(a); int heignt = anchor.getHeight(); this.showAtLocation(mActivity.getWindow().getDecorView(), Gravity.NO_GRAVITY, 0, a[1] + heignt); this.update(); } else { super.showAsDropDown(anchor); } int height = 0; if (mRootView.getMeasuredHeight() == 0) { height = getHeight(); } else { height = mRootView.getMeasuredHeight(); } createInAnimation(mContext, -height); }
Example 11
Source File: DonateThanksHelper.java From UTubeTV with The Unlicense | 5 votes |
public ContentView(Activity activity) { mActivity = activity; LayoutInflater inflate = LayoutInflater.from(activity); mView = (ViewGroup) inflate.inflate(R.layout.view_donate_thanks, null); ObjectAnimator scaleXDown = ObjectAnimator.ofFloat(mView, "alpha", .8f); scaleXDown.setRepeatMode(ValueAnimator.REVERSE); scaleXDown.setDuration(1000); scaleXDown.setRepeatCount(ValueAnimator.INFINITE); scaleXDown.start(); Drawable heartDrawable = ToolbarIcons.icon(mView.getContext(), ToolbarIcons.IconID.HEART, 0xffffffff, mIconSize); heartDrawable.setAlpha(233); Bitmap heartBitmap = Utils.drawableToBitmap(heartDrawable, mIconSize, mIconSize); int offsetX = 0; int offsetY = 0; View content = activity.getWindow().findViewById(android.R.id.content); mDisplaySize = new Point(content.getWidth(), content.getHeight()); // Utils.getDisplaySize(activity); int maxY = mDisplaySize.y - mIconSize; int maxX = mDisplaySize.x - mIconSize; for (int y = 0; y < maxY; y += mIconSize) { for (int x = 0; x < maxX; x += mIconSize) { addImageView(activity, heartBitmap, x, y); } } showThankYouText(); }
Example 12
Source File: CircularReveal.java From Melophile with Apache License 2.0 | 5 votes |
@Override public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) { if (view == null || view.getHeight() == 0 || view.getWidth() == 0) return null; ensureCenterPoint(sceneRoot, view); return new PauseLessAnimator(ViewAnimationUtils.createCircularReveal( view, center.x, center.y, startRadius, getFullyRevealedRadius(view))); }
Example 13
Source File: GuideView.java From ShowCaseView with Apache License 2.0 | 5 votes |
private boolean isViewContains(View view, float rx, float ry) { int[] location = new int[2]; view.getLocationOnScreen(location); int x = location[0]; int y = location[1]; int w = view.getWidth(); int h = view.getHeight(); return !(rx < x || rx > x + w || ry < y || ry > y + h); }
Example 14
Source File: AbstractPagerLLM.java From MultiView with Apache License 2.0 | 5 votes |
@Override public void onScrollStateChanged(int newState) { if (newState == RecyclerView.SCROLL_STATE_DRAGGING) { isIdle = false; Log.d("onScrollStateChanged DRAGGING"); //reset adjusted gdx = 0; gdy = 0; adjusted = false; //just in case adjustOnScroll = false; prevPos = getCurrentPage(); View currView = findViewByPosition(prevPos); if (currView != null) { vx = currView.getWidth(); vy = currView.getHeight(); } } else if (newState == RecyclerView.SCROLL_STATE_SETTLING) { isIdle = false; Log.d("onScrollStateChanged SETTLING"); adjust(); } else if (newState == RecyclerView.SCROLL_STATE_IDLE) { isIdle = true; Log.d("onScrollStateChanged IDLE"); adjust(); } }
Example 15
Source File: CircularReveal.java From android-proguards with Apache License 2.0 | 5 votes |
@Override public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) { if (view == null || view.getHeight() == 0 || view.getWidth() == 0) return null; ensureCenterPoint(sceneRoot, view); return new AnimUtils.NoPauseAnimator(ViewAnimationUtils.createCircularReveal( view, center.x, center.y, startRadius, getFullyRevealedRadius(view))); }
Example 16
Source File: FastScroller.java From Audinaut with GNU General Public License v3.0 | 4 votes |
private void onUpdateScroll(int dx, int dy) { if (recyclerView.getWidth() == 0) { return; } registerAdapter(); View firstVisibleView = recyclerView.getChildAt(0); if (firstVisibleView == null) { return; } int firstVisiblePosition = recyclerView.getChildAdapterPosition(firstVisibleView); int itemCount = recyclerView.getAdapter().getItemCount(); int columns = Math.round(recyclerView.getWidth() / firstVisibleView.getWidth()); if (visibleRange == -1) { visibleRange = recyclerView.getChildCount(); } // Add the percentage of the item the user has scrolled past already float pastFirst = -firstVisibleView.getY() / firstVisibleView.getHeight() * columns; float position = firstVisiblePosition + pastFirst; // Scale this so as we move down the visible range gets added to position from 0 -> visible range float scaledVisibleRange = position / (float) (itemCount - visibleRange) * visibleRange; position += scaledVisibleRange; float proportion = position / itemCount; setBubbleAndHandlePosition(height * proportion); if ((visibleRange * 2) < itemCount) { if (!hasScrolled && (dx > 0 || dy > 0)) { setVisibility(View.VISIBLE); hasScrolled = true; recyclerView.setVerticalScrollBarEnabled(false); } } else if (hasScrolled) { setVisibility(View.GONE); hasScrolled = false; recyclerView.setVerticalScrollBarEnabled(true); } }
Example 17
Source File: ItemTouchHelper.java From Telegram with GNU General Public License v2.0 | 4 votes |
private static boolean hitTest(View child, float x, float y, float left, float top) { return x >= left && x <= left + child.getWidth() && y >= top && y <= top + child.getHeight(); }
Example 18
Source File: ReaderViewPagerTransformer.java From SwipePlaybarDemo with Apache License 2.0 | 4 votes |
public void transformPage(View page, float position) { final float alpha; final float scale; final float translationX; switch (mTransformType) { case FLOW: page.setRotationY(position * -30f); return; case SLIDE_OVER: if (position < 0 && position > -1) { // this is the page to the left scale = Math.abs(Math.abs(position) - 1) * (1.0f - SCALE_FACTOR_SLIDE) + SCALE_FACTOR_SLIDE; alpha = Math.max(MIN_ALPHA_SLIDE, 1 - Math.abs(position)); int pageWidth = page.getWidth(); float translateValue = position * -pageWidth; if (translateValue > -pageWidth) { translationX = translateValue; } else { translationX = 0; } } else { alpha = 1; scale = 1; translationX = 0; } break; case DEPTH: if (position > 0 && position < 1) { // moving to the right alpha = (1 - position); scale = MIN_SCALE_DEPTH + (1 - MIN_SCALE_DEPTH) * (1 - Math.abs(position)); translationX = (page.getWidth() * -position); } else { // use default for all other cases alpha = 1; scale = 1; translationX = 0; } break; case ZOOM: if (position >= -1 && position <= 1) { scale = Math.max(MIN_SCALE_ZOOM, 1 - Math.abs(position)); alpha = MIN_ALPHA_ZOOM + (scale - MIN_SCALE_ZOOM) / (1 - MIN_SCALE_ZOOM) * (1 - MIN_ALPHA_ZOOM); float vMargin = page.getHeight() * (1 - scale) / 2; float hMargin = page.getWidth() * (1 - scale) / 2; if (position < 0) { translationX = (hMargin - vMargin / 2); } else { translationX = (-hMargin + vMargin / 2); } } else { alpha = 1; scale = 1; translationX = 0; } break; default: return; } page.setAlpha(alpha); page.setTranslationX(translationX); page.setScaleX(scale); page.setScaleY(scale); }
Example 19
Source File: Popup.java From media-for-mobile with Apache License 2.0 | 4 votes |
public void show(View anchor, boolean center) { contentView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED); int contentWidth = contentView.getMeasuredWidth(); int contentHeight = contentView.getMeasuredHeight(); DisplayMetrics metrics = context.getResources().getDisplayMetrics(); int screenWidth = metrics.widthPixels; int screenHeight = metrics.heightPixels; int xPos = 0; int yPos = 0; boolean onTop = true; boolean onLeft = true; int gravity = Gravity.NO_GRAVITY; if (center) { xPos = 0; yPos = 0; gravity = Gravity.CENTER; } else { int[] location = new int[2]; anchor.getLocationOnScreen(location); Rect anchorRect = new Rect(location[0], location[1], location[0] + anchor.getWidth(), location[1] + anchor.getHeight()); if ((anchorRect.left + contentWidth) > screenWidth) { if (anchorRect.right - contentWidth < 0) { xPos = screenWidth - contentWidth - 4; } else { xPos = anchorRect.right - contentWidth; } onLeft = false; } else { xPos = anchorRect.left; onLeft = true; } if (anchorRect.top < screenHeight / 2) { yPos = anchorRect.bottom + 4; onTop = true; } else { yPos = anchorRect.top - contentHeight - 4; onTop = false; } if (onTop) { if (onLeft) { setAnimationStyle(R.style.Popups_Down_Left); } else { setAnimationStyle(R.style.Popups_Down_Right); } } else { if (onLeft) { setAnimationStyle(R.style.Popups_Up_Left); } else { setAnimationStyle(R.style.Popups_Up_Right); } } } setOnDismissListener(this); onShow(); showAtLocation(anchor, gravity, xPos, yPos); }
Example 20
Source File: FTouchHelper.java From switchbutton with MIT License | 3 votes |
/** * view是否处于某个坐标点下面,相对屏幕的坐标 * * @param view * @param x * @param y * @return */ public static boolean isViewUnderScreen(View view, int x, int y) { final int[] location = new int[2]; view.getLocationOnScreen(location); return x >= location[0] && x < location[0] + view.getWidth() && y >= location[1] && y < location[1] + view.getHeight(); }