diff --git a/build.gradle b/build.gradle index 36777fc..08696ee 100644 --- a/build.gradle +++ b/build.gradle @@ -5,9 +5,10 @@ buildscript { repositories { maven { url 'https://maven.google.com' } jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.android.tools.build:gradle:3.4.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 52e44f3..c5dab44 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Sep 30 14:01:47 EEST 2017 +#Mon May 06 18:54:08 WAT 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip diff --git a/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayout.java b/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayout.java index 4138890..502379c 100644 --- a/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayout.java +++ b/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayout.java @@ -355,6 +355,10 @@ private void notifyListener() { } } + public boolean hasToolbar() { + return settings.hasToolbar(); + } + @TargetApi(Build.VERSION_CODES.LOLLIPOP) @Override public ViewOutlineProvider getOutlineProvider() { diff --git a/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutBehavior.java b/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutBehavior.java index 485cb9a..da82765 100644 --- a/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutBehavior.java +++ b/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutBehavior.java @@ -12,11 +12,9 @@ public class ScalingLayoutBehavior extends CoordinatorLayout.Behavior { - private final float toolbarHeightInPixel; public ScalingLayoutBehavior(Context context, AttributeSet attrs) { super(context, attrs); - toolbarHeightInPixel = context.getResources().getDimensionPixelSize(R.dimen.sl_toolbar_size); } @Override @@ -27,6 +25,10 @@ public boolean layoutDependsOn(CoordinatorLayout parent, ScalingLayout child, Vi @Override public boolean onDependentViewChanged(CoordinatorLayout parent, ScalingLayout child, View dependency) { int totalScrollRange = ((AppBarLayout) dependency).getTotalScrollRange(); + int toolbarHeightInPixel ; + if(child.hasToolbar()) toolbarHeightInPixel = parent.getContext().getResources().getDimensionPixelSize(R.dimen.sl_toolbar_size); + else toolbarHeightInPixel = 0 ; + child.setProgress((-dependency.getY()) / totalScrollRange); if (totalScrollRange + dependency.getY() > (float) child.getMeasuredHeight() / 2) { child.setTranslationY(totalScrollRange + dependency.getY() + toolbarHeightInPixel - (float) child.getMeasuredHeight() / 2); diff --git a/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutSettings.java b/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutSettings.java index 1864807..5179396 100644 --- a/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutSettings.java +++ b/scalinglib/src/main/java/iammert/com/view/scalinglib/ScalingLayoutSettings.java @@ -18,10 +18,12 @@ public class ScalingLayoutSettings { private float maxRadius; private float elevation; private boolean isInitialized = false; + private boolean hasToolbar ; public ScalingLayoutSettings(Context context, AttributeSet attributeSet) { TypedArray typedArray = context.obtainStyledAttributes(attributeSet, R.styleable.ScalingLayout); radiusFactor = typedArray.getFloat(R.styleable.ScalingLayout_radiusFactor, DEFAULT_RADIUS_FACTOR); + hasToolbar = typedArray.getBoolean(R.styleable.ScalingLayout_hasToolbar,false); maxWidth = context.getResources().getDisplayMetrics().widthPixels; typedArray.recycle(); @@ -62,4 +64,8 @@ public void setElevation(float elevation) { public float getElevation() { return elevation; } + + public boolean hasToolbar() { + return hasToolbar; + } } diff --git a/scalinglib/src/main/res/values/attrs.xml b/scalinglib/src/main/res/values/attrs.xml index 8ea1a9d..aeeed69 100644 --- a/scalinglib/src/main/res/values/attrs.xml +++ b/scalinglib/src/main/res/values/attrs.xml @@ -3,6 +3,7 @@ + \ No newline at end of file