diff --git a/library/src/couk/jenxsol/parallaxscrollview/views/ParallaxScrollView.java b/library/src/couk/jenxsol/parallaxscrollview/views/ParallaxScrollView.java index c6ce814..af2122e 100644 --- a/library/src/couk/jenxsol/parallaxscrollview/views/ParallaxScrollView.java +++ b/library/src/couk/jenxsol/parallaxscrollview/views/ParallaxScrollView.java @@ -178,10 +178,7 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) if (mScrollView != null) { - measureChild(mScrollView, MeasureSpec.makeMeasureSpec( - MeasureSpec.getSize(widthMeasureSpec), MeasureSpec.AT_MOST), - MeasureSpec.makeMeasureSpec(MeasureSpec.getSize(heightMeasureSpec), - MeasureSpec.AT_MOST)); + measureChildren(widthMeasureSpec, heightMeasureSpec); mScrollContentHeight = mScrollView.getChildAt(0).getMeasuredHeight(); mScrollViewHeight = mScrollView.getMeasuredHeight(); @@ -218,9 +215,11 @@ protected void onLayout(boolean changed, int left, int top, int right, int botto { final FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) mScrollView .getLayoutParams(); - - final int width = mScrollView.getMeasuredWidth(); - final int height = mScrollView.getMeasuredHeight(); + + @SuppressWarnings("deprecation") + final int width = (lp.width==LayoutParams.MATCH_PARENT||lp.width==LayoutParams.FILL_PARENT)?this.getWidth():mScrollView.getMeasuredWidth(); + @SuppressWarnings("deprecation") + final int height = (lp.height==LayoutParams.MATCH_PARENT||lp.height==LayoutParams.FILL_PARENT)?this.getHeight():mScrollView.getMeasuredHeight(); int childLeft; int childTop; @@ -265,14 +264,13 @@ protected void onLayout(boolean changed, int left, int top, int right, int botto default: childTop = parentTop + lp.topMargin; } - mScrollView.layout(childLeft, childTop, childLeft + width, childTop + height); } if (mBackground != null) { - final int scrollYCenterOffset = -mScrollView.getScrollY(); + final int scrollYCenterOffset = mScrollView.getScrollY(); final int offset = (int) (scrollYCenterOffset * mScrollDiff); // Log.d(TAG, "Layout Scroll Y: " + scrollYCenterOffset + // " ScrollDiff: " + mScrollDiff